Qualitätssteigerung durch Best Practices

Optimierte Agilität

Hartmut Schmitt, Dominik Rost


Mehr Kundennähe, höhere Effizienz der Prozesse und ein flexibleres Reagieren auf sich ändernde Anforderungen – das sind Effekte, die sich viele IT-Unternehmen von der Einführung agiler Prozesse und Entwicklungsmethoden versprechen. In der Regel geht mit der Einführung agiler Methoden ein Wertewandel innerhalb der Unternehmen einher, durch den sich auch die Sicht auf klassische Konzepte und Methoden des Software Engineerings ändert. So gewinnt z. B. die direkte Kommunikation mit den Stake­holdern an Bedeutung, während die schriftliche Spezifikation und Dokumentation in den Hintergrund treten.

Status quo Agilität

Die unbestreitbaren Vorteile agiler Entwicklung haben zu deren großer Beliebtheit und Verbreitung beigetragen. Ein Framework wie Scrum bietet mit Aktivitäten wie Sprint Planning, Daily Scrum und Sprint Review systematische Unterstützung beim Projektmanagement [1]. Agile Techniken wie Pair Programming, Test-driven Development und Refactorings tragen zu einer effektiven Implementierungsarbeit bei. Zudem gibt es eine Reihe von Projektfaktoren, die sich begünstigend auf die Erfolgswahrscheinlichkeit agiler Projekte auswirken, etwa ein erfahrenes und mit der Domäne vertrautes Team, ein begrenzter Systemumfang oder ein übersichtlicher Produktlebenszyklus.

Allerdings werden agile Vorgehensweisen oft auch in einem Umfeld angewendet werden, das eigentlich nicht dafür geeignet ist. Ist in solchen Vorhaben dann eine globale Sicht über komplexe Systemzusammenhänge erforderlich oder wird eine systematische Erreichung nicht funktionaler Produktqualitäten angestrebt, so ist entweder sehr viel Erfahrung notwendig oder es bedarf einer zusätzlichen Hilfestellung. Problematisch ist zudem, dass bei der Betrachtung von Qualität in agilen Projekten sehr oft stark auf funktionale Korrektheit fokussiert wird. Das führt dazu, dass an sich wichtige Produktqualitäten wie Performanz, Gebrauchstauglichkeit oder Wartbarkeit eher stiefmütterlich behandelt werden. Anforderungen werden nur unzureichend oder nicht nachvollziehbar dokumentiert, die Einbeziehung der Benutzer ist mangelhaft, grundlegende Architekturfragen bleiben zu lange ungeklärt.

Beide Faktoren – ungeeignetes Umfeld für agile Entwicklung und Fokussierung auf funktionale Aspekte – können dazu führen, dass die Qualität der Softwareprodukte bereits in frühen Entwicklungsphasen in Mitleidenschaft gezogen wird. Später sind dann zeitintensive Nacharbeiten notwendig, die vor den Auftraggebern versteckt oder nachverhandelt w...

Qualitätssteigerung durch Best Practices

Optimierte Agilität

Hartmut Schmitt, Dominik Rost


Mehr Kundennähe, höhere Effizienz der Prozesse und ein flexibleres Reagieren auf sich ändernde Anforderungen – das sind Effekte, die sich viele IT-Unternehmen von der Einführung agiler Prozesse und Entwicklungsmethoden versprechen. In der Regel geht mit der Einführung agiler Methoden ein Wertewandel innerhalb der Unternehmen einher, durch den sich auch die Sicht auf klassische Konzepte und Methoden des Software Engineerings ändert. So gewinnt z. B. die direkte Kommunikation mit den Stake­holdern an Bedeutung, während die schriftliche Spezifikation und Dokumentation in den Hintergrund treten.

Status quo Agilität

Die unbestreitbaren Vorteile agiler Entwicklung haben zu deren großer Beliebtheit und Verbreitung beigetragen. Ein Framework wie Scrum bietet mit Aktivitäten wie Sprint Planning, Daily Scrum und Sprint Review systematische Unterstützung beim Projektmanagement [1]. Agile Techniken wie Pair Programming, Test-driven Development und Refactorings tragen zu einer effektiven Implementierungsarbeit bei. Zudem gibt es eine Reihe von Projektfaktoren, die sich begünstigend auf die Erfolgswahrscheinlichkeit agiler Projekte auswirken, etwa ein erfahrenes und mit der Domäne vertrautes Team, ein begrenzter Systemumfang oder ein übersichtlicher Produktlebenszyklus.

Allerdings werden agile Vorgehensweisen oft auch in einem Umfeld angewendet werden, das eigentlich nicht dafür geeignet ist. Ist in solchen Vorhaben dann eine globale Sicht über komplexe Systemzusammenhänge erforderlich oder wird eine systematische Erreichung nicht funktionaler Produktqualitäten angestrebt, so ist entweder sehr viel Erfahrung notwendig oder es bedarf einer zusätzlichen Hilfestellung. Problematisch ist zudem, dass bei der Betrachtung von Qualität in agilen Projekten sehr oft stark auf funktionale Korrektheit fokussiert wird. Das führt dazu, dass an sich wichtige Produktqualitäten wie Performanz, Gebrauchstauglichkeit oder Wartbarkeit eher stiefmütterlich behandelt werden. Anforderungen werden nur unzureichend oder nicht nachvollziehbar dokumentiert, die Einbeziehung der Benutzer ist mangelhaft, grundlegende Architekturfragen bleiben zu lange ungeklärt.

Beide Faktoren – ungeeignetes Umfeld für agile Entwicklung und Fokussierung auf funktionale Aspekte – können dazu führen, dass die Qualität der Softwareprodukte bereits in frühen Entwicklungsphasen in Mitleidenschaft gezogen wird. Später sind dann zeitintensive Nacharbeiten notwendig, die vor den Auftraggebern versteckt oder nachverhandelt w...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang