Liebe Leserinnen,
Lieber Leser,
herzlich willkommen zu unserem 8. Newsblog von der Lakeshore Operations GmbH.
Wie überall in der Welt verändern sich im Laufe der Zeit auch die Methoden der Softwareentwicklung. Die klassischen Prinzipien, die vor 20 Jahren genutzt wurden, haben große Risiken. Neue agile Ansätze sind derzeit das non plus ultra moderner Softwareentwicklung.
In unserem heutigen Blog wollen wir hier einmal aufräumen und die Pro’s aber auch die Contras moderner Softwareentwicklung beschreiben.
Was ist das Ziel der Kunden, die Software entwickeln lassen möchten?
Es ist doch klar, dass die Kunden Ihre Ideen in kurzer Zeit umsetzen wollen und das mit einem überschaubaren bzw. kalkulierbaren finanziellen Einsatz.
Vor mehr als 20 Jahren sind die meisten folgendermaßen vorgegangen.
In einem sogenannten Lastenheft wurden die Anforderungen einer zu entwickelnden Software mehr oder weniger detailliert beschrieben. Häufig wurden dazu externe Berater oder Business Analysten genutzt, die mit viel Aufwand dieses Dokument geschrieben haben. Dazu gab es dann unzählige Meetings, in denen die Ideen besprochen und diskutiert wurden. Nicht selten hatte dieses Dokument viele hundert Seiten und die Erstellung des Lastenheftes benötigte häufig mehrere Monate, wenn nicht sogar mehr. Das hing sehr stark von der Komplexität der Aufgabe und von dem Aufwand des Auftraggebers ab.
Was für ein unglaublicher Aufwand?
Dieses Lastenheft wurde dann an potentielle Lieferanten als Ausschreibung verschickt. Bekam nun ein Lieferant den Auftrag für die Entwicklung der Software, musste der Auftragnehmer als erstes ein Pflichtenheft erstellen. Dort hat der Softwarelieferant nun im Detail beschrieben, wie er die Aufgabe umsetzen wird und was der Kunde am Ende genau bekommt. Das Pflichtenheft war am Ende deutlich umfangreicher als das Lastenheft und war die Grundlage für den gemeinsam beschlossenen Vertrag.
Durch diese vorbereitenden Tätigkeiten wurde eine Menge Zeit und damit Geld verbrannt und es wurde in der Zwischenzeit nicht eine einzige Programmzeile geschrieben.
Wir glauben auch, dass beide Dokumente nie vollständig von beiden Seiten durchgelesen wurden. Aber solche Dokumente machten mächtig Eindruck, so dass man nachweisen konnte, dass man sich mit der Aufgabe intensiv auseinandergesetzt hatte.
Weiß ein Programmierer was er tut?
Dann begann die eigentliche Arbeit des Programmierers, der ja nun „genau“ wusste, was er programmieren sollte. Es war ja alles im Pflichtenheft detailliert beschrieben.
Es kam dann zu einem ersten Projektmeeting, wo der Entwickler den Status der Programmierung vorstellte. Nicht selten hatte der Kunde nach dem ersten Meeting das Gefühl, dass das doch nicht das ist, was er haben wollte.
In den meisten Fällen hat der Programmierer aber einfach so weitergemacht. Er weiß ja war was er tut und in dem Pflichtenheft ist alles im Detail beschrieben.
Der Kunde wird nervös!
Das ging solange bis das der Kunde sichtlich nervös die Reißleine zog und Änderungen haben wollte bzw. das Programm nicht so funktionierte, wie er sich das vorgestellt hatte.
Spätestens ab dem Zeitpunkt entbrannte die Diskussion, wer die Kosten für den Mehraufwand tragen soll. Ganz abgesehen von der Zeit, die dadurch verloren gegangen ist.
Wir persönlich haben einige Lasten- und auch Pflichtenhefte früher selbst geschrieben. Wir können uns an kein Dokument erinnern, dass dann tatsächlich der entwickelten Software entsprach.
Man hat also inzwischen erkannt, dass sich Software nicht wie ein Haus oder eine Brücke bauen lässt.
Willst du das haben, was du geplant hast oder das was du brauchst?
Aus dem Grund hat sich inzwischen der agile Ansatz bei der Softwareentwicklung durchgesetzt.
Als Leitsatz gilt: Je mehr du nach Plan arbeitest, desto mehr bekommst du das, was du geplant hast, aber nicht das, was du wirklich brauchst (Quelle Wikipedia).
Ziel der agilen Softwareentwicklung ist, Software viel flexibler zu entwickeln und dabei schneller und kostengünstiger zum Ziel zu kommen.
Die Aufwandskurve soll möglichst flach gehalten werden.Bei der agilen Methode gibt es keine endlosen Planungssessions. Es werden auch keine hunderte Seiten Papier bedruckt. Bei den agilen Prinzipen verständigt man sich grob über die Aufgabe und unterteilt die große Aufgabe in kleine ja winzige Teilaufgaben.
Wie kommt man schneller ans Ziel?
Der Programmierer startet dann mit der Umsetzung dieser ersten winzigen Teilaufgabe. Die Ergebnisse werden so fast jeden Tag präsentiert bzw. spätestens nach einer oder zwei Wochen dem Kunden gezeigt.
In diesem kurzen Meeting wird die Erreichung des konkreten Zieles gecheckt und das nächste kleine Aufgabenziel definiert, welches wieder nach ein oder zwei Wochen präsentiert wird.
Durch diese Herangehensweise kann eine Entwicklung in die falsche Richtung sofort gestoppt werden. Änderungen gegenüber ursprünglichen Planungen sind jederzeit möglich. Allein durch den Wegfall der riesigen Vorplanungen wird deutlich Geld gespart und die Umsetzung schreitet viel schneller voran.
Wie können die Kosten für die Entwicklung geplant werden?
Es mag das Argument aber kommen, dass die Kosten für die Entwicklung im Vorfeld ja gar nicht kalkuliert werden können. Ja, das ist richtig. Hier ist eine grobe Abschätzung am Anfang nötig. Die meisten Unternehmen können aus Ihren Erfahrungen heraus schon in etwa abschätzen, wie groß der Aufwand für die Programmierung einer Software ist.
Fest steht, und das haben viele Beispiele gezeigt, dass die Gesamtkosten der agilen Softwareentwicklung in Summe deutlich günstiger sind als klassische Herangehensweisen.
Wie viele Projekte scheitern?
Dem nicht unumstrittenen Standish Chaos Report 2011 zufolge haben Projekte, die mit agilen Prinzipien erstellt werden, eine deutlich höhere Wahrscheinlichkeit, erfolgreich abgeschlossen zu werden. Seien bei der Anwendung der klassischen Methode nur 14 % erfolgreich, 57 % problematisch und scheiterten 29 % der Projekte, so seien bei agilen Prinzipien 42 % erfolgreich, 49 % problematisch und nur 9 % scheiterten. (Quelle Wikipedia)
Wer also davor steht ein größeres Softwareprojekt zu starten, sollte sich also vorher gründlich überlegen, wie er seine Software entwickeln lassen will. Schon hier kann es sich entscheiden, ob ein Projekt erfolgreich ist oder eben nicht.
Brauchen Sie dabei Unterstützung, so melden Sie sich einfach bei uns!
Spannend für Sie!
Die Lakeshore Operations GmbH ist ein Softwarehaus, welches 2016 gegründet wurde, um Firmen bei den Prozessen der Digitalisierung zu unterstützen. Wir können aus einem Erfahrungsschatz von mehr als 20 Jahren zurückgreifen. Mit IT-Experten aus Rostock und Hamburg sowie Programmierer aus Polen hat die Lakeshore Operations GmbH ein schlagkräftiges Team, um großen oder kleinen Unternehmen bei deren IT oder Softwareprojekten zu unterstützen.
Welchen Weg wollen Sie gehen?
Haben Sie sich entschieden, Ihr Unternehmen auf den aktuellen Stand des digitalen Fortschritts zu bringen? Wollen Sie die richtigen Lösungen finden, damit Sie Ihre Arbeitsabläufe verkürzen können? Dann sind Sie hier genau richtig.
Damit schaffen Sie es, Ihre Mitwettbewerber zu überholen und Ihnen einen Platz am Markt zu sichern. Nicht der Große frisst den Kleinen, sondern der Schnelle die Langsamen.
Wir wünschen Ihnen viel Erfolg dabei!
Herzliche Grüße
Jürgen Möller & Gunnar Bock