Erfolgreiche Lieferung in hoher Qualität
mittels agiler Vorgehensweisen

Erfolgreiche Delivery Organisationen sind effizient, schnell und weisen eine hohe Ergebnisqualität auf. Wir führen diese Modelle typischerweise schrittweise und kundenspezifisch ein. Allerdings lässt sich aus den wesentlichen gemeinsame Kerneigenschaften ein methodischer Leitfaden für den Aufbau von projektspezifischen Liefermethoden ableiten.

 

Effektive Problem- und Anforderungsanalyse legen die Grundlage für effiziente agile Umsetzung

Fachlich sinnvoll geschnittene, erweiterbare Zielarchitekturen sind das Ergebnis einer fundierten Analyse der fachlichen Problemstellungen und nicht-funktionalen Anforderungen. Dieses „Vermessen“ der fachlichen Breite und Tiefe, sowie die Verzahnung zwischen fachlichen Anforderungen und der technischen Architektur, sind differenzierende Faktoren für die Tragfähigkeit und Erweiterbarkeit der Zielarchitektur und letztendlich der erfolgreichen Realisierung der Anwendungen.

Wir greifen in der Anforderungsanalyse und Konzeption auf agile Methoden zurück, adaptieren diese jedoch – immer mit der Zielsetzung der Effektivität – an den Reifegrad der Kundenorganisation. Um Linienverantwortliche der Fachseiten effizient „abzuholen“ und Entscheidungen zu unterstützen, bereiten wir Fachlichkeit beispielsweise in Form von visualisierten Storyboards auf. Grobkonzepte und funktionale Modelle eignen sich als effektives Vehikel für die strukturierte Einbindung von Stakeholdern mit größerer Distanz zur Lieferorganisation, z.B. IT-Security, Legal oder Compliance. Ein zentraler Erfolgsfaktor ist die effektive Organisation und stark steuernde Prozessdurchführung von der Problemanalyse bis zur Zerlegung der Anforderung in fachliche Einheiten.

 

End-to-End mandatierte Teams liefern inkrementell funktionsfähige Zwischenstände 

Die Zielsetzung ist so früh wie möglich funktionsfähige Teile der Software auszuliefern und früh zu integrieren. Mit jedem Zyklus wird die Software auf Basis von Konzeptionsartefakten erweitert. Dieses Vorgehen verifiziert zu einem frühen Zeitpunkt die Architektur- und Lösungsansätze und ermöglicht wertvolles Feedback von Stakeholdern. Damit werden Unsicherheiten reduziert und die Reaktionsfähigkeit in Hinblick auf nicht optimal getroffene Entscheidungen sichergestellt. Zudem legt dieser Ansatz die Grundlage einer von Beginn an soliden Entwicklungsgeschwindigkeit („sustainable pace“), etabliert eine effiziente Zusammenarbeit mit den relevanten Stakeholdern und schafft Transparenz.

Im Scrum übernehmen idealerweise vertikal geschnittene Teams alle Aufgaben, die zur Herstellung eines vertikal fachlichen Blocks nötig sind, d.h. von der Business Analyse, Konzeption, Entwicklung bis hin zum manuellen Testing und der Dokumentation. Die Qualität wird noch einmal signifikant erhöht, wenn die Verantwortung für DevOps, Betrieb und Wartung im fachlich zuständigen „Change“-Team verankert ist („you build it, you run it“). Je mehr Verantwortung die Teams in der IT-Wertschöpfung übernehmen, desto höher das Verantwortlichkeitsgefühl und die Ergebnisqualität. Exzellentes Personal und Investitionen in Know-how-Aufbau sind dabei die zentralen Voraussetzungen. Eine wichtige Basis für eine konstante Entwicklungsgeschwindigkeit und spätere Skalierung, stellt die front-to-back Lieferfähigkeit der Teams dar. Das erreichen wir beispielsweise durch folgende Faktoren:

  • Senacor-Analyst und -Entwickler decken mindestens zwei Aufgaben- bzw. Technologiebereiche (z.B. Frontend-/Backendentwicklung) ab,
  • alle Mitarbeiter bringen ausgeprägte Analyse- und konzeptionelle Skills mit und
  • Onboardingprozesse werden effizient gelebt sowie ständig optimiert (z.B. durch Wiki-Checklisten und Buddy-Teams zur Einarbeitung).

 

Systematisches Managen von Anforderungen und transparentes Fortschrittsreporting

