Concepts: Effect of Implementing a Process
Process changes are difficult and it may take time to see their true effects.
It is relatively easy and fast to adopt a new tool- you install it, read the
user's guide, go through an example, and maybe attend a training course. This
transition can last from a few hours to several weeks, however, changing the
software development process often means affecting the fundamental beliefs and
values of the individuals involved, changing the way they perceive their work,
and how they perceive its value. It is a cultural change that's almost political
or philosophical in nature.
A process change affects the individuals and the organization more deeply
than changing technology or tools. It must be carefully planned and managed. The
adopting organization must identify the opportunity and the benefits, convey
them clearly to the interested parties, raise their level of awareness, and then
gradually change from the current practice to a new one. Ivar Jacobson describes
this as "reengineering your software engineering process".
The following areas must be addressed when implementing a process:
- The people and their competencies, skills, motivation, and attitude:
everyone needs to be adequately trained and motivated.
- The supporting tools: new tools will inevitably replace old ones,
requiring customization and integration with the others
- The software development life cycle model, its dependent organizational
structure, underlying activities, and practices together with the artifacts
that are produced
- The actual description of the software development process
There are other areas in addition to those mentioned above that affect the
way people work. For example, the physical working environment, organizational
culture and politics, and the reward structure.
In addition to those people inside the software development organization, you
must also take into consideration the people outside of that organization who
will be affected by these changes, such as:
- Managers, who are responsible for the performance of the software
development organization must understand why the process is being changed
and why new tools are being procured. It's important that they understand
how, and if, progress is being made. Any process improvement project must
have executive support. Management needs to understand that a return on the
investment is being made in changing the process and also that expectations
need to be carefully managed.
- Customers may need to be informed that the organizational process has
changed because it could affect how and when their input will be addressed.
- Other parts of the software development organization may also be affected.
Sometimes changes in one part of the organization may lead to resistance and
skepticism from other parts of the organization. The reason is often that
they don't understand the reasons for the changes. Even if they don't have a
direct influence, it may cause political problems.
| |
|