Brezel

agile Webentwicklung

Warum ist Projektmanagement wichtig?

Damit Softwareprojekte kosteneffizient bleiben, ist gute Organisation unerlässlich. Anforderungen, Ressourcen und Möglichkeiten müssen abgewogen weden. Dabei hilft der Projektleiter. Er sorgt außerdem dafür, dass alle Teile des Teams sich richtig verstehen und das Projekt nicht lost in translation ist.

Ein Projektleiter im agilen System?

Die agile Methode sieht keinen Projektleiter vor - das ist richtig. Aber die Erfahrung hat gezeigt, dass Projekte mit externen Auftraggebern nicht ohne Projektleiter funktionieren. Der Projektleiter ist der zentrale Ansprechpartner für den Kunden und ist direkt verantwortlich für das Projekt. Dieses hybride System nutzt den modernen, agilen Ansatz und alle Erkenntnisse die das klassische Projektmanagement in den letzten Jahren hervorgebracht hat.

Um zu einer guten Lösung kommen können, ist es wichtig das Problem zu verstehen.

Warum?

Nicht jede Individualsoftware ist direkt eine Verbesserung. Manchmal bedarf es auch gar keiner Programmierung um ein Problem zu lösen. Wir finden es gemeinsam heraus. In dieser ersten Phase stellen wir eine Menge Fragen um zu verstehen, was das Problem ist und wie wir es am besten lösen können.

Wir lieben es, wenn ein Plan funktioniert.

Wir schaffen Transparenz

Durch die Planung der einzelnen Entwicklungsschritte machen wir zum einen für uns selbst aber auch für dich als unseren Kunden die Schritte sichtbar, die gegangen werden müssen um am Ziel anzukommen. Es gibt außerdem allen die Möglichkeit, zu jeder Zeit Auskunft über den Stand des Projekts zu erfahren.

Die Planung ist alles

agilität beudeutet, schnell auf Änderungen reagieren zu können. Dazu passen wir stets unsere Planung an um beurteilen zu können, wie unser Fortschritt beeinflusst wird.

Schritt für Schritt nähern wir uns dem Ziel

agil-iterativ

Diese Phase ist die kontinuierliche Abfolge von Entwicklung und Feedback. Das schnelle ausliefern von Ergebnissen mit anschließendem Feedback stellt sicher, dass wir uns in die richtige Rickung bewegen. Dadurch können wir auch verwertbare Ergebnisse erzielen wenn die Anforderungen Mal nicht ganz klar sind.

Haben wir unser Versprechen gehalten?

Feebackgespräche

Den Projektabschluss gilt es von Anfang an im Blick zu halten. Neben den Meilensteinen die es auf dem Weg zu erreichen gibt, ist das Gesamtziel natürlich am bedeutsamsten. Es muss geprüft werden: Wurde der Zeitrahmen und der Kostenrahmen eingehalten? Haben wir alle Features erfolgreich umgesetzt?

Nach der Entwicklung ist vor der Entwicklung. Wir stehen auch nach der Übergabe für dich bereit.

Software ist nie fertig

Ein Manko der Individualsoftware ist ihr nicht zu leugnender Wartungsaufwand. Es ist kein Produkt von der Stange und erfordert damit spezielle Aufmerksamkeit. Das Gute daran ist: Wir wollen dir nicht zur Last fallen und stehen daher flexibel für dich zur Verfügung. Ob für neue Features oder die regelmäßigen Wartungsarbeiten.

Was ist "agile"?

Das iterative Vorgehen bei der Umsetzung von Projekten wird agile genannt. Dabei ist es nicht das Ziel ein Pflichtenheft in einem Anlauf abzuarbeiten, sondern kleine Entwicklungsschritte in kurzen Zeitabständen mit dem Kunden abzustimmen und stetig neue Ziele zu definieren. Das populärste Modell ist mit großem Abstand Scrum, welches auch wir für unsere Projekte einsetzen.

Durch das regelmäßige überprüfen der Anforderungen und Ergebnisse, kann das Team auch während der Umsetzung des Projekts noch auf Änderungen reagieren.

