Das Umfeld und die Märkte ändern sich

Softwareentwicklung im Jahr 2021 – was bedeutet das für die anic GmbH? Mit Blick auf unsere Kunden stellen wir fest, dass die Märkte, die verwendeten Technologien und die die Geschäftsbeziehungen unaufhaltsam dynamischer werden. Die Stichworte Globalisierung und Digitalisierung stehen im Zentrum dieser Entwicklung.

Anforderungen an Softwareentwickler

Daraus leiten sich zwei Tendenzen ab. Einerseits werden durch die beschriebene Entwicklung auch die Anforderungen unserer Kunden dynamischer:

  • Planungszeiten verkürzen sich,
  • es werden schnellere Reaktions- und Bearbeitungszeiten erwartet,
  • kurzfristige Änderungen und Ergänzungen während des Entwicklungsprozesses sind der Regelfall,
  • die Anforderungen an die Qualität und das zuverlässige Funktionieren einer Lösung steigen.

Andererseits versteht sich die anic GmbH in ihrer Selbstdefinition als Geschäftspartner, der seinen Kunden maßgeschneiderte Lösungen auf der Höhe der Zeit anbietet. Diese sollen unseren Kunden flexibel und bedarfsgerecht dabei helfen, die Rahmenbedingungen ihres wirtschaftlichen Handelns in einem immer turbulenter werdenden Umfeld auf eine stabile Grundlage zu stellen. Das macht es erforderlich, sich bei den eingesetzten Technologien am aktuellen Stand der Entwicklungen zu orientieren.

Agilität statt Wasserfall – eine vielversprechende Lösung, die begeistert

Wasserfallmodell

Softwareentwicklung in früheren Jahrzehnten ist oft gleichbedeutend mit dem relativ starren Abarbeiten von zuvor gesammelten Kundenanforderungen im Rahmen des so genannten Wasserfallmodells. Die Ergebnisse der Entwicklung werden dem Kunden oft erst nach Abschluss aller Arbeiten präsentiert. Stellt man erst dann fest, dass wichtige Funktionen fehlen oder Änderungswünsche vorhanden sind, ist eine Anpassung der Software nicht oder nur mit großem Aufwand und entsprechenden Zusatzkosten verbunden. Der Frust bei Kunden und Entwicklern ist eine häufige Konsequenz.

Agile Entwicklungsmethoden

Die hohe Dynamik des Umfeldes und der technologischen Entwicklung macht heute eine enge Vernetzung und Abstimmung aller bei einer Softwareentwicklung beteiligten Partner erforderlich. Die Kernstrategie einer agilen Softwareentwicklung besteht deshalb darin, den Kunden fest in den gesamten Entwicklungsprozess mit einzubinden (Integration) und sich in regelmäßigen kurzen Abständen mit ihm abzustimmen (Interaktion).

Die Grundidee der agilen Softwareentwicklung geht bereits auf die Jahrtausendwende zurück und hat sich in den letzten Jahren in vielen Bereichen als Standard etabliert. Bekannte Vertreter sind das Extreme Programmierung und Scrum. Das „Agile Manifest“ [1] fasst zwölf Prinzipien zusammen, die bei der agilen Programmierung und Softwareentwicklung Anwendung finden. Bemerkenswert ist, dass der agile Ansatz versucht, das Spannungsfeld zwischen Kundenzufriedenheit, Qualität (funktionierende, wertvolle Software) und Flexibilität als Basis für einen Wettbewerbsvorteil des Kunden zu nutzen.

Infografik agile Softwareentwicklung

Flexibilität

Flexibilität bedeutet in diesem Zusammenhang, dass selbst kurzfristige Änderungen in den Anforderungen willkommen sind. Damit diese kurzfristigen Änderungen dem Gesamtprojekt nicht den Todesstoß versetzen, wird die Software bereits von Beginn der Entwicklung an regelmäßig in weiterentwickelten funktionierenden Versionen ausgeliefert. Der Kunde kann sozusagen beim Entstehen seiner Software von Anfang an zusehen und die weitere Entwicklung beeinflussen. Ebenso können äußere Anforderungen durch Veränderungen am Markt zeitnah mit in die Entwicklung einfließen. Bürokratischer Aufwand und starre Regeln werden auf ein Minimum reduziert.

Qualität

Bei agilen Entwicklungsmethoden ist die Qualität der Software sozusagen Programm. Denn die Qualität der Software – hier definiert als Zufriedenstellung der Kundenwünsche – ist oberstes Ziel der agilen Entwicklung. Die Verantwortung für die Qualität einer Software wird damit zu den kleinen, dynamischen Projektteams in der agilen Entwicklung verlagert.

Qualitätsmanagement ade?

Qualitätsmanagement

Das klassische Qualitätsmanagement (QM) stammt noch aus Zeiten, als Unternehmen deutlich stabiler und die Märkte weniger dynamisch waren. Macht agile Softwareentwicklung ein klassisches QM und die ISO 9001 damit vollständig überflüssig? Die Antwort ist ein klares „Jein“. Während das klassische QM die agilen Methoden als reines Chaos empfindet, sehen die agilen Projektteams das klassische QM oft als zu starr und zu einschränkend an. Während in der Praxis viele agile Projekte ohne das klassische QM auskommen, stoßen die agilen Methoden aber auch an Grenzen. Beispiele?

  • Ab einer gewissen Projektgröße und auch Unternehmensgröße wird es für die kleinen agilen Projektteams schwer, das Gesamtprojekt im Auge zu behalten. Das klassische QM greift hier unterstützend ein.
  • Nicht alle Kunden lassen sich für die intensive Zusammenarbeit bei agilen Entwicklungsmethoden begeistern und ziehen die klassische Variante des Wasserfalls vor. Hier werden deshalb klassische Methoden des Qualitätsmanagements benötigt.

Im Ergebnis bedeutet dies für die Praxis, dass sich beide Seiten – die agile Softwareentwicklung und das klassische QM – aufeinander zubewegen und sich produktiv ergänzen. Und das ist ganz im Sinne der Qualität. Denn dass zuverlässig funktionierende Software einen Wettbewerbsvorteil für die Kunden und dadurch Kundenzufriedenheit schafft, ist das Ziel der anic GmbH.