Human and Social Factors of Change
As with many other areas of software, user interface, and usability, the factors of change are non-linear, non-orthogonal, and non-deterministic. The effects of change are sometimes unpredictable in terms of the human and social elements at a point in time. Some of the human and social factors are depicted in Figure 6. Though Stress, Attitudes, and Satisfaction are depicted, there are others.
Figure 6 Human and social factors.
Change is expected on projects. Uncontrolled and continuous change is not expected and always surprising. A development team with a large and complex function set, stringent quality requirements, and a constrained schedule will feel some stress. Team satisfaction and productivity may suffer, along with attitudes related to commitment to the project and the job. Project features, costs, and quality will suffer as a result.
Rule of Thumb
If change is not controlled and managed, human and social factors associated with a project are affected negatively, and more project mistakes happen.
Typical problems experienced with late changes during an already busy schedule include the following:
Identifying software components that must change
Accurately sizing the change to design and construction
Identifying the right person(s) to make the change
Selecting the right time to make the change
Balancing people and work if the right people are not available at the right time
The later in a project schedule that change happens, the higher the risk and cost. The later changes happen, the more that has to be re-planned, re-worked, re-specified, and re-tested (at a minimum). If management doesn't like to build throwaway prototypes, they should be livid about throwing away prior plans, requirements, design, code, and test results.
Even if changes are deemed acceptable to introduce into a project under the right conditions, remember that calendar time is sometimes required to "simmer" a design and understand its real implications.
Rule of Thumb
Time is the essence.