Wie hilft die agile Softwareentwicklung unseren Kunden?

Die vermutlich schwierigste Aufgabe in der Softwareentwicklung ist nicht die Softwareentwicklung sondern die Kommunikation. Jeder Gedanke der im Gespräch zwischen Entwickler und Kunde verloren oder verfälscht wird, kostet zusätzliche Zeit und Ressourcen.

Der agile Arbeitsprozess hilft, diese Missverständnisse frühzeitig aufzudecken. Im besten Fall kommen solche Verluste gar nicht vor weil die anderen, zusätzlichen Projektmanagement-Methoden greifen. Darunter zählen z.B. die regelmäßige Definition und Abstimmung von Akzeptanzkriterien.

Kurzum: agile spart Geld!

Wie sieht ein agiles Team aus?

Die Zusammenstellung eines agilen Entwicklungsteams ist von Projekt zu Projekt unterschiedlich und richtet sich nach den Anforderungen des Projekts. Für dieses Beispiel gehen wir davon aus, dass wir ein Digitalisierungsprojekt für ein Mittelständisches Unternehmen durchführen. Dabei setzen wir im Backend Laravel und im Frontend VueJs ein.

Projektleiter

Pretzels

Aufgabe: Für den Kunden ist der Projektleiter der zentrale Ansprechpartner. Er hat genug technische und branchenspezifische Expertise um die Anforderungen gemeinsam mit dem Kunden zu besprechen und die nächsten Entwicklungsschritte zu planen. Innerhalb des Teams unterstützt er die Entwickler bei ihrer Arbeit indem er die Anforderungen klar definiert und den Großteil der Kommunikation mit dem Kunden übernimmt.

Front- und Backendentwickler

Pretzels

Aufgabe: Sie setzen die Kundenwünsche um und leisten die Implementierungsarbeit. Sie sind auf die Vorbereitungen und Dokumentationen des Projektleiters angewiesen. Damit sie ungestört ihrer Arbeit nachgehen können, nehmen sie nur nach Bedarf an Meetings Teil.

Stakeholder

Kunde

Wir verstehen unseren Kunden als eine Erweiterung des Teams weil wir das Ziel des Projekts nur gemeinsam erreichen können. Optimaler Weise haben wir während des Projekts nicht nur mit den Auftraggebern (Projektleiter oder Manager) zu tun, sondern lernen auch die eigentlichen Anwender der neuen Software kennen. So teilt sie die Rolle des Stakeholders auf in Kunde, Anwender und Manager. Nach Bedarf nehmen die jeweiligen Stakeholder an Meetings teil um ihre Erfahrungen zu teilen.

Wie läuft ein agiles Projekt ab?

Das Projekt startet mit der Analysephase. In einem oder mehreren gemeinsamen Terminen die idR. als Videomeetings stattfinden, lernt unser Team das Projekt kennen. Wenn es sich um ein größeres Projekt handelt, ist von jeder Rolle (Front-/Backendentwickler) nur ein Kollege dabei. Die Analysephase dient dazu, das Projektziel zu verstehen und einen Plan für die Entwicklung zu erstellen: das Backlog.

Im Backlog werden alle Aufgaben erfasst, die zur Erreichung des Projektziels abgearbeitet werden müssen. Diese Aufgaben können z.B. lauten "Design der Frontpage erstellen" oder "Ein Freunde-werben-Freunde System implementieren". Aus diesen Aufgaben ergibt sich dann ein Sprint: Ein Entwicklungszyklus der üblicherweise eine oder zwei Wochen dauert. Am Ende des Sprints werden die Ergebnisse diskutiert und der nächste Sprint (= die nächsten zu erledigenden Aufgaben) geplant. D.h. es sollte mindestens alle zwei Wochen ein Meeting zwischen Projektleiter und Kunden stattfinden.

Dieser Zyklus wiederholt sich über den Gesamten Entwicklungszeitraum. Dadrurch stellen wir sicher, dass wir immer an den für unseren Kunden wichtigsten Stellen der Software arbeiten.