Robert C. Martin: Clean Agile

Robert C. Martin: Clean Agile

Robert C. Martin
Mit Beiträgen von: Jerry Fitzpatrick, Tim Ottinger, Jeff Langr, Eric Crichlow, Damon Poole, Sandro Marcuso
Übersetzung: Knut Lorenzen
Clean Agile: Die Essenz der agilen Softwareentwicklung. Zurück zu den Ursprüngen: Die agilen Werte und Prinzipien effektiv in der Praxis umsetzen.

1. Auflage
2020, 187 Seiten, Broschur
mitp-Verlag
ISBN: 978-3-7475-0111-5

Informationen zum Buch im Katalog der Deutschen Nationalbibliothek.



Im Buch Clean Agile reflektiert Robert C. Martin die Entwicklung der agilen Softwareentwicklung und fordert eine Rückbesinnung auf die ursprünglichen Werte und Prinzipien der Bewegung.


Inhalt und Struktur

Kapitel 1: Einführung in agile Softwareentwicklung

Das erste Kapitel kann in zwei Teile unterteilt werden. Der erste Teil zeichnet grob den Ursprung der agilen Softwareentwicklung nach. Der Fokus liegt dabei auf das Treffen in Snowbird, dem Entstehungsort des Manifests für Agile Softwareentwicklung, an dem Robert C. Martin (auch bekannt als Uncle Bob) zusammen mit sechzehn weiteren Entwicklern teilgenommen hat. Der zweite Teil beschreibt, ebenfalls sehr grob, was die agile Softwareentwicklung im Gegensatz zur Wasserfall-Methode ausmacht. Der Großteil des restlichen Buches vertieft das Thema der agilen Softwareentwicklung in der speziellen Ausprägung des Extreme Programmings (XP). Martins Einschätzung zu XP ist, dass dieser Prozess

unter allen agilen Prozessen der am besten definierte, vollständigste und der am klarsten strukturierteste ist. Praktisch alle anderen agilen Prozesse stellen eine Teilmenge oder Variante von XP dar.

S. 48

Kapitel 2: Die Bedeutung agiler Softwareentwicklung

Für Robert Martin ist agile Softwareentwicklung mehr, als diese wahrscheinlich für die meisten Entwickler bedeutet (eigene fette Hervorhebung):

Agile Softwareentwicklung ist weder ein Prozess noch eine Modeerscheinung und auch nicht nur ein Satz von Regeln. Agile Softwareentwicklung umfasst vielmehr Rechte, Erwartungen und Disziplinen, die die Grundlage eines Berufsethos bilden.

S. 72

Im zweiten Kapitel werden eben diese „Rechte, Erwartungen und Disziplinen“ beschrieben. Die Notwendigkeit eines Berufsethos ist in der Verantwortung der Entwickler, die, laut Martin, mittlerweile – durch die Allgegenwärtigkeit von Software – die Welt beherrschen würden, begründet (S. 54).

Kapitel 3 bis 5

Die Kapitel drei bis fünf behandeln jeweils eines der Kreise aus Ron Jeffries „Kreis des Lebens“, der auf Seite 48 vorgestellt wurde und der Prinzipien und Techniken des XP visualisiert. Folgende Prinzipien und Techniken sind dargestellt:

  • im äußeren Kreis: Kleine Releases, Planspiel, Gesamtes Team und Akzeptanztests (diese werden im dritten Kapitel Unternehmensbezogene Praktiken näher besprochen);
  • im mittleren Kreis: Metapher, Nachhaltiges Tempo, Gemeinsame Eigentümerschaft und Kontinuierliche Integration (auf diese wird im vierten Kapitel Teambezogene Praktiken eingegangen);
  • im inneren Kreis: Testgetriebene Entwicklung, Pair Programming, Einfaches Design und Refactoring (darüber handelt das fünfte Kapitel Technische Praktiken).

Kapitel 6: Agil werden

Im sechsten Kapitel geht es unter anderem um die sogenannten agilen Werte, um die Themen Coaching und Zertifizierung („Die existierenden Zertifizierungen für agile Softwareentwicklung sind ein einziger Witz und eine vollkommene Absurdität“ – lautet auf Seite 141 Robert Martins vernichtendes Fazit zu diesem Thema).

Den Abschluss des Kapitels machen zwei Artikel. Der erste, der den Titel Werkzeuge der agilen Softwareentwicklung trägt und von Tim Ottinger und Jeff Langr geschrieben wurde, behandelt notwendige und sinnvolle Werkzeuge im Rahmen der agilen Softwareentwicklung. Der zweite Artikel – von Damon Poole geschrieben – bespricht das Thema Coaching und soll eine andere Sicht als die Martins vertreten (vgl. S. 152).

Kapitel 7: Craftsmanship

Das vorletzte Kapitel, das von Sandro Marcuso geschrieben wurde, ist als Ergänzung zum restlichen Buch zu sehen. Es handelt über die Bewegung, die als Software Craftsmanship bekannt ist, welches auf das Manifest für Agile Softwareentwicklung aufbaut.

Das Buch endet mit einem einseitigen achten Kapitel, der den Titel Schlussbemerkungen trägt.

Diskussion

Vor knapp zwanzig Jahren wurde die agile Bewegung durch das Manifest für Agile Softwareentwicklung ins Leben gerufen. Robert Martin bewertet als einer der Initiatoren dieser Bewegung das bisher Erreichte (bzw. nicht Erreichte) und plädiert für eine Rückbesinnung auf die agilen Werte, Prinzipien und Techniken.

