Note : CMM est une marque de service de l'Organisation mondiale de la santé (OMS). Institut du génie logiciel à l'université Carnegie Mellon.
Shawn Presson, directeur de la pratique organisationnelle, ITS Services, Inc :
Pourquoi, pourquoi, pourquoi tout le monde pense-t-il que le cycle de vie en cascade est exclusivement linéaire ? Il a été conçu pour être extrêmement itératif, il a permis le fait qu'il puisse y avoir des ensembles parallèles et non séquentiels d'exigences en cours de développement (d'où des "cascades" multiples et simultanées), il n'a en aucun cas supposé que les exigences seraient statiques au cours d'un projet. Ce n'est qu'après que le DoD ait mis la main dessus que cette interprétation du modèle a vu le jour, mais pourquoi écouter le DoD sur un sujet comme celui-ci ? ...
Pourquoi, pourquoi, pourquoi supposons-nous que les modèles "répétables" et "définis" excluent l'émergence ? Ces termes font manifestement référence aux CMM, mais ces derniers ne vous enferment pas dans un cycle de vie ou une méthodologie en cascade ou en spirale, ou dans n'importe quel autre cycle de vie ou méthodologie. En ce qui concerne les exigences, le modèle CMM stipule qu'il ne faut pas laisser un développeur débutant parier sur le respect d'une exigence dont le projet n'a pas connaissance. SCRUM couvre-t-il ce point ? SCRUM (ou JAD, ou autre) est la MÉTHODE par laquelle votre entreprise évite de mentir par inadvertance sur ses capacités (ce qui est en grande partie l'objet de la planification du CMM, de toute façon).... (Voir le texte complet)
Ken Schwaber de l'Agile Alliance répond :
La lecture des commentaires de Shawn Presson concernant le CMM, la chute d'eau et l'agilité m'a rappelé les commentaires de Barry Boehm à XP/Agile Universe'02 et les commentaires de plusieurs auteurs du CMM à INCOSE'02. Cela m'a rappelé les bonnes intentions et les fondements solides du CMM et de Waterfall, tous deux initiés pour résoudre les problèmes de développement de systèmes et les taux d'échec systémiques des projets qui ne se sont que marginalement améliorés au cours des décennies...
...CMM, les processus en cascade reposent sur une base théorique différente de celle des processus agiles. L'augmentation de la précision et de la définition est au cœur de ces processus, ce qui constitue l'une des alternatives pour le contrôle d'un processus. Toutefois, cette approche ne fonctionne que lorsque la définition et le problème ont une correspondance proche de 1:1 et que le domaine du problème (technique, exigences et personnes) est relativement simple : "Il est typique d'adopter l'approche de modélisation définie (théorique) lorsque les mécanismes sous-jacents par lesquels un processus fonctionne sont raisonnablement bien compris. Lorsque le processus est trop compliqué pour l'approche définie, l'approche empirique est le choix approprié". Process Dynamics, Modeling, and Control, Ogunnaike et Ray, Oxford University Press, 1992.
Le processus agile est basé sur une approche empirique, acceptant la complexité du problème et l'abordant par une inspection fréquente et une adaptation constante... L'empirisme se retrouve même dans le Manifeste Agile, où les signataires posent l'agilité comme un contrepoint empirique à une approche définie, plutôt que comme un nouvel ensemble d'absolus définis. Les divers processus agiles mettent en œuvre l'empirisme avec les pratiques sous-jacentes de développement itératif, d'inspection fréquente de l'état et des incréments de travail, d'auto-organisation des équipes, d'architecture et d'exigences émergentes, et de collaboration solide... (Voir le texte complet)