Ich bin kürzlich in ein Unternehmen eingetreten, das begonnen hat, sich in Richtung einer „agileren“ Entwicklung zu bewegen. Ich war bereits Product Owner für ein internes Softwareprojekt und das hat, soweit ich das beurteilen kann, ziemlich gut funktioniert (ich bin auch neu in der Rolle und kein Entwickler).
Allerdings werde ich bald Product Owner für ein Softwareprojekt mit festen Kosten sein. Uns wurden die Anforderungen so detailliert übermittelt, dass ein Angebot unterbreitet werden konnte.
Die Idee ist, ein Kick-off-Meeting mit dem Kunden abzuhalten, um „grobe“ funktionale Designspezifikationen zu erhalten. Ein Blick in den Vertrag verrät, dass es zumindest laut dem, was dort steht, doch nicht so ruppig werden wird.
Ich sehe viele Probleme auf mich zukommen. Ich mache mir etwas Sorgen, dass mein Unternehmen am Ende von mir erwartet, dass ich den Rückstand so aufarbeite, dass die gelieferte Funktionalität nicht mehr ist als die in der "groben" Spezifikation festgelegte, während der Kunde keinen Grund sieht, bis dahin mit der Arbeit aufzuhören perfekt gelöst.
Ich habe sehr wenig Erfahrung als Product Owner und möchte wirklich, dass dieses Projekt gut läuft, weil mir gefällt, was der Kunde mit dem Projekt erreichen möchte.
Wie kann ich unter diesen Umständen die Vorteile der agilen Entwicklung nutzen?
SPOILER (nach ein paar Monaten im Projekt): Wie von vielen in diesem Thread vorhergesagt (und irgendwie von mir erwartet) funktioniert es nicht so gut. Die Probleme, die ich erwartet hatte, traten ein... Glücklicherweise wird dies höchstwahrscheinlich das erste und letzte Projekt sein, das auf diese Weise "gemanagt" wurde. Wenn Sie sich in einer ähnlichen Situation befinden: protestieren Sie, halten Sie alles transparent, damit Ihnen niemand die Schuld gibt, protestieren Sie, ...
Scrum ist ein agiles Framework, das sich auf die Anpassung an Veränderungen und die Bereitstellung von Geschäftswert konzentriert. Es ermutigt zu Feedback und versucht, das zu liefern, was benötigt wird, was oft nicht mit dem übereinstimmt, was ursprünglich geplant war.
Die Kombination von Scrum mit einem Festpreisvertrag mit festem Umfang ist eine Herausforderung. Dies kann häufig zu Streitigkeiten zwischen dem Kunden und dem Lieferanten darüber führen, was eine gültige Änderung ist und was als „neue“ Funktionalität bezahlt werden sollte.
Dies ist besonders schwierig für Sie, da es sich so anhört, als ob Sie keine echte Product Owner-Rolle haben, da Sie keine Entscheidungen über den Umfang treffen können.
Meine Empfehlung wäre, einen sehr transparenten Ansatz für Ihre Arbeit zu verwenden. Stellen Sie sicher, dass alle Entscheidungen zur Funktionalität klar beschrieben und auch die Auswirkungen der Änderung deutlich gemacht werden.
Es würde sich lohnen, eine häufige Release-Planung durchzuführen. Hier sehen Sie sich die Geschwindigkeit des Teams an und sehen, wie lange es braucht, um die verbleibende Arbeit zu erledigen. Wenn der Kunde Änderungen vornimmt und das Team auf technische Probleme stößt, stellen Sie möglicherweise fest, dass sich auch der Projekttermin (und die Projektkosten) ändern. Der beste Ansatz besteht darin, diese Änderungen und ihre Auswirkungen so öffentlich wie möglich zu machen, damit sie sowohl von Ihrem Kunden als auch vom Managementteam in Ihrer Organisation diskutiert werden.
Einige Teile von Scrum können Ihnen dabei helfen, die Dinge transparent zu machen. Stellen Sie sicher, dass der Rückstand öffentlich ist und der Fortschritt deutlich angezeigt wird. Sprechen Sie häufig mit Ihren Stakeholdern und stellen Sie sicher, dass sie sich voll und ganz mit dem Projekt beschäftigen.
Agile Methodik und Festpreisprojekte passen nicht gut zusammen, da Sie bei einer Festpreislieferung nicht in der Lage sein werden, die besten Vorteile einer agilen Projektdurchführung zu erzielen. Um ein Beispiel zu nennen: Es ist schwierig, Demo-Änderungen und Geschäftsänderungen zu integrieren, wenn Sie innerhalb fester Grenzen arbeiten.
Trotzdem können Sie mit den folgenden Schritten/Vorbereitungen immer noch Sprints/Agilität durchführen.
Es fühlt sich sehr nach Wasserfall an und ist mit Sicherheit weniger befriedigend, aber Sie können planen, in jedem Sprint einen geschäftlichen Mehrwert zu liefern und weiterzumachen!
Legen Sie den Umfang fest, dann den Preis. Aktualisieren Sie ständig, während Sie Fortschritte machen.
Versuchen Sie, das Projekt in einem Bereich zu schätzen, der Ihren groben Vorstellungen entspricht. Da sie „grob“ sind, können die Kosten- und Zeitschätzungsbereiche relativ weit auseinander liegen. 10.000–20.000 oder 3.–4. Quartal 2016.
Verwenden Sie Iterationen für die Entwicklung. Nach jeder Iteration gewinnen Sie mehr Wissen über das Projekt und die Spezifikationen. Alle neuen Erkenntnisse, die sich auf die Kosten auswirken könnten, sollten angemessen mitgeteilt werden. Arbeiten Sie mit dem Team zusammen und aktualisieren Sie die Schätzungen entsprechend.
Analysieren Sie den Fortschritt und die verbleibende Arbeit. Bestimmen Sie, was wichtiger ist – das Produkt zu liefern oder das Budget nicht zu überschreiten. Auf dieser Grundlage wird das Projekt so ausbalanciert, dass es die erforderlichen Ergebnisse liefert.
Zwei Dinge sollten während des Projekts passieren, während Sie mehr Wissen gewinnen und die Unsicherheit über Anforderungen verringern:
oder
Agile Best Practices, die Sie verwenden können: - Iterativer Ansatz (Arbeiten in Sprints); - Sprint-/Release-Planung; - Backlog-Verfeinerung (neue Priorisierung der Arbeit vor jedem Sprint, basierend auf der Situation im Projekt). Sie können die Risiko-Wert-Beziehung verwenden, um sie besser zu priorisieren; - Story Point-Schätzungen, die Ihnen im Laufe der Zeit Geschwindigkeit bringen werden. Damit können Sie die Kosten zukünftiger Artikel, an denen Sie arbeiten werden, aus dem Rückstand berechnen und vorhersagen. Dies hilft Ihnen bei der Budgetverwaltung; - Verfolgen Sie alle Änderungen, schätzen Sie deren Auswirkungen auf den Kostenplan ein; - Machen Sie das Projekt für die Stakeholder so transparent wie möglich. Sie müssen es so verwalten, dass sie verstehen, "WARUM" das Projekt mehr kostet oder länger dauert, wenn dies der Fall sein wird.
Ich bin mir nicht sicher, was Agile (oder eine andere Methodik) mit dieser Frage zu tun hat.
Ohne eine abgemeldete Spezifikation schießen Sie auf ein sich bewegendes Ziel. Sie könnten eine Weile an etwas arbeiten, es fertigstellen, zu anderen Teilen übergehen und dann das ursprüngliche Teil umrüsten, was sich auf alle nachfolgenden Teile auswirken kann.
Regel Nr. 1 in effizienter Softwareentwicklung lautet: „ Arbeite NIEMALS an groben Spezifikationen “. Es wird nur an Spezifikationen gearbeitet, die sowohl vom Kunden als auch von der Person in Ihrem Unternehmen mit den entsprechenden Befugnissen genehmigt wurden.
Je detaillierter die Spezifikation, desto schneller die Codierung und desto weniger Änderungen. Das mag Sie überraschen, aber in einigen Unternehmen werden die Spezifikationen tendenziell als vollständig deklariert! irgendwann. Jede weitere Änderung ist als Änderungswunsch kostenpflichtig .
Ich habe einmal für einen Bauunternehmer gearbeitet, der eine Ausschreibung zu einem sehr niedrigen Preis gewonnen hat; unter Kosten. Seine gesamte Gewinnspanne basierte auf Änderungswünschen . Sein Spielplan war es, die Spezifikation so zu definieren, dass sie vollständig schien, aber in Wirklichkeit fehlten Schlüsselelemente. Als der Kunde diese anforderte, wurden sie ihm in Rechnung gestellt.
"Was? Die Tür hat keinen Griff?"
"Nein, das steht nicht in der Spezifikation. Es wurde nur ein Schlüsselloch angegeben."
Scheint, als würde Ihr Kunde anders arbeiten; Halten Sie die Spezifikation offen, damit alles darin enthalten sein kann.
Kronax
Thomas Owens
BootstrapBill
Danny Schoemann
BootstrapBill
Jeff Lindsey
Danny Schoemann