Ärger und Enttäuschung mischen sich in Clean Agile und Uncle Bob warnt den Leser gleich in der Einleitung, dass „hier und da vielleicht ein (mildes) Schimpfwort“ fallen werde (S. 14). Obwohl dem Autor die agile Softwareentwicklung prinzipiell eine einfache Angelegenheit erscheint, stellt er fest, dass diese mehrheitlich falsch ein- und umgesetzt wird. Mit dieser Einschätzung ist er nicht allein. Dave Thomas, um nur ein weiteres prominentes Beispiel zu nennen, kritisiert in seinem Talk Agile is Dead von 2015[1] ebenfalls die Umsetzung der Ideen des Manifests für Agile Softwareentwicklung.

Robert Martins Sicht auf das, was die agile Softwareentwicklung sein sollte (und könnte) ist interessant zu lesen und der lockere Stil erlaubt eine angenehme Lektüre. Der stilistische Flickenteppich, der im letzten Teil des Buches (Kapitel 6 und 7) durch Beiträge weiterer Autoren entsteht, ist dabei etwas störend. Trotzdem kann das Buch als Ganzes aber nicht wirklich überzeugen.

Clean Agile versteht sich explizit nicht als „akademische Arbeit“, sondern eher als eine „persönliche Aufzeichnung“,  „als das Grummeln eines Griesgrams“ (S. 14). Das allein ist noch nichts Schlimmes und man darf getrost davon ausgehen, dass der letzte Punkt nicht ganz ernst gemeint ist. Angesichts der prekären Lage der agilen Softwareentwicklung wäre aber eine „akademische Arbeit“, die einerseits umfassend die Ursachen der aktuellen Lage analysiert und andererseits nach neuen Ansätzen sucht, geeigneter. (Ob solch eine Arbeit letztendlich mehr bewirken würde, bleibt natürlich offen.)

Trotz des Charms, der von der agilen Softwareentwicklung im Allgemeinen und von XP im Speziellen ausgeht, muss man sich aber auch fragen, inwiefern agile Softwareentwicklung, welche Mut, Kommunikation, Feedback und Einfachheit als ihre Werte definiert (vgl. Kap. 6, S. 133 f.), überhaupt der menschlichen Natur und den unternehmerischen Gegebenheiten entspricht. Eric Crichlow drückt diesen Punkt ganz gut im Nachwort aus:

Vielleicht würde es [die Umsetzung kommerzieller Softwareprojekte – Anm. des Rezensenten] wie geplant funktionieren, wenn die Berater die Befugnis hätten, Anforderungen vorzugeben, und Organisationen und Manager sich an ihre Zusagen hielten, aber die meisten von uns sind kleine Fische, Zahnrädchen im Getriebe der Softwarefabrik. Wir sind ersetzbar und können kaum Einfluss nehmen.

S. 181

Das Buch Clean Agile ist letztendlich eine historische Betrachtung des Entstehungsprozesses der agilen Softwareentwicklung und die Wiederholung der Prinzipien, Werte und Techniken des Extreme Programmings.

Angesichts der Lage der agilen Softwareentwicklung bleibt uns nichts anderes zu machen, als zusammen mit Crichlow auf den „nächste[n] große[n] Wandel der Methodologie“ (S. 181) zu warten (und vielleicht versuchen diesen mitzugestalten).


[1] Die Ideen sind schon Anfang 2014 in einem Post auf seinem Blog zu finden.


Zu den Autoren

Robert C. Martin

Robert Cecil Martin, für viele auch einfach als Uncle Bob bekannt, ist ein prominenter US-amerikanischer Softwareentwickler und -berater und ein produktiver Autor.

Sein Name ist sowohl mit der Bewegung der agilen Softwareentwicklung als auch mit der Software Craftsmanship-Bewegung sehr eng verbunden.

Deutschsprachige Bücher von Robert Martin:

  • Objektorientierte C++-Anwendungen: Die Booch-Methode. Prentice Hall. 1996
  • Clean Code: Refactoring, Patterns, Testen und Techniken für sauberen Code. mitp-Verlag. 2009
  • Clean Coder: Verhaltensregeln für professionelle Programmierer. Addison-Wesley. 2011 (weitere Auflage beim mitp-Verlag 2014)
  • Clean Architecture: das Praxis-Handbuch für professionelles Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturen. mitp-Verlag. 2018
  • Clean Agile: Die Essenz der agilen Softwareentwicklung. Zurück zu den Ursprüngen: Die agilen Werte und Prinzipien effektiv in der Praxis umsetzen. mitp-Verlag. 2020

Literatur von Robert C. Martin im Katalog der Deutschen Nationalbibliothek.

Quellen: Wikipedia-Seite über Robert C. Martin (Abruf 13.10.2020) und der Katalog der Deutschen Nationalbibliothek.

Weitere Beitragende

Im Folgenden aufgelistet in der auf dem Cover angegeben Reihenfolge mit jeweiligem Beitrag:

  • Jerry Fitzpatrick: Autor des Vorwortes
  • Tim Ottinger, Jeff Langr: Autoren des Unterkapitels 6.7 mit dem Titel Werkzeuge der agilen Softwareentwicklung
  • Eric Crichlow: Autor des Nachwortes
  • Damon Poole: Autor des Unterkapitels 6.8 mit dem Titel Coaching – eine alternative Sichtweise
  • Sandro Marcuso: Autor des siebten Kapitels mit dem Titel Craftsmanship

Folgende Bücher könnten Sie ebenfalls interessieren:

Petre Sora

Petre Soras Interessen sind vielfältig und befinden sich an der Schnittstelle zwischen Mensch und Informationstechnologie. Als studierter Psychologe und Software Engineer war er sechs Jahre als Java-Entwickler in mehreren Unternehmen tätig. Mit der Gründung der Rezensionsplattform nososo hat er sich entschieden eigene Wege zu gehen.

Schreibe einen Kommentar