CMMI or Agile: Why Not Embrace Both!

Das sehr interessante Papier “CMMI or Agile: Why not Embrace Both!“, veröffentlicht vom Software Engineering Institute, beschäftigt sich damit, wie/ob die “Agile Welt” (man darf ja nicht “Methoden” sagen, da sonst die Evangelisten einen Herzinfarkt oder Schreikrampf bekommen) und CMMI kombiniert werden kann.

In dem Papier anerkennen die Autoren (Glazer, Dalton, Anderson, Konrad, Shrummehrfach), dass das agile Paradigma sehr wirkungsvoll und von großer Bedeutung ist:

In this report, we identify and discuss the misperceptions we consider most damaging to a correct understanding of both paradigms, and suggest ways to improve our understanding of both of these powerful approaches for effective software development.

Etwas später:

The Software Engineering Institute (SEISM) continues to be interested in the development of Agile methods and in community experiences with both CMMI and Agile.

Zielsetzung des Papiers ist es, die Verwirrung zu verringern, die zwangsläufig entsteht, wenn Vertreter der beiden Paradigmen aufeinander treffen. Schön finde ich einen der Gründe, der für die Verwirrung und Konfliktträchtigkeit benannt wird:

Early adopters of both CMMI and Agile methods represent extreme examples of their software development paradigms. Early CMMI adopters were developers of large-scale, riskaverse, mission-critical systems, often with high levels of management oversight and hierarchical governance; whereas the early adopters of Agile methods generally focused on smaller, single-team development projects with volatile requirements in a software-only environment. These two extremes set the tone for all that followed.

Neben den Ursprüngen der beiden Paradigmen werden noch weitere Gründe aufgezählt: Misuse, Lack of Accurate Information, Terminology Difficulties, Top-Down vs. Buttom-Up Improvement Approach. Die Autoren weisen mehrfach darauf hin, dass viele Mißverständnisse entstehen, wenn “CMMI” oder “Agile” als Labels benutzt werden, obwohl die Paradigment nicht befolgt werden.

Interessanterweise scheinen die Angriffe auf CMMI zu einer gewissen Verteidigungshaltung geführt zu haben. Die Vertreter von CMMI verteidigen sich und CMMI:

Some misperceptions of CMMI in the Agile community stem from aspects of the CMM that are no longer found in CMMI. CMMI includes many improvements that differentiate it from the CMM, which has not been updated since 19933. Some in the Agile community use CMM concepts to judge CMMI unfairly.

Während die Autoren klar Stellung zu den Eindrücken aus der CMMI-Welt nehmen können, so tun sie dies nicht für die Agile-Welt:

We can’t speak for the Agile community given its diversity; but we feel that to some extent the same could be said for Agile methods.

Nach der Einführung werden die Ursprünge der beiden Paradigmen genauer vorgestellt. Es folgen Kapitel darüber, was die Wahrnehmung der Paradigmen beeinflusst. Ausführlich wird im nächsten Schritt “die Wahrheit über CMMI” beschrieben; der entsprechende Text zur Agile-Welt fällt etwas kürzer aus. Die Feststellung, dass in beiden Ansätzen wertvolle Elemente enthalten sind wird geschlossen mit dem Hinweis, dass es Probleme gibt, die weder alleine durch CMMI noch alleine durch Agile gelöst werden können. Letztendlich rufen die Autoren zu einer Zusammenarbeit auf – die Stärken beider Paradigmen sollen kombiniert werden.

Für Experten des agilen Paradigmas haben die Autoren den konkreten Rat, sich stärker mit folgenden Themen zu beschäftigen:

  • nicht-funktionale Anforderungen
  • Produktarchitekturen
  • Mess- und Analysemethoden (quantitative Ansätze?)
  • Planung von Aufgaben, die nicht direkt mit dem Produkt zu tun haben
  • Risikomanagement
  • Unternehmensweites Lernen / Verbesserung von Unternehmensprozessen

Bei den meisten Punkten kann ich zustimmen. Alle “Agilisten” mit denen ich täglich arbeite, legen zu wenig Wert auf viele dieser Punkte – in vielen Fällen mag es daran liegen, dass nur eine technische Ausbildung (Studium) vorhanden ist und deshalb andere Sichtweisen fehlen …

Spannendes Papier, um einen der Autoren zu zitieren:

And, no, the SEI are not Cylons! Nice try. Read the paper.