08.02.2024
DevClass, Murat Guler
Wenn Agile Methodik zu schlechtem Code führt
Autor: Bernhard Lauer
muromuro.substack.com
Ein ehemaliger Software-Ingenieur und -Architekt von Google stellt in einem Buch über Softwarequalität fest, dass die agile Methodik oft zu einem Werkzeug für Mikromanagement werden kann und zu schlechtem Code führt.
Murat Guler ist Software-Ingenieur und -Architekt und hat mehr als 13 Jahre lang bei Google und davor bei Qualcomm gearbeitet. Jetzt hat er ein Startup gegründet, das eine Webanwendung entwickelt, die Unternehmen bei technischen Interviews in der Softwareentwicklung unterstützt. Im September 2022 hat er bei Google gekündigt und seitdem ein Buch mit dem Titel Defending Software Quality geschrieben, das "ehrliche Kritik und umsetzbare Vorschläge" verspricht, wie er auf LinkedIn schreibt. Im Kapitel über Agile als Mikromanagement-Tool stellt Guler die Annahme in Frage, dass die Einführung der agilen Methodik die Produktivität und Codequalität verbessert. Der Autor betont, dass er kein bestimmtes Unternehmen beschreibt und schildert anekdotische Belege von "Freunden und Ingenieuren aus verschiedenen Unternehmen", die darauf hindeuten, dass Agile "als Mikromanagement-Tool eingesetzt wird".
Das Kernproblem, so Guler, ist das Prinzip von Agile, das besagt, dass "Geschäftsleute und Entwickler während des gesamten Projekts täglich zusammenarbeiten müssen" - dies stammt aus dem Agilen Manifest. Dies könne leicht zu einem Mikromanagement führen, bei dem die Product Owner "die Diskussionen dominieren und die Meinungen der Ingenieure außer Kraft setzen", sagt er. Schätzungen darüber, wie lange die Arbeit dauern wird, werden zu Fristen, und die Ingenieure fühlen sich unzuverlässig, hinterfragt und negativ kritisiert, wenn die Dinge nicht gut laufen.
Die Situation kann sich dadurch verschlimmern, dass Manager neue Prozesse einführen, wie zum Beispiel "lange und sehr detaillierte Anforderungsdokumente", die zu einer zusätzlichen Belastung werden und die Produktivität weiter verringern. Feature-Flags, eine Methode zum Aktivieren und Deaktivieren von Funktionen, können eingeführt werden, um die Zuverlässigkeit zu verbessern, aber "zu viele Flaggen bedeuten, dass es zu viele Kombinationen gibt", schreibt Guler, so dass ein angemessenes Testen schwierig ist.
Dies sind Beispiele dafür, wie Agile schief läuft, aber laut Guler gibt es noch weitere Probleme, selbst wenn die Methodik richtig angewendet wird. Eine von Tim Anderson geschriebene Zusammenfassung des englischsprachigen Buches von Murat Guler finden Sie hier.
Webentwicklung
Welches Web-Framework ist das passende? Ein Experiment
Entwickler Eugene Yan untersucht in einem Praxisbeispiel, wie unterschiedliche Web-Frameworks die Entwicklung einer Anwendungen beeinflussen. Am Start sind FastHTML, Next.js und SvelteKit.
>>
Effizient Implementiert
Thread-Safe Singleton in C#
Das Singleton Pattern, eines der bekanntesten Muster in der Softwareentwicklung, lässt sich auch Thread-Safe umsetzen. Wie das geht, zeigt ein Artikel auf CodeProject.
>>
Microsoft Office
Office Add-ins Development Kit für Visual Studio Code
Microsoft hat das Office Add-ins Development Kit für Visual Studio Code als Preview veröffentlicht. Es soll die Einrichtung der Entwicklungsumgebung vereinfachen.
>>
.NET plattformunabhängig
Microsoft spendet das Mono-Projekt an WineHQ
Microsoft hat überraschend das Mono-Projekt an die WineHQ-Organisation übertragen. Diese Entscheidung wirft Fragen auf: Was bedeutet das für die Zukunft von Mono und wie wird es sich auf die .NET-Community auswirken?
>>