Technische Projektleitung
Agile Software-Entwicklung ist in aller Munde. Im Gegensatz zu Prozessmodellen wie dem V-Model XT oder dem Rational Unified Process (RUP) bieten agile Vorgehensweisen keine umfassende Dokumentation oder gar Vorlagen zu Anwendung der Methodik. So prägt sich z. B. Scrum von Unternehmen zu Unternehmen ganz unterschiedlich aus. Der Product Owner agiert dabei nach klassischer Definition in den Rollen Projektleiter und Anforderungsmanager und bildet die Schnittstelle zwischen dem Fachbereich und dem Entwicklungsteam. Dabei werden die betriebswirtschaftlichen, prozess- und produktbezogenen Anforderungen in eine für das Entwicklungsteam verständliche Sprache übersetzt. Der Scrum-Master hingegen unterstützt das Projekt dabei, die Scrum-Methodik richtig anzuwenden und den Wechsel zu einem Scrum-basierten Vorgehen zu vollziehen.
Als zertifizierter Professional Scrum-Master helfe ich Ihnen, die agile Methodik in Ihrem Unternehmen einzuführen und weiter zu entwickeln. Mit meiner IREB RE@Agile Primer Zertifizierung schließe ich die Lücke zwischen dem klassischen Anforderungsmanagement und der agilen Vorgehensweise, so dass auch im agilen Umfeld sichergestellt ist, dass die Notwendigkeiten des Requirements Engineering erfüllt werden können.
Projektdurchführung im agilen Umfeld
Arbeitspaketplanung für agile Vorgehensweisen: In IT-Projekten, die sich über einen längeren Zeitraum ziehen, ist es unerlässlich, auch und insbesondere bei einem agilen Vorgehen, die Arbeitspakete für Releases zu planen. Hierbei können Werkzeuge gute Unterstützung leisten, es ist aber auch notwendig, dass Entwicklungsteams diszipliniert dem agilen Vorgehen folgen. Sie müssen ggf. angeleitet und darauf abgestimmt werden, diesen Prinzipien zu folgen und es ist immer sicher zu stellen, dass diese vereinbarte Vorgehenswiese auch tatsächlich eingehalten wird. Hier nimmt der Scrum Master eine wichtige Rolle ein.
Durchführungs- / Sprintplanung: Das A und O der Software-Entwicklung ist die Planung, egal ob es sich um klassische Vorgehensmodelle oder agile Ansätze handelt: ohne Planung gibt es keine zufriedenstellende Umsetzung. Während die Releaseplanung zwischen Fachbereich und Product Owner abgestimmt wird, muss die Sprintplanung zwischen Team und Product Owner erfolgen, wobei das Team die Arbeitspakete verstanden, abgeschätzt haben und eigenorganisiert abarbeiten muss. Dabei gilt es, den zugesicherten Termin für die Fertigstellung einzuhalten. Dieser Planungsprozess muss zwischen allen Beteiligten vereinbart und koordiniert durchgeführt werden. Scrum unterstützt mit den definierten Ereignissen, dass alle Projektbeteiligten über den aktuellen Entwicklungsstand informiert sind.
Coaching von Entwicklungsteams
Scrum-Methodik für Product Owner: Als wissensbasierter Ansatz bietet Scrum einige Methoden an, die Product Owner in die Lage versetzen, als Bindeglied zwischen Fachbereich und Entwicklungsteam die Umsetzung der Anforderungen gezielt und abgestimmt durchzuführen. Durch seine enge Verbindung zum Team ist der Product Owner Anforderungsmanager und technischer Projektleiter zugleich. Dies setzt voraus, dass er sich räumlich eng mit dem Team verbindet. Daher ist die Rolle generell durch jemanden zu besetzen, der sowohl den technischen Background der Entwickler hat, als auch den fachlich betriebswirtschaftlichen eines Projektmanagers und Anforderungsingenieurs.
Arbeitsstrukturierung für Teams: Entwickler sind oftmals sehr eigene Charaktere. Agile Methoden haben sich auch deshalb etabliert, weil sie die Entwickler vor zu viel Willkür und Planungsdurcheinander schützen sollen. Andererseits müssen Entwickler aber auch strukturiert arbeiten, d. h. Zusagen einhalten und auch im Bereich der Kommunikation eine gewisse Verfügbarkeit signalisieren. So ist die Kommunikation über ein Ticket-System, aber auch die Frage, ob E-Mail und Telefon in welchem Maße eingesetzt werden dürfen, zu klären. Diese Regeln sollen beiden Parteien (Management und operative Umsetzung) in die Lage versetzen, zufriedenstellend das Tagesgeschäft bewältigen zu können.
Definition effizienter Workflows: Software-gestützte Workflows dienen dazu, in umfangreichen Projekten einen roten Faden zu haben, der sich am Entwicklungsprozess orientiert. Die Definition der Workflows hängt vom Entwicklungsteam und der Philosophie im Unternehmen ab. Generell lässt sich aber sagen, dass Workflows eher schlank und flexibel definiert werden sollten, um die Arbeitsausführung nicht zu sehr zu behindern, und damit an Effizienz einzubüßen. Gleichzeitig muss aber auch den Anforderungen des Managements Rechnung getragen werden, jederzeit über den Stand der Entwicklungen informiert werden zu können. Werkzeugunterstützung und der dosierte Einsatz von Parametern zur Leistungsmessung tragen dazu bei, diese Anforderungen zu erfüllen.
Vermittlung von Methodenkompetenz: In Software-Entwicklungsprojekten werden objektorientierte Muster von den Entwicklern angewendet, aber bei den einfachen grundlegenden Methoden gibt es bisweilen Defizite. So werden manche Software-Probleme "hands on" erledigt, obwohl es wesentlich zeitsparender und auch den Anforderungen an die Dokumentation von Software zuträglicher wäre, sich vorher mittels Modellbildung eine Grundlage für einen durchdachten Lösungsansatz zu erstellen. Die Methoden des Software-Engnieerings bilden dazu einen breiten Fundus, der auch und insbesondere durch Entwickler beherrscht sein sollte, um bei der Entwicklung von geeigneten Software-Lösungen ein hohes Maß an Qualität zu sichern.