Das agile Projektvorgehen wird von vielen Digital Agenturen und Software Dienstleistern angepriesen und als die Antwort sämtlicher Entwicklungsprobleme betrachtet. In der IT und Digitalisierung ist die Agilität zum grossen Buzzword geworden und die traditionelle Wasserfallmethode wird als überholt, unflexibel oder gar unwirtschaftlich betrachtet.
Ist diese Überzeugung gerechtfertigt oder ist die Wahrnehmung in der Tech-Szene von stetigen Trendbegriffen verfälscht, weil sich Agenturen und Softwareunternehmen stets mit den neuesten Trends wie dem Agilitäts-Hype schmücken wollen?
Projektmanagement mit der Wasserfall-Methodik
Im klassischen Wasserfallmodell arbeiten alle Involvierten nach einem vordefinierten und phasenweisen Vorgehen. Die nächste Phase wird erst angegangen, nachdem die Resultate der Vorphase, auch Milestones genannt, von allen abgenommen sind.
In Software, Web und App-Projekten bestehen die Phasen vereinfacht aus der Konzeption, Entwicklung und Einführung. Das Endprodukt ist zwar in einer Spezifikation schon in der Konzeption ausgearbeitet, die ersten fassbaren Resultate allerdings erst während der Einführung ersichtlich.
Agiles Projektmanagement in Softwareprojekten
Agile Projekte starten nicht mit einer detaillierten Konzeptionsphase, in welcher die Softwareanwendung spezifiziert wird. Die Software wird schrittweise definiert, programmiert und kontinuierlich verbessert bis ein zufriedenstellendes Endprodukt realisiert ist.
Das Vorgehen erfolgt in sogenannten Sprints. Die Zwischenergebnisse werden analysiert und neue Zielsetzungen und Prioritäten für den nächsten Sprint gesetzt. Dabei werden alle Stakeholder während der gesamten Projektdauer in SCRUM-Meetings zur Entscheidung mit einbezogen. Korrekturen und Kurswechsel sind praktisch immer möglich oder sogar erwünscht.
Unterschied zwischen agiler und Wasserfall-Methode
Um die Softwareentwicklung mit agiler und Wasserfall Methodik zu veranschaulichen, ziehen wir einen Vergleich mit dem Bau des Eigenheims. Beides sind keine alltäglichen Investitionen weshalb sich die Auftraggeber klare Auftrags- und Ausführungsvereinbarungen wünschen.
Vergleich: Bau des Eigenheims
Die Mehrheit wird genaue Wunschvorstellung von ihrem neuen Eigenheim haben und einen Architekten beauftragen, welcher das Eigenheim mit dem Kunden bis ins letzte Detail durchdenkt und genaue Zeichnungen macht.
Üblicherweise wird dann ein Generalunternehmen den Bau anhand der Zeichnungen mit allen Subunternehmen durchführen und koordinieren. Der Kunde kommt höchstens auf die Baustelle, um sich über den Baufortschritt zu erkunden.
Eine Agile Baumethode würde verstehen, dass mal das Fundament gebaut wird, wonach man sich mit dem Bauherrn über die Aussenwände einigt und so weiter das Eigenheim iterativ entsteht. Glaubst du, dass der Kunde und der Bauherr ohne Konfliktsituationen das Eigenheim zu ende bauen und die Kosten im Voraus planbar sind?
Softwareerstellung durch Agenturen und Projektvergaben
Die Tools zur Softwareentwicklung und Technologien sind mittlerweile so ausgereift, dass unvorhersehbare Situationen und Umsetzungsrisiken der Ausnahmefall sind, besonders wenn ein erfahrenes Team dahinter steht.
Das wesentliche Argument für die agile Softwareentwicklung ist die Flexibilität, welche den Projektinvolvierten ermöglicht Anforderungen und Prioritäten im Laufe des Projekts anzupassen. Das agile Vorgehen bietet keine Planungssicherheit, weder für den Auftraggeber noch das Softwareunternehmen oder die Digital Agentur.
Erfahrungsgemäss möchten Kunden, wie auch Softwarefirmen vor der Beauftragung einer neuen Mobile App, Webanwendung oder individuelle Softwareentwicklung klare Leistungsschritte und Ergebnisse vereinbart haben. Ausserdem wünschen Kunden eine reibungslose und effiziente Vorgehensweise ohne erhöhte Mitwirkung über das ganze Projekt hindurch, den ihr Tagesgeschäft darf nicht stehen bleiben.
Diese Anliegen überwiegen und schlussendlich wird die bewährte Wasserfall-Projektmethodik bei Projektvergaben vom Auftraggeber und dem ausführenden Unternehmen i.d.R. bevorzugt.
Form und Vertragsinhalt von agilen und Wasserfallprojekten
Beim agilen Softwareprojekt bestellt der Auftraggeber eine bestimme Anzahl an Entwicklungsstunden oder Manntagen, welche über eine vereinbarte Zeitdauer ausgeführt wird. Die Verantwortlichkeiten, Kompetenzen, auszuführenden Arbeiten und Rahmenbedingungen können weiter präzisiert werden. Bei solchen Vereinbarungen handelt es sich rechtlich gesehen praktisch immer um Aufträge.
Sofern eine definierte Softwareanwendung zur Entwicklung und Einführung beauftragt wurde, kann ein Werksvertrag zustande kommen.
Hier spielt auch die gewählte Projektmethodik eine bedeutende Rolle. Setzt der angestrebte Projekterfolg ein Mitwirken des Auftraggebers voraus – so wie das agile Projektvorgehen es voraussieht – wird der Vertrag sehr wahrscheinlich als Auftrag eingestuft.
Im Streitfall bestimmt der Vertragstyp die rechtlichen Konsequenzen, wobei der Richter anhand des Vertragsinhaltes diesen klassifiziert.
Konzeption und Prototyping vor Projektstart
Sind die Projektanforderung und Zielsetzungen noch offen, empfehlen wir unseren Kunden in einem ersten Schritt nur eine Konzeptionsphase zu beauftragen.
In dieser werden mit Design-Thinking Methoden die Bedürfnisse des Kunden und ihrer Zielgruppen analysiert und Lösungen vorgeschlagen. Ein Konzept wird ausgearbeitet oder gar ein klickbarer Prototyp erstellt (verknüpfte Designansichten der Anwendung). So kann das Ergebnis ohne Programmieraufwand und geringen Kosten bereits bei potentialen Benutzern getestet werden.
Findet die Lösung gefallen, wird die Umsetzung geplant, ohne dass der Auftraggeber und die Agentur in mehreren Loops die Anforderungen und Fortschritte erneut analysieren müssen. Dies entspricht der klassischen Wasserfallmethode, welche auch in dieser Ausgangslage öfters praktiziert wird als das agile Projektmanagement.
Wann macht die agile Projektmethodik Sinn?
Die agile Softwareentwicklung versteht eine iterative Vorgehensweise ohne grosse Planungssicherheit. Das Leistungsspektrum ist eher komplex und unbekannt und es herrschen unterschiedliche Vorstellungen.
Die erfolgreiche Projektdurchführung setzt eine enge und vertrauensvolle Zusammenarbeit voraus. Beim Auftraggeber besteht eine grössere Hürde das passende Softwareunternehmen auszuwählen da eine partnerschaftliche Kollaboration beauftragt wird und kein Produkt oder messbare Leistungsschritte.
Bei grösseren und langandauernden Projekten ist die Agilität, die Rahmenbedingungen, Umsetzungswünsche und Prioritäten im Laufe des Projekts anzupassen durchaus von Vorteil. Die Anforderungen an komplexe IT-Systeme ändern mit der Zeit, besonders nach der ersten (Teil-)Einführung wo die Weiterentwicklung stark an das Feedback der Benutzer gerichtet und nicht vorhersehbar ist.
Die agile Projektentwicklung wird auch praktiziert, wenn ein neues Projektteam mit flachen Strukturen formiert wird. Dies trifft in grösseren Unternehmen oder Startups zu. Dabei werden fehlende und erfahrene Fachkräfte gerne von Outsourcing Partnern ausgeliehen.
Zur agilen Entwicklung von Softwareprojekten stehen verschiedene Projektmanagement Tools mit standardisierten Prozessen zur Verfügung, welche die Aufgleisung oder Einarbeitung neuer Entwickler in ein Projekt wesentlich vereinfachen.
Wie wir in Projekten vorgehen
The Swiss Digital führt Projekte mit einem standardisierten Projektmanagementprozess von der ersten Idee bis hin zum operativen Betrieb des Systems.
Wir legen grossen Wert, wie es die Wasserfallmethode vorsieht, eine detaillierte Spezifikation mit unseren Kunden auszuarbeiten. Die Entwicklung und das interne Testing und Qualitätssicherung führen wir in Sprints aus. Dies ist die Grundlage für eine reibungslose Abnahme und Einführung, sowie qualitativ hochwertige Softwareprodukte.
Je nach Bedarf arbeiten wir mit unseren Kunden und Partner auch mit der agilen Projektmethodik. Dabei setzen wir am liebsten auf das Projektmanagementtool Jira oder arbeiten uns in die Tools und Prozesse unsere Kunden ein. Gespannt nehmen wir neue Projektanfragen entgegen und besprechen mit Ihnen, ob wir der richtige Partner sind und wie wir am effizientesten Vorgehen.