Guideline: Planning Method Adoption
This guideline helps you plan for the successful adoption of process improvements in your organization.
Relationships
Related Elements
Main Description

Consider the effects of process change

Process changes are difficult and it may take time to see their true effects. It can be relatively easy and fast to adopt a new too. 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 is 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 is 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.

Attitudes

Negative attitudes among an organization's personnel toward changing to a new technology, a new process or new tools is probably the biggest threat toward the successful implementation of process and tools. Over-enthusiasm toward process can also be a problem, because it can cause people to focus too much on the process.

To assess people's attitudes towards the new technology, process, and tools ask questions like:

  • What benefits do you see with the new technology? Will the new technology solve any of today's problems? What problems do you see with the new technology?
  • What benefits do you see with the new process? Will the new process solve any of today's problems? What problems do you see with the new process?
  • What benefits do you see with the new tools? Will the new tools solve any of today's problems? What problems do you see with the new tools?

To assess people's motivation, find answers to questions like:

  • Does everybody in the organization see why change is needed?
  • Is everybody aware of what their competition is doing and how that affects the business?
  • Is everybody aware of technology changes in the industry and how they affect the business?


Signs of a negative attitude may include statements like these:

  • "Process doesn't help, it hinders."
  • "Process means producing a lot of documents."
  • "The process is overwhelming."


Some ways to handle negative attitudes are:

  • Motivate people by pointing at today's problems.
  • Explain that a process doesn't dictate what you should do. The process must primarily be looked upon as a "help system", where you look for guidance, definitions, and so on.
  • Explain that you only use small sections of the process. Nobody can master the entire process, and that is not the purpose. Compare the process to a bookshelf of books you read as you need their information.
  • Run a successful pilot project where you show that the new process and tools work. Include one or two skeptics in the pilot project.

Signs of over-enthusiasm include:

  • People rely completely on the process and think it will solve all of their problems.
  • Process is the silver bullet or magic formula that, if followed, will guarantee success.
  • The project team wants to spend a lot of time and effort tailoring the process without first assessing the process-related problems that need resolution.


Some ways to handle over-enthusiasm are:

  • Set expectations. The process will help, but it will not solve the problems. People solve problems.
  • Talk people out of spending a lot of time tailoring the process.
  • Focus people on developing the software products.

Introduce improvements incrementally

In most cases, you will not replace the software delivery process currently in practice in the organization. You will implement the new delivery process step-by-step, focusing on the more critical and important areas first. Some of the current software delivery process may even continue to exist for some time, perhaps forever.