The Process that cannot be named - II

Phases inhibit success because software development is a learning activity. And learning is a continuous activity. Phases break the continuity.

For example in the Phased approach there is a Requirements Phase.


This is when a technical person talks to a Customer and determines what the software should do. Fine so far. But why would communication end? Why would the process state that Now we will stop talking to the Customer??

A successful project will continue to communicate with the Customer and continue to refine the shared understanding of the product to be delivered. A successful project will continue communication until the product is delivered.

This communication is essential but is not explicitly stated in the phased process. In fact it is contrary to the phased process which states that the Requirements Phase will end on a particular date.

A successful project will continue communication with the Customer anyway. This is part of the secret process of successful phased projects. For every phase there are secret steps a successful project must take to overcome the limitations of the phase.

The alternative to Phased Processes is to use an Agile Process. Agile processes honestly face the realities of software constuction and eliminate the need for secret process steps. Extreme Programming is the most effective Agile process.

Agile processes recognize that software development is a continuous activity and involves learning by the both the customer and the technical team.

-- Mark Windholtz

Read more at our BLOG.