I am currently reading a book "PHP Team Development". Just started to read it.
In the starting pages, it emphasizes about agile methodology of software development. In the page 12 of the book, It lists out the premises of the agile development.
Excerpts from the book
The values emphasized by agile methodology are:
Individuals and interactions over processes and controls.
Working software over comprehensive documentation.
customer collaboration over contract negotiation.
Responding to change over following a plan
Level 1 - Initial (Chaotic)
It is characteristic of processes at this level that they are (typically) undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events. This provides a chaotic or unstable environment for the processes.
Level 2 - Repeatable
It is characteristic of processes at this level that some processes are repeatable, possibly with consistent results. Process discipline is unlikely to be rigorous, but where it exists it may help to ensure that existing processes are maintained during times of stress.
Level 3 - Defined
It is characteristic of processes at this level that there are sets of defined and documented standard processes established and subject to some degree of improvement over time. These standard processes are in place (i.e., they are the AS-IS processes) and used to establish consistency of process performance across the organization.
Level 4 - Managed
It is characteristic of processes at this level that, using process metrics, management can effectively control the AS-IS process (e.g., for software development ). In particular, management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications. Process Capability is established from this level.
Level 5 - Optimized
It is a characteristic of processes at this level that the focus is on continually improving process performance through both incremental and innovative technological changes/improvements
just an eye-opener for me. It made me think that how the companies who follow SEI-CMM level 4 and 5 guidelines follow the agile processes. Both are different and poles apart.
Agile emphasises on Individuals and interactions while SEI-CMM emphasises on processes and makes the development more process-centric.
It looks like Agile is just a fad for some development companies.