Gerade bei Großprojekten ist es erforderlich ein Gesamtbild des Scopes zu entwickeln, um den Fortschritt zu messen. Hierfür ist es notwendig einen effektiven Prozess aufzusetzen, der das Einsteuern eines Epics (größerer funktionaler Block) über einen Eingangskanal und die schrittweise Verfeinerung bis zu einer umsetzungsbereiten User Story (Featureebene) effizient und kontinuierlich organisiert. Ein gut auf die Ziele ausgerichtetes, priorisiertes Backlog ist ein wichtiger Erfolgsfaktor für eine effiziente Entwicklung in gleichbleibender Geschwindigkeit. Dabei bringen wir insbesondere unsere Erfahrung ein, zum richtigen Zeitpunkt vom Groben ins Feine zu konzipieren. Dem „lean waste“ Ansatz folgend, stellen wir eine kurze Durchlaufzeit der Anforderung bis zur umsetzbaren User Story bei hoher Qualität sicher. Außerdem stellen wir eine konsequente Ausrichtung auf den zu erzielenden Nutzen und damit die Beziehung zwischen Roadmap und Sprint Backlog her (Outcome Orientierung).

Ein wichtiger Grundpfeiler für einen transparenten Fortschritt ist die schrittweise Erhebung und Verfeinerung von relevanten Kennzahlen. So haben sich beispielsweise Story Points für die Ermittlung der Velocity bewährt. Hierfür bringen wir erprobte Dashboards mit ein. Um Fehlmessungen oder falsche Interpretationen zu vermeiden, ist im Umgang mit diesen Größen ein durchgängiges Verständnis in den Teams und kontinuierliche Kalibrierung der Einheiten entscheidend. Richtig verwendet, liefert die Velocity einen wichtigen Ansatzpunkt zur Analyse von potenziellen Produktivitäts- bzw. Qualitätsproblemen.

 

Einführung eines effektiven Release- und Abhängigkeiten-Management sowie Entkopplung

Die Einführung von neuer Software – mit oder ohne Ablösung von bestehenden Systemen – unterliegt oftmals gewissen Voraussetzungen. Dies ist unabhängig davon, ob das Projekt im Wasserfallmodell oder agil geliefert wird. Im Besonderen bei der schrittweisen Ablösung von Altsystemen gilt es diese zu jedem Release weiterhin lauffähig zu halten.

In der Umstellung des Liefermodells werden diese für den Liefererfolg zentralen Aufgaben häufig vernachlässigt. Aus diesem Grund etablieren wir auch in agilen Projekten die Methodik für ein straffes managen der Abhängigkeiten und ein Releasemanagement unter Berücksichtigung dieser Rahmenfaktoren. Die Aufgabe des übergreifenden Release- und strategischen Backlog-Managements wird zentral etabliert. Im Fokus steht dabei eine funktionale Modellierung, die die Abhängigkeiten im Fachmodell herausarbeitet. Daraufhin erfolgt eine Prüfung und Erarbeitung von Entkopplungen bzw. Releasebündelungen.

 

Maßnahmen für hohe Ergebnisqualität

Für nachhaltige Effizienz in der Entwicklung ist es zwingend erforderlich von Beginn an eine hohe Priorität auf Qualität zu legen. Stabilität bei Rollouts im kurz-zyklischen Releasing ist essenziell. Daher definieren wir vom Start weg einheitliche Qualitätsstandards (Staging, Definition of Done etc.) sowie deren Erhebung und Messung, z.B. Sonar für die Qualitätssicherung im Code oder die Velocity zur Identifikation von Technical Debt.

SW-Engineering Praktiken, die einheitlich hohe Qualität sicherstellen, sind ein wesentlicher Grundpfeiler unserer Ausbildung. Diese sind insbesondere im skalierten, verteilten Arbeiten ein wichtiger Erfolgsfaktor. Hierzu gehören beispielsweise eine einheitliche Verwendung von bewährten Lösungsmustern in der Programmierung, Peer Reviews und das Test-driven Development.

 

Vorgabenkonforme, ressourceneffiziente Dokumentation

Schlanke, adressaten-gerechte Dokumentation im agilen Sinn ist kein Widerspruch zu hohen regulatorischen Anforderungen, wie beispielsweise im Bankenumfeld. Die Kriterien hinsichtlich Korrektheit, Vollständigkeit, Nachvollziehbarkeit und Revisionssicherheit werden – sofern richtig umgesetzt – durch agile Vorgehensweise sogar begünstigt. Dies ist durch die Dokumentation in Textverarbeitungsprogrammen kaum möglich. Die Anwendungsdokumentationen in sinnvoller Granularität sind darüber hinaus eine wertvolle Quelle für die Einarbeitung neuer Kollegen und die Weiterentwicklung des Systems (Stichwort „effizientes Onboarding“). Deshalb haben die Teams ein hohes Eigeninteresse an einer vollständigen Dokumentation. Das Update der Dokumentation bei Feature-Erneuerungen ist ein Akzeptanzkriterium in der „Definition of Done“. Dies führt automatisch dazu, dass die Dokumentation zum Abschluss jeder Iteration aktuell ist. Bereitstellung passender Toolstacks – z.B. eine browserbasierten Wiki-Anwendung in Confluence – unterstützt die Effizienz und Revisionssicherheit (Backupfähigkeit, Nutzerverwaltung, Historisierung etc.).

Ansprechpartner

Dr. Ulf
Brusch

Managing Consultant

Nürnberg

Experte für agile Liefersteuerung