Agile Softwarenwicklung - Basics

vor 2 Jahren   •   Lesezeit: 2 Min.

Von Klaus-Peter Koch
Softwaretest Beispiel
audio-thumbnail
Audioversion des Beitrags
0:00
/2:32

Gerade in der Softwareentwicklung ist agiles Arbeiten seit wenigen Jahrzehnten voll im Trend.

Dabei sehe ich immer wieder grundsätzliche Missverständnisse und unvollständige Annahmen.
Das ist zwar  durchaus verständlich, wenn man sich anschaut wie und warum diese Methoden etabliert werden; doch leider hilft dieses langfristig niemanden. Oft wird am Ende agil mit chaotisch gleichgesetzt - eine Annahme, die falscher nicht sein könnte.

Doch lassen Sie uns das Thema genauer betrachten!

Time To Market in der Software

Schon in den Grundsatzgedanken haben wir gelernt, das Time to Market ein wesentlicher Aspekt ist. Auf Software projiziert heißt dies, das wir so schnell wie möglich und so oft wie möglich unsere Software zum Kunden bringen wollen.

Softwareentwicklung verzeiht nicht!

Egal ob es ein falsch gesetztes Zeichen ist, ein logischer Fehler im Programm oder ein Bug in den Tools. Fehler in der Softwareentwicklung rächen sich in hohem Testaufwand, geringerer Kundenzufriedenheit, hohen Supportkosten und immer höher werdendem Entwicklungsaufwand!

Dies ist gerade deshalb von besonderer Bedeutung, da die meiste Software eher für den langfristigen Einsatz geplant ist; die wenigsten Softwareprodukte sind reine Messevorführer oder Tutorials.

Qualität ist hier also nicht nur eine Frage des Produktanspruchs, sondern vor allem der langfristigen Kosten!

TDD zur Rettung

Ein wirksames Mittel diesem Risiko entgegenzutreten sind automatisierte Tests. Das so genannte Test Driven Development ist dabei die erste Wahl.
Doch bleiben wir realistisch und akzeptieren, dass es in sehr vielen Umfeldern an dieser Stelle erheblichen Nachholbedarf gibt.

Und hier entsteht das erste Problem bei der Einführung agiler Methoden in der Softwareentwicklung!

Die klassischen Treiber für Changeprojekte sind Effizienzsteigerung, Kostenersparnis, bessere Time To Market u.a.
Wenn wir in der Softwareentwicklung jedoch noch manuell testen müssen, keine ausreichende Testabdeckung haben, vielleicht sogar keine nächtliche/ tägliche Erstellung der Software, dann wird uns das Erhöhen der Veröffentlichungsfrequenz auf die Füße fallen.

Wahlweise wird unsere Qualität womöglich unbemerkt sinken - was sich später rächen wird..

Systemische Betrachtung notwendig

Dieser Herausforderung können wir begegnen, indem wir unsere Erwartungshaltung und auch die Planungen entsprechend anpassen, statt in einer agilen Umstellung den Heilsbringer zu sehen, den diese alleine nicht erfüllen kann. Ein Change ist - zumindest kurzfristig - auch immer ein Invest.

Doch dazu später mehr.

Verbreite den Artikel