User Stories – Tasks – In Progress – Testing – Done

Unser Team aus professionellen und erfahrenen Softwareentwicklern versteht sich auf die Planung, Umsetzung, Einführung und Betreuung agiler Softwareentwicklungsprojekte. Dabei greifen wir auf eine über 20-jährige Erfahrung im Business-to-Business- (B2B) sowie Endkundenbereich (B2C) zurück. Im Fokus steht für uns dabei die Zufriedenheit unserer Kunden, indem wir auf Schnelligkeit, hohe Qualität, Zuverlässigkeit und Transparenz setzen.

Aufgrund unserer flachen Strukturen und kleinen agilen Teams können wir erste Ergebnisse bei der Entwicklung neuer Softwaresysteme innerhalb sehr kurzer Zeiträume bereitstellen. Gemäß agiler Vorgehensweisen stellen wir operativ verwendbare Ergebnisse mit jedem Iterationszyklus bereit, wobei unsere Iterationszyklen mindestens zwei und maximal vier Wochen betragen.

Für uns als Softwaredienstleister ist die Bereitstellung einer hohen Produktqualität in vielerlei Hinsicht entscheidend. Am Wichtigsten sind sicherlich die Zufriedenheit Ihrer Anwender, die Stabilität und die Erweiterbarkeit der Anwendungen. Dies stellen wir durch Testautomation, technische Dokumentation, automatisierte Bereitstellungsprozesse (engl. Deployment) und den Einsatz von erprobten Entwurfsmustern (engl. Design Pattern) sicher.

Für Sie als unseren Auftraggeber bieten wir ein Höchstmaß an Zuverlässigkeit, indem wir einen dedizierten Ansprechpartner für alle Belange an die Seite stellen. Allein durch die agile Vorgehensweise unserer Projekte finden regelmäßige Meetings und ein genereller Austausch auch auf kurzem Dienstwege statt. Wir verzichten somit auf eine übermäßige Bürokratie, sodass wir Entscheidungen direkt mit Ihnen gemeinsam in den agilen Projektteams treffen und umsetzen können.

Mithilfe unseres verwendeten Projektmanagementsystems (Easy Redmine) können wir Ihnen ein Höchstmaß an Projekttransparenz bieten, was von regelmäßigen Auswertungen über erfasste Zeiten und Burndown-Charts bis hin zu einem direkten Zugriff auf unserer Projektmanagementsystem gehen kann. Sämtliche Projektfortschritte, anfallenden -kosten und –aufwände können wir Ihnen zu jederzeit und vollständig bereitstellen.

Agil mit Scrum

Neue innovative und individuelle Projekte führen wir nach agilen Vorgehensmodellen durch, wobei wir speziell den Prinzipien von Scrum folgen. Bei dieser Vorgehensweise geht es sehr einfach ausgedrückt um eine enge Zusammenarbeit zwischen Ihnen als Auftraggeber (genannt Product Owner) und dem von uns bereitgestellten Entwicklungssteam sowie kurze Entwicklungszyklen (Iterationen, „Sprints“) an deren Ende immer ein Stück einsatzfähiger Software entsteht.

Diese Iterationen werden so lange durchlaufen bis alle Anwendergeschichten (genannt User Stories) und die darin definierten Akzeptanzkriterien vollständig erfüllt sind. Entscheidender Vorteil ist, dass die Ergebnisse zu jeder Zeit von Ihnen greif- und damit bewertbar sind. Projekte laufen demnach nicht mehr in die Gefahr, zu einem bestimmten Zeitpunkt nur noch einem Selbstzweck zu dienen, sondern können jederzeit hinterfragt und in ihrer Wertschöpfung bewertet werden.

Wir haben in unseren Projekten die Erfahrung gemacht, dass eine Reinkultur agiler Methodiken wie Scrum, also die strikte Einhaltung der Methodik, nicht für alle Kunden und alle Projekte perfekt geeignet ist. Aus diesem Grund gehen wir hier auf die Gegebenheiten Ihres Unternehmens und Ihrer Erfahrungen mit agilen Projekten ein, indem wir Anpassungen, aber auch Erweiterungen im Ablauf vornehmen.

Ein ideales agiles Projekt nach Scrum hat für uns die folgenden Eckpunkte:

Projektanbahnung „Der Initiale Sprint“

Wir freuen uns darüber, dass Sie mit uns in Kontakt getreten sind und uns in Erwägung ziehen, die Umsetzung Ihres individuellen Softwareprojektes durchzuführen. Um Ihnen eine Hilfe bei der Entscheidungsfindung zu bieten und gleichzeitig eine möglichst genaue Projektierung erstellen zu können, führen wir einen „Initialen Sprint“ durch. Zentrale Punkte des „Initialen Sprint“ sind:

  • Anforderungsanalyse (Sichtung, Formulierung und Erweiterung der User Stories)
  • Zieldefinition
  • Erstellung des Initialen Product Backlog
  • Skizzierung des Gesamtsystems (Technologien, APIs, Idee des Datenmodells)
  • Anwendungsworkflow
  • Initiale Sprint- und Releaseplanung
  • Risikobewertung
  • Zusammenfassung und Preis-Range für das Gesamtprojekt

Für den „Initialen Sprint“ planen wir in der Regel 2 Wochen enger Zusammenarbeit mit Ihnen (ca. 80-100 Stunden). Den „Initialen Sprint“ berechnen wir ausschließlich bei nicht Zustandekommen des Projektes. Der Hintergrund ist, dass im Zuge dieses Sprints viele Projektdetails erarbeitet werden, die bereits einen enormen Nutzen für Sie und das Projekt inhaltlich darstellen. Mit den Erkenntnissen dieses Sprints steht ein direkter Projektstart für uns aus fachlicher Sicht nichts mehr entgegen.

