Wir leben im Zeitalter der digitalen Disruption. Technologien wie Artificial Intelligence, Cloud oder Blockchain sind den Kindertagen entwachsen. Interessanterweise findet sich bislang kaum eine Diskussion über den Motor, der die digitalen Veränderungen erst auf Touren bringt. Die Rede ist von "Software" - von Code, der in einer computerverständlichen Sprache geschrieben ist und in Summe als Treiber der digitalen Transformation gesehen werden kann.
Viele Unternehmen tun sich schwer, einen verlässlichen und verständlichen Rahmen für Software Entwicklung jenseits einer Team-Ebene zu schaffen. Doch je höher die Geschwindigkeit der Digitalisierung wird, desto klarer muss der Kurs gesteckt werden. Mit der zunehmenden Ablösung wasserfallartiger Vorgehen zur Software-Entwicklung durch agile Verfahren wächst der Bedarf nach Transparenz und Steuerungsmöglichkeiten. Das hier vorgestellte Essenz-Modell adressiert diese Defizite und liefert im Zusammenspiel mit innovativen Werkzeugen einen verlässlichen Rahmen um selbst große und teure Entwicklungsvorhaben im Rahmen der digitalen Transformation und darüber hinaus sicher ins Ziel zu bringen. Essence" ist ein Standard der Object Management Group.
Die Botschaft der heutigen Zeit ist klar: Alles muss agil sein. Aber auch Agilität hat ihre Tücken. Angefangen bei der Fragestellung, was denn überhaupt unter "agil" zu vrstehen ist. Die Beschreibung des Scrum-Prozesses auf einem Bierdeckel zum Beispiel lässt doch sehr viel Spielraum für Interpretationen.
Die Frage ist berechtigt, ob man bei versprochen hoher Geschwindigkeit nicht eher in der Landschaft landet als verlässlich auf der Strecke - sprich auf das Ziel ausgerichtet - zu bleiben. Typische Aussagen eines Scrum-Team-Mitglieds mit agilem Manifest-Aufkleber auf dem Product-Backlog sprechen hierzu Bände: "Ich brauche keinen Plan, denn ich entwickle agil", "Ich weiß, was zu tun ist und brauche nichts zu dokumentieren" oder "Lasst doch das Team selbst herausfinden, was es tun soll". Verantwortliche können das nicht für gut heißen und müssen sich darum kümmern einen verlässlichen Rahmen für die Software-Entwicklung in ihrem Unternehmen zu schaffen.
Essenz - Software-Entwicklung für jeden verständlich
Doch wie lassen sich Leitplanken in Form von Prinzipien definieren, so dass hohe Geschwindigkeiten möglich sind? Wie können den Verantwortlichen in verständlicher Sprache die Kernelemente der Software Entwicklung vermittelt werden? Antworten auf diese Fragen liefert das "Essenz-Modell". Es spannt einen einheitlichen Schirm über alle Software-Entwicklungsverfahren. Angefangen bei sequentiellen, wasserfall-artigen Vorgehen bis hin zu agilen Varianten. Möglich wird dies durch die Anwendung einiger einfacher Prinzipien.
Lesen Sie mehr zu agilen Methoden:
Der Name "Essenz" ist Programm. Es geht um die "essenziellen" Zutaten für eine erfolgreiche Software-Entwicklung. Was bedeutet das in der Praxis? So ist es zum Beispiel sinnvoll, sich konsequent mit den Anforderungen des Kunden zu befassen und diese strikt im Rahmen von Projekten weiterzuentwickeln und zu detaillieren. Am Beispiel wäre das das Alpha "Anforderung". Die essenziellen Zutaten werden im "Essenz-Modell" "Alpha" genannt - ein Akronym für: Abstract-Level Progress Health Attribute.
Trennung des "Was" vom "Wie"
Essenz trennt konsequent Inhalte (Was?) und Abläufe (Wie?). Das Modell macht lediglich Vorgaben für Inhalte. Damit sind die Abläufe (Software-Entwicklungsprozesse) für die Softwaremanager oder -entwickler frei gestaltbar. Dies ist wichtig, weil diese rigide Prozessvorgaben oft als "Gängelung" betrachten.
Im weitesten Sinne ist dies auch vergleichbar mit "Kuchen backen". Sicherlich gibt es eine Vielzahl an Rezepten. Den meisten ist gemein, dass die Basiszutaten, wie zum Beispiel Butter, Zucker und Mehl die gleichen sind. Sie stellen die essenziellen Inhalte dar. Wie die Zutaten dann gemischt und weiter ergänzt werden, bestimmt der Bäcker.
Mit der Trennung von "Was" und "Wie" endet der Disput darüber, welches Vorgehen "das Beste" ist. Der Bäcker entscheidet nicht die Zutaten, sondern das Vorgehen der Mischung. Bedeutet: Von Unternehmensseite wird als Standard festgelegt, welche Inhalte zu erstellen und im Zeitverlauf weiterzuentwickeln sind. Die Orchestrierung der Inhalte wird dem oder den Verantwortlichen überlassen. Damit deckt das Essenz-Modell die volle Spannbreite von Wasserfall bis Agil ab.
Fortschrittstransparenz über "Zustände" und "Checklisten"
Wie lässt sich nun der "Fortschritt" in der Software-Entwicklung bestimmen? Viele Software-Projekte liefern lange Zeit einen grünen Status bis der Endtermin erreicht ist und werden dann quasi über Nacht zu einem kritischen Projekt. Frühindikatoren Fehlanzeige.
Im Essenz-Modell läuft dies anders. Der Fortschritt der Alphas wird mit Hilfe von festgelegten "Zuständen" im Zeitverlauf transparent gemacht. Ob ein Zustand erfüllt ist, wird anhand von Antworten auf Checklistenfragen ermittelt. In Summe lässt sich daraus ermitteln, welche Fortschritte in der Software-Entwicklung gemacht worden sind und ob sich die Software-Entwicklung auf dem richtigen Weg befindet.
"Risks under Control" als wesentlicher Meilenstein
Wie wichtig das Risikomanagement im Rahmen des Projektmanagement ist, hat sich leider noch viel zu wenig herumgesprochen - ist doch der Umgang mit Risiken in vielen Unternehmen eine Unter-Unter-Unter-Disziplin des Projektmanagements. Im Rahmen der Essenz-Betrachtung lässt sich das Thema Risiko dadurch beachten, dass es einen Zustand "Risks under Control" gibt. In jedem software-basierten digitalen Transformationsprojekt ist das der Zeitpunkt, zu dem einem Kunden auf Grundlage lauffähiger Software ein erster Eindruck vermittelt werden kann. Am Ende stellt nur "lauffähige Software" und keine Dokumentation einen geeigneten Indikator dar, um Risiken zu beherrschen.
Das Essenz-Modell erlaubt eine ganzheitliche Aussage zum "Gesundheitszustand" der Software-Entwicklungs-Prozesse. Der Zustand "Risk under Control" sichert das Vorhandensein von lauffähiger Software - es sagt jedoch noch nichts darüber aus, welcher Umfang und welche Güte die entwickelte Software hat. Dafür gibt es mittlerweile innovative Werkzeuge, die quasi eine Landkarte über Umfang und Inhalt der entwickelten Software erstellen. Weiterhin lässt sich der Zusammenhang zwischen Fortschritt und Ergebnis entsprechend visualisieren.
Aus dem Zusammenspiel von Essenz-Modell und der Nutzung innovativer Werkzeuge erhalten die Verantwortlichen nicht nur objektivierte Aussagen bezüglich Status und Reife der Software-Entwicklung sondern auch Informationen, ob die bisher entwickelte Software dem erforderlichen Reifestatus entspricht. Gerade vor dem Hintergrund digitaler Entwicklungsvorhaben mit Investitionen in teilweise Millionenumfang ist diese Transparenz zum Zwecke der Planung und Steuerung digitaler Vorhaben unerlässlich.
Einige bekannte Unternehmen wie zum Beispiel Google oder die Münchener Rück haben bereits die Vorteile des Essenz-Modells erkannt und als Standard adaptiert. Daraus lässt sich das Potenzial vom Essenz-Ansatz für andere Unternehmen ableiten, endlich einen "Griff" an ihre Software-Entwicklung zu bekommen. Außerdem lassen sich Spezifika des jeweiligen Unternehmens in das Modell integrieren, sodass das Modell auch über die Software-Entwicklung hinaus für den Projekteinsatz taugt.
Fazit
Auf den Punkt gebracht, bietet der Essenz-Rahmen folgende Vorteile für Sie:
Stellen Sie "Fortschritt" und "Gesundheit" ihrer software-basierten digitalen Transformationsprojekte in einer Art und Weise dar, die wirklich jeder verstehen kann.
Lösen Sie sich von der dogmatischen Diskussion im Spannungsfeld von nicht-agilem und agilem Arbeiten, indem Sie die Leitplanken als Rahmen fixieren und das Vorgehen den Verantwortlichen überlassen.
Ermitteln Sie auf einfache Art und Weise, welchen Fortschritt Ihr(e) Entwicklungsteam(s) bisher erzielt haben (unabhängig davon, ob nicht-agil, hybrid oder agil) und wo es gegebenenfalls Barrieren geben wird.
Beherrschen Sie Ihre Risiken von Anfang an und skalieren Sie kleine Vorhaben auf größere.
Bekommen Sie ein Instrument in die Hand, um Transparenz zu ihren digitalen Vorhaben zu schaffen, bevor Sie die Investitionen vollumfänglich ausgeschöpft haben.
Nutzen Sie verfügbare Werkzeuge und Tools, um den aktuellen Entwicklungsstand des Programmcodes transparent zu machen, und die Planung und Steuerung zu verbessern.