Die „Essenz“ der Software-Entwicklung

Das "Essenz"-Modell spannt einen einheitlichen Schirm über alle Software-Entwicklungsverfahren - von klassisch Wasserfall bis hin zu agil. Die Anwendung einiger einfacher Prinzipien schafft Transparenz und Ordnung. [...]

Um den Durchblick in der eigenen Softwareentwicklung zu behalten, braucht es die richtigen Methoden (c) pixabay.com

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.

Ein Modell als Rahmen für jedwede Software-Entwicklung (c) Oliver Laitenberger

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 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.

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.

Elemente des Essenz-Modells für Software-Entwicklung (c) Oliver Laitenberger

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 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.

Essenz-Meilenstein: Risks under Control (c) Oliver Laitenberger

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.

Bewertung Umfang, Inhalt u. Fortschritt mit „seerene“ (c) seerene

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.

*Dr. Oliver Laitenberger leitet bei der Managementberatung Horn & Company das Kompetenzzentrum Digitalisierung und Technologie.


Mehr Artikel

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*