Agile Software-Entwicklung nach Scrum

Die PROJEKTIONISTEN® verstehen sich als kundennaher Partner und Dienstleister. Daher sind agile Werte und Prinzipien ein idealer Leitfaden für eine Zusammenarbeit.

Die höchste Priorität ist es, Ihnen durch frühe, kontinuierliche Auslieferung der Software (so genannte Inkremente) einen transparenten Einblick in den Fortschritt und Entwicklungsstand zu gewähren.

Diese hochfrequente Lieferfähigkeit ist eine Feedbackschleife zu Ihnen, die als Grundlage für eine enge Zusammenarbeit gemeinsam am Produkt dient. Darüber hinaus bietet es perspektivisch Chancen, auf wechselnde Anforderungen zu reagieren.

Scrum als Rahmenwerk bietet uns die Möglichkeit, die agilen Werte und Prinzipien auf unseren Konzeptions- und Entwicklungsprozess abzubilden. Hierbei greifen wir auf die im offiziellen Scrum-Guide definierten, etablierten Vorgehenszyklen zurück.

 

Scrum Prozess Grafik

Was bedeutet es nach „Scrum“ zu arbeiten?

Im agilen Vorgehen ist die Grundannahme, dass man am Anfang eines Projekts gar nicht wissen kann, was sich im Projektverlauf ändern wird. Komplexe technische Entwicklungen, dynamischer Wettbewerb und sich wandelnde Nutzungsgewohnheiten führen zu kontinuierlichen Anpassungswünschen der Anforderungen.

Agile Projektarbeit begegnet diesem Problem: Es wird nicht blind einem Pflichtenheft gefolgt, sondern in kurzen Entwicklungszyklen, sogenannten Sprints, in sehr enger Zusammenarbeit mit dem Auftraggeber an abgeschlossenen Ergebnissen gearbeitet.

Im Vordergrund steht hierbei immer der Mensch. In erster Linie der letztendliche Nutzer der Anwendung, die entsteht. Über verschiedene Werkzeuge in der Konzeptionsphase (Sprint 0) werden die Bedürfnisse der Nutzer herausgearbeitet. Die Formulierung von User Stories, die immer den Sinn für den Nutzer in den Mittelpunkt stellen, definiert die Arbeitspakete.

Die klassische Auftraggeber-/Auftragnehmer-Beziehung wandelt sich so zu einer echten gemeinsamen Team-Arbeit, in der ausschließlich die bestmögliche Lösung für die Nutzer im Zentrum steht.

Was bedeutet es nach „Embedded Agile“ zu arbeiten?

In vielen Projekten gibt es weiterhin feste Budget-Vorgaben. Um auch dieser Rahmenbedingung für das Projekt gerecht zu werden, haben wir das Vorgehen „Embedded Agile“ entwickelt. Hierdurch wird es möglich, für den Entwicklungsprozess weiterhin die agile Methode „Scrum“ anzuwenden und gleichzeitig einen Abgleich mit dem Budget-Rahmen zu erreichen.

Bei jedem Sprint wird auch ein Abgleich mit der Meilenstein- und Budget-Planung vorgenommen. Aus jedem Sprint läßt sich ableiten, welche Budget-Prognose bei gleichen Inhalten erreicht wird. Daraus können dann Maßnahmen, wie z.B. Erhöhung/Reduzierung des Budgets, Anpassung des Funktionsumfangs oder alternative Implementierungsvorgehen entschieden werden.

Somit entsteht auch hier eine enge partnerschaftliche Zusammenarbeit aller Beteiligten (Auftraggeber und Auftragnehmer).
Voraussetzung ist gegenseitiges Vertrauen auf folgender einfacher Basis:

  • Das Entwicklerteam steckt sein 100%iges Engagement in die Erreichung der möglichst optimalen Umsetzung
  • Der Kunde stellt die Informationen und Finanzierung zu den tatsächlich umgesetzten Features sicher
  • Alle Beteiligten sind im aktiven Austausch durch das agile Vorgehen „Scrum“

Was sind die Vorteile an der agilen Arbeitsweise?

  • Der Kunde arbeitet eng mit dem Entwicklungsteam zusammen (als Product Owner)
  • So kann das bestmögliche Ergebnis im Sinne des Kunden entstehen
  • Sehr hohe Transparenz
  • Sich ändernde Anforderungen können berücksichtigt werden
  • Missverständnisse werden durch Dialog vermieden
  • Alle Projektbeteiligten kennen jederzeit den aktuellen Projektstatus
  • Schwierigkeiten werden schnell erkannt
  • Retrospektive nach jedem Zyklus (Sprint)
  • Wie und wo können wir uns verbessern?
  • Qualität und Effizienz wird kontinuierlich verbessert
  • Regelmäßige Abnahmen
  • Am Ende jedes Sprints werden komplett fertige Funktionen ausgeliefert

Wie läuft ein agiles Projekt ab?

In einer ersten Phase werden die Anforderungen gesammelt. In gemeinsamen Workshops mit dem Auftraggeber werden mit Hilfe von verschiedenen Konzeptionstools möglichst umfassende Informationen zum Sinn und Zweck der Anwendung, dem Wesen der Nutzer(gruppen), Nutzungskontexten und Szenarien gesammelt. Der Umfang der Anwendung wird mit User Stories beschrieben, die mit Akzeptanz-Kriterien versehen werden.

In einer technischen Konzeption werden Anforderungen an Hardware, Beschreibung von Schnittstellen, Vorgaben an verwendete Frameworks oder Software-Module und Sicherheitsvorgaben definiert.

Sind alle erforderlichen Informationen gesammelt und dokumentiert, ist das Backlog für die agile Entwicklung gefüllt.

Nun wird der erste Sprint gemeinsam im Team geplant und vereinbart.

Wir nutzen für den gesamten Entwicklungsprozess die Software-Tools von Atlassian (Jira, Zephyr, Bitbucket, Confluence, …).

Während eines Sprints nimmt der Auftraggeber selbst oder vertreten durch einen Proxy-Product Owner auf Seiten der PROJEKTIONISTEN® an täglichen Abstimmungen und regelmäßigen Reviews und Retrospektiven teil. Jederzeit ist für alle Projektteilnehmer transparent, wo das Projekt steht.

Am Ende eines Sprints liegt das vereinbarte Ergebnis vor und kann abgenommen werden. Alles was gut oder schlecht gelaufen ist, wird formuliert und trägt so zu kontinuierlicher Verbesserung und Effizienzsteigerung bei.

Wie kann ich als Kunde sicher sein, dass für mich die beste und günstigste Lösung entsteht?

Als Kunde ist man als Product Owner direkt in das Projekt eingebunden und kann jederzeit steuernd eingreifen. Gleichzeitig kann der Kunde in alle Systeme, die den Entwicklungsprozess ausmachen (Tickets, Aufwände, Status), einsehen.

 
 

Eines aber ist für Sie immer sicher: Unsere Projektarbeit garantiert Ihnen, dass Sie eine leistungsfähige Anwendung erhalten, die Ihre Anforderungen und Erwartungen nicht nur erfüllt, sondern übertrifft. Das beweisen auch unsere Referenzen.