Prozess

Die klassische Software Entwicklung beginnt mit der Spezifikation. Auf dieser Basis programmiert der Entwickler das entsprechende Stück Software und gibt das Ergebnis zurück. Dieser Prozess läuft ohne viel Interaktion während des Programmierungsprozesses ab und endet sehr häufig darin, dass Erwartungen nicht erfüllt werden. Das ist nicht nur frustrierend für alle Beteiligten, sondern führt auch zu überhöhten Kosten und langfristig zu einer instabilen Softwarestruktur.

Ein modernerer Ansatz für Software Entwicklung ist mittlerweile Industriestandard bei führenden Software Unternehmen, aber auch Startups. Es gibt eine ganze Reihe von unterschiedlichen Ausprägungen dieser sogenannten Agilen Software Entwicklung - bekannte Beispiele sind die SCRUM oder Kanban Methode.

Hier wird neuer Code in kurzen Zyklen geschrieben und mündet jedes Mal in einem greifbaren, benutzbaren Ergebnis. Dieses kann getestet und präsentiert werden, um daraufhin die Richtung für die weiteren Schritte festzulegen. Schnelle Feedback-Schleifen sind essentiell für dieses Vorgehen. Dadurch können früh Probleme erkannt und schnell behoben werden - was am Ende zu einer besseren Software führt. Basierend auf dieser flexiblen SCRUM Methodik kann idealer auf neue Entwicklungen reagiert werden und Erkenntnisse aus den Tests können gleich in der nächsten Iterationsschleife berücksichtigt werden.

Dies ist am besten im sogenannten LEAN Ansatz verdeutlicht, nach dem der Erfolg von Unternehmen und Projekten auf ein einfaches Kreismodell zurückzuführen ist: Build - Measure - Learn (Bauen - Messen - Lernen). Das sind die stetig wiederholten Punkte, nach denen sich jede Iteration gliedert. So baut in Folge jede neue Version auf den Ergebnissen des Lernprozesses aus der vorherigen Version auf. Jede Annahme muss durch Fakten oder Messergebnisse validiert werden. Dies kann nur durch eine schnelle Umsetzung eines sogenannten Prototypes generiert werden, anhand dessen man aussagekräftige Tests durchführen kann.

Dabei gilt: Je schneller die Versionen aufeinander folgen, desto steiler ist die Lernkurve und desto wahrscheinlicher auch der Erfolg. Ein gutes Beispiel für diese Schnelligkeit ist Amazon.com. Alle 3.8 Sekunden werden an dieser Website Änderungen vorgenommen - unspürbar, da diese aus Hunderten von unabhängigen "Microservices" besteht. Neue Entwicklungen werden getestet, ohne dass die komplette Seite ihre Funktionen verliert. So können extrem schnell Änderungen an einem Live-System validiert und Benutzerinteraktion gemessen werden, um aus den Ergebnissen Schlüsse für eine weitere Entwicklung zu ziehen. Das kann zu extremen Umsatzsteigerungen führen - im Falle von Amazon.com um 3%!

In der Kombination der Stärke, Flexibilität und Stabilität einer auf "Microservices" gebauten Systemarchitektur, einem zielorientierten Management nach den SCRUM Methoden und den Entwicklungs-"Best-Practices" wie UNIT-testing und Clean-Coding-Standards ist ein solcher Erfolg nicht nur möglich, sondern hat auch das Potential zu skalieren. Technologisch wie auch auf der Seite der Ressourcen.

Inside delodi

//Was uns beschäftigt

Besuche uns auf Medium

Unser Chat

//Lass uns gemeinsam etwas entwickeln

Kontaktiere uns