Rolle des Auftraggebers

Sie als Auftraggeber haben die Projektidee und wissen – salopp gesagt – wo die Reise hingehen soll. Um dies fachlich an das Entwicklerteam transportieren zu können, stellen Sie mindestens einen Verantwortlichen bereit, der die Rolle des Product Owners übernimmt. Gerne können diese Rolle auch zwei Personen einnehmen, was in Vertretungssituationen aber auch bei der Verteilung von Verantwortungen und des Zeiteinsatzes hilfreich sein kann. Wichtig ist in diesem Fall, dass beide Personen in Ausübung der Rolle des Product Owners gleichberechtigt sind. Weiterhin ist entscheidend, dass diese Person weitestgehend, idealerweise vollständig, aus dem täglichen operativen Geschäft befreit ist. Nur so ist es aus unserer Erfahrung möglich, sich vollständig dem Projekt widmen und vor allem die fachliche Kompetenz einbringen zu können.

Ein erfolgreiches Projekt ist maßgeblich abhängig von der fachlichen Kompetenz und zeitlichen Verfügbarkeit des Product Owners, da dieser in nahezu jedem Teilaspekt bei der agilen Vorgehensweise benötigt wird.

User Stories

Eine weitere wichtige Aufgabe, die Sie in der Rolle als Product Owner erfüllen müssen, ist die Definition von Anforderungen auf einer fachlichen Ebene, genannt User Stories. Solche User Stories definieren Akzeptanzkriterien, welche für die Abnahme entscheidend sind. Aus den User Stories definiert dann später das Entwicklerteam konkrete technische Aufgaben (engl. Tasks), die notwendig sind um eine User Story zu realisieren.

Sie als Product Owner stehen gerade im Zuge dieses Prozesses in engem Kontakt mit dem Entwicklerteam und bekommen somit mit der Zeit ein Gefühl, Ihre Anforderungen besser einschätzen und diese in die Release-Planung überführen zu können. Weiterhin ist die Erstellung von Task aus User Stories von besonderer Wichtigkeit, da Sie hier eine Rückmeldung zum Umfang und den Aufwänden bekommen und direkt eingreifen können, um Anforderungen zu erweitern oder einzugrenzen, immer in Hinblick auf Zeit und Kosten.

Wir unterstützen Sie gerade am Anfang sehr gerne bei der Formulierung von User Stories und Akzeptanzkriterien.

Release-Planung

Bei einer agilen Vorgehensweise schreckt anfangs häufig – auch aufgrund fehlender oder wenigen Erfahrungen – die scheinbar fehlende Planbarkeit ab, sprich Zeit- und Kostenabschätzungen machen zu können. Mit zunehmender Erfahrung aus agilen Projekten werden Sie aber feststellen, dass die Risiken von Zeit- und Kostenüberschreitungen deutlich geringer sind als bei klassisch durchgeführten Projekten. Wichtig für eine grundlegende Planbarkeit, welche aber nicht in Stein gemeißelt ist und sich dynamisch an veränderte Bedingungen und Anforderungen (Product Backlog) anpassen kann, ist die Release-Planung.

Hierbei planen Sie als Product Owner grundlegend, welche User Stories in welchen Iterationszyklen umgesetzt bzw. abgeschlossen werden sollen. Somit kann eine planbare Größe an Iterationszyklen anvisiert werden, womit auch die Kosten kalkuliert werden können. Eine solche Releaseplanung wird immer genauer mit zunehmendem Projektfortschritt und der Erfahrung in Abschätzung von Aufwendungen, idealerweise in enger Zusammenarbeit mit dem Team.

Rolle des Entwicklungsteams

Wir stellen in Abhängigkeit des Projekts ein Entwicklungsteam bereit, welches intensiv mit Ihnen zusammenarbeitet und in ständigem Austausch steht. Zusätzlich stellen wir zur Überwachung der agilen Vorgehensweise einen Scrum Master bereit, welcher das Team bei seiner täglichen Arbeit organisatorisch und fachlich unterstützt sowie Hindernisse beseitigt. Der Scrum Master hält damit allen Beteiligten den Rücken frei, damit eine optimale Fokussierung auf die eigentlichen Aufgaben gegeben ist.

Iterationszyklen (Sprints)

Wir empfehlen Iterationszyklen, auch genannt Sprints, mit einer Dauer von zwei bis maximal 4 Wochen. Nach jedem Sprint müssen darin enthaltenen Tasks abgeschlossen sein und es muss ein Stück verwendbare Software entstehen. Jeder Sprint wird dabei detailliert mit Ihnen abgestimmt, sodass nur Themen bearbeitet werden, die auch eine Relevanz und Notwendigkeit für Sie haben. Somit können Sie als Product Owner jederzeit steuernd in die Richtung der Entwicklung eingreifen, wodurch „Extrarunden“ oder unnötige Aufwände vermieden werden.

Am Anfang eines Sprints machen Sie und das Entwicklerteam gemeinsam die Sprint-Planung, sprich welche konkreten Tasks zur Erreichung konkreter Anforderungen (User Stories) notwendig sind. Am Ende eines Sprints folgt ein Review-Termin, bei welchem auch die Abnahme durchgeführt wird.

Abrechnung

Mit jedem Sprint Review und der damit verbundenen Abnahme durch Sie erfolgt die Abrechnung des Sprints. Hierbei werden die angefallenen Stunden zum vereinbarten Projektstundensatz abgerechnet. In Hinblick auf die vollständige Transparenz wird Ihnen eine Aufstellung jeder angefallenen Stunde ausgehändigt. Jede Stunde kann dabei den konkreten Tasks und damit den zugrundeliegenden User Stories zugeordnet werden.

Preise