Uns wird immer wieder gesagt, dass wir auf agile Weise an einem neuen Projekt der Geschäftsleitung arbeiten werden. Sie haben Stand-ups, Sprint-Planungen, Rückblicke usw. usw. eingerichtet. Nun haben sie jedoch einen Plan erstellt, der alle Arbeiten, die wir liefern sollen, mit Datumsangaben für jedes Element detailliert beschreibt und die Daten erneut mit den Demo-Daten präsentiert einer. Dieser Plan gilt für das 2. Quartal 2017.
Für mich scheint dies im schlimmsten Sinne ein Wasserfall zu sein. Es wurde ein Plan ohne Eingaben des technischen Teams erstellt, in dem bestimmte Geschichten auf dem Plan sehr unklar sind und vom Entwicklerteam nicht geschätzt wurden.
Ich weiß jedoch, dass sie argumentieren werden: "Ältere Stakeholder müssen Termine haben und es muss einen Plan geben, wir können nicht nur aus einem Rückstand heraus arbeiten." Für mich scheint dies, als hätten sich hochrangige Stakeholder nicht für Agile entschieden, und deshalb sind wir dazu verdammt, es auf einer niedrigeren Ebene nicht umzusetzen.
Ist das ein faires Urteil oder überreagiere ich auf diesen Plan !?
quelle
Antworten:
Es besteht ein Unterschied zwischen der Einhaltung der Frist und der Erfüllung aller Anforderungen. Es ist wie das alte Sprichwort "schnell, gut oder billig, wählen Sie zwei".
Hier haben Sie also feste Liefertermine - das ist gut, das heißt, Sie haben keine Zeit mehr, was Sie am Ende Ihres letzten Sprints ausliefern, wird das Endprodukt sein. Sie erinnern sich, dass Sie immer am Ende jedes Sprints funktionierende Software veröffentlichen müssen, nicht wahr?
Was passieren kann, ist, dass der endgültigen Software einige Funktionen fehlen. Nun, dies geschieht mit allen Entwicklungsmethoden, einschließlich Wasserfall. Alles, was passieren wird, ist, dass Sie danach mit der Erstellung eines Patch-Releases oder einer Version 2 beauftragt werden. Dies setzt natürlich voraus, dass Ihre endgültige Lieferung gut genug ist!
Fixtermine sind also keine unsichere Arbeitsweise. Agile bedeutet nicht, dass Sie ein unbegrenztes Budget haben, um mit Ihren neuen Planungstools zu spielen. Es bedeutet, dass Sie sich auf die Lieferung konzentrieren müssen, das ist nie eine schlechte Sache.
quelle
Nein. Dies ist genau die Art von Dingen, die Nicht-Software-Unternehmen tendenziell tun. Es gibt Pläne, Fristen und Budgets. Und es wird unvermeidlich scheitern, da die Menschen daran scheuen, die Zukunft vorherzusagen.
Gehen wir hier die verschiedenen Punkte durch:
Wenn Sie agil wären, hätten Sie selbstorganisierte Teams, denen das Management nicht sagt, wie man arbeitet.
Nee. Das ist so ziemlich das Gegenteil von iterativer Entwicklung. Es wird etwas passieren (jemand wird krank, jemand geht, eine Anforderung wurde vergessen, Ihre Server sterben, was auch immer) und dann verpassen Sie eines dieser Ziele. Jetzt kann das Management entweder den gesamten Plan neu berechnen oder die Entwicklungspeitsche knacken.
Woher weiß das Management, dass dieser Plan überhaupt realisierbar ist ? In Agile ist Arbeit eine Verhandlung. Das Geschäft sagt: Das würde uns gefallen. Engineering sagt: Okay, vorausgesetzt XYZ, das dauert 3 Wochen. In dem, was Sie beschreiben, gibt es keine Zusammenarbeit mit Kunden. Keine Personen und Interaktionen.
Du bist nicht unbedingt zum Scheitern verurteilt, aber wenn nicht, ist es nur ein Zufall. Wenn die ganze Arbeit auftaucht, weil das Management die Zukunft nicht sehen kann, werden Sie Ihre Daten verpassen (oder unsauberen Code produzieren oder mehr Ressourcen als erwartet benötigen). Das wird dann deine Schuld sein. Das Management wird Sie dann wahrscheinlich unter Druck setzen, mehr Stunden zu arbeiten, um das Datum zu erreichen, oder vielleicht Leute auf das Problem aufmerksam zu machen.
Im besten Fall ist das Management tatsächlich agil und intelligent genug, um den Umfang zu reduzieren. Das heißt, sie haben nur die ganze Zeit damit verbracht, einen großen detaillierten Plan zu erstellen, der wertlos ist.
quelle
No plan survives contact with the enemy
. Und Sie können mir nicht sagen, wer der größte Gewinner an der NYSE im Januar 2020 sein wird. Es ist wahr. Wir haben viele Jahrtausende an Daten, um zu zeigen, dass dies wahr ist. Und zu wissen, was Sie nicht wissen oder nicht wissen können, ist von entscheidender Bedeutung, wenn Sie planen, Software zu erstellen. Schauen Sie sich die Situation des OP an - die überwiegende Mehrheit ihres Plans basiert auf Vermutungen, die nicht besser als der Zufall sind . Ich denke, das ist eine schreckliche Art zu planen. Auch wenn du denkst, dass es naiv und fatalistisch für mich ist, ist es in keiner Weise agil.Wenn erwartet wird, dass bestimmte Features zu bestimmten Terminen bereitgestellt werden, ist dies kein agiles Projektmanagement. Agiles Projektmanagement ist empirischer Natur. Die Projektionen basieren nicht auf den Wünschen der Führungskräfte, sondern auf der Analyse der vorherigen Leistung.
Ihre Beschreibung stimmt mit der überein, die ich für Cargo-Kult-Agil halte. Der Fokus liegt auf den spezifischen Prozessen und Zeremonien und nicht auf den Kernkonzepten des evidenzbasierten Projektmanagements. Vielleicht haben Sie etwas Glück, wenn Sie Geschäftsleute dazu bringen, dies mit Lean oder TPS in Verbindung zu bringen . Das eigentliche Problem, das Sie hier lösen müssen, besteht darin, dass das Management seine Angst vor dem Unbekannten überwunden hat. Die richtige Antwort an die Führungskräfte lautet: "Wir können Ihnen jetzt nicht sagen, wann die Dinge getan werden, aber sobald wir anfangen, Werte zu liefern, können wir basierend auf unserer Erfahrung Prognosen erstellen." Entwickler neigen dazu, Dinge wie "Es ist erledigt, wenn es erledigt ist" und "Ich weiß nicht, wann es erledigt sein wird" zu sagen. Manager werden den Führungskräften solche Dinge nicht sagen, es lässt sie wie Trottel klingen.
Der Plan wird höchstwahrscheinlich scheitern und muss überarbeitet werden. Das größte Risiko für das Team besteht darin, dass die Termine eingehalten werden und die Qualität darunter leidet. Irgendwann werden Sie nicht mehr am Ziel sein (höchstwahrscheinlich ist dies die erste Frist) und es wird ein Push geben, um dieses Datum zu erreichen. Überstunden werden erwartet und es wird Druck auf Ecken ausgeübt (Test überspringen, Codeüberprüfungen usw.). Dies ist ein rutschiger Hang, und wenn Sie diesen Pfad hinunterfahren, wird es ein bisschen bergab gehen und die Dinge werden hässlich. Die Produktivität wird sich verschlechtern, wenn das Projekt auf diese Weise fortgesetzt wird.
Wenn Sie das Entwicklerteam dazu bringen können, eine einheitliche Front zu präsentieren, sollten Sie wirklich zurückschieben und die Qualitätslinie beibehalten. Nach meiner Erfahrung halten Projektmanager die Software-Ausgabe für linear. Das heißt, jede Periode X erzeugt Y 'Vorrang vollständig'. Das heißt, wenn Sie nach der Hälfte der erlaubten Zeit nicht zu "50% fertig" sind, fangen die Klaxons an zu dröhnen. Wenn Sie es richtig machen, dauert das erste Feature in Wirklichkeit viel länger als das 50. Feature (von ähnlicher Größe). Ich sehe, dass nichts getan wird! ") Sie werden wahrscheinlich in Ordnung sein.
quelle
Herzlich willkommen bei real business.
Es gibt einen älteren Geschäftsstil, den ich tendenziell als "traditionelle Entwicklung" bezeichne, und dann gibt es einen neuen Stil, "agile Entwicklung". Wenn ich versuche, diese als gegensätzliche Ideale zu behandeln, sehen wir eine klare Unterteilung in der Mitte: Pläne und Anforderungen gehen auf die traditionelle Säule, Entdeckung und Entwicklung gehen auf die agile Säule. Es ist ordentlich, ordentlich und falsch.
In Wirklichkeit ist das Geschäft die Suche nach dem glücklichen Medium zwischen beiden. Es ist leicht zu zeigen, dass eines der beiden Extreme tatsächlich flach ins Gesicht fällt. Wir, die wir Agile lieben, demonstrieren eifrig alle Fragen des reinen Ideals der traditionellen Entwicklung, und es gibt viele, die zeigen können, auf welche Weise das reine Agile auseinanderfällt. Die erfolgreichen agilen Unternehmen sind diejenigen, die ihre besondere Balance zwischen den beiden finden. Die erfolgreichen Traditionsunternehmen sind diejenigen, die ihre besondere Balance zwischen beiden finden. Man kann nicht eins ohne das andere haben.
Selbst unser gesegneter SCRUM-Prozess zeigt ein Gleichgewicht zwischen beiden. Während es einen klaren Versuch gibt, die Beweglichkeit zu maximieren, gibt es einige wichtige Kompromisse. Zum Beispiel hat der Product Owner die mächtige Aufgabe, sich für alle Kunden einzusetzen. SCRUM legt absichtlich nicht fest, wie diese Interaktion funktioniert. Es wird absichtlich die Tatsache übergeben, dass jeder am Ende des Tages bezahlt werden muss. Es ist die Aufgabe des Product Owners, die Illusion zu erzeugen, dass das keine Rolle spielt.
(Es ist interessant zu bemerken, dass pure Agile großartig funktioniert, solange Sie erst bezahlt werden, wenn Sie ein Produkt produzieren, und Sie keinen Zugriff auf proprietäre Informationen erhalten, bis Sie die Berechtigung haben. Ich denke, die einzigen Software-Ingenieure, die sich damit auskennen mit diesem Gewerbe sind die Unternehmer)
Das Management hat also festgelegt, welche Funktionen verfügbar sein sollen und wann sie verfügbar sein müssen. Das ist gut. Ein Satz, den ich gehört habe, lautet: "Der Kunde wählt das Was und das Wann aus, der Produzent das Wer und das Wie." Sie wurden für das "Was" und das "Wann" angemeldet. Sie haben nichts über das Wer oder das Wie ausgesagt, außer Ihnen die Möglichkeit zu geben, "Agile" als Ihr Wie zu verwenden. Es bleibt nur zu verstehen, wie viele Mitarbeiter das Management einstellen muss, um seine Anforderungen zu erfüllen.
In einer perfekten Welt ist Ihr Unternehmen von außen agil. Es interagiert agil mit seinen Kunden und lässt die Entwickler agil für sie entwickeln. Sehr oft muss das Unternehmen jedoch mit der Außenwelt interagieren, während es sich in der Innenwelt agil entwickelt. Dazwischen liegt immer eine komplexe Reihe von Kompromissen, die für jedes Unternehmen einzigartig ist.
Persönlich betrachte ich diese Situation als Testfall für jeden, der meint, agile Entwicklung zu verstehen. Irgendwann in der Zukunft müssen Sie ein Produkt für eine Frist entwickeln, und dieses Produkt / Frist-Paar wird relativ fest sein. Wenn ein festes Produkt / eine feste Frist Ihren Prozess stört, können Sie dann wirklich sagen, dass Sie in erster Linie agil waren?
Mein Rat: Betrachten Sie dies nicht als Wasserfall. Du kontrollierst immer noch das "Wie". Sie können immer noch alle schnellen Sprints und flexiblen Prototypen ausführen, für die Agile so berühmt ist. Man muss sich nur bewusst sein, dass der Gummi auf die Straße trifft und muss liefern. Dies ist die reale Welt, nicht die ideale Welt. Wäre es für sie besser gewesen, Sie zuerst zu fragen? Sicher. Möglicherweise war es nicht Ihr Anruf. Es kann tausend geschäftliche Gründe dafür geben, die Sie einfach nicht vollständig verstehen. Zögern Sie nicht, sie zurückzudrängen, aber verstehen Sie, dass sie möglicherweise einen sehr guten Grund für das haben, was sie getan haben.
quelle
Agile hindert Sie nicht daran, Meilensteine zu planen (z. B. werden wir V 1.0 in 3 Monaten veröffentlichen), aber was in den einzelnen Meilensteinen enthalten ist, kann nicht behoben werden.
Ich denke, wie Sie reagieren sollten, hängt von der Art des Projekts ab. Wenn das Projekt einen Mann bis zum 2. Quartal 2017 zum Mond schicken soll, sind sich alle einig, dass es zum Scheitern verurteilt ist. Wenn Sie der Meinung sind, dass Sie bis Ende des zweiten Quartals 2017 einen MVP liefern können, sollten Sie Sprint für Sprint daran arbeiten.
Wenn das Management der Ansicht ist, dass Ihr Team sein Bestes gibt und Sie bei jedem Sprint Fortschritte zeigen können, sollten Sie in der Lage sein, länger zu verhandeln.
quelle
JEDES geschäftsrelevante Projekt unterliegt Einschränkungen:
Das ist nichts anderes. Agilität entwickeln heißt nicht, dass die Leute uns Geld bezahlen, damit wir entwickeln können, was immer wir wollen, wann immer es fertig ist. Sie haben immer einen gewissen Zeitrahmen. Es wird immer einen Termin mit einigen Mindestanforderungen geben, und wenn diese nicht erfüllt werden, wird das Projekt abgebrochen und als Fehlschlag bezeichnet. Sie können manchmal implizit sein - der Manager weiß also, "Wenn ich nach 4 Wochen keine funktionierende Benutzeroberfläche mit diesen Funktionen habe, ist dieses Projekt zum Scheitern verurteilt" - oder es gibt Aktionäre, die sich ein Ziel gesetzt haben.
Es gibt viele Projekte, die sich aus der Gesetzgebung ergeben. - Wenn die Regierung beschließt, dass Sie Feature X bis 2017 implementieren müssen, um ein neues Gesetz zu respektieren, haben Sie eine nicht verhandelbare Frist und eine Reihe von Features, die bereit sein müssen. Die einzige Variable ist die Menge der Ressourcen, die das Management der Aufgabe zuweisen kann. - Und in diesen Projekten, in denen der Abgabetermin eine externe Entscheidung ist, müssen sie Ihre Fortschritte beobachten, Ihre Prognosen anhören und die Teams besetzen oder einen Teil der Arbeit auslagern, um ihre Ziele zu erreichen.
All dies steht einer agilen Entwicklung nicht entgegen. Sie werden immer noch Ihre Sprints haben, Ihre Funktionen in Ihrem eigenen Zeitrahmen entwickeln. Sie werden immer Ihre Feature-Prioritäten von einem Kunden erhalten - und Sie werden daran arbeiten, so viele dieser Features wie möglich zu liefern, bis die Frist abgelaufen ist.
Wenn die Frist tatsächlich mit den verfügbaren Ressourcen eingehalten wird, liegt ein Verwaltungsproblem vor. Sie können Ihre Prognose und wöchentliche / tägliche Statusaktualisierungen angeben und sie können entscheiden, ob sie mehr Ressourcen benötigen. Andernfalls werden Sie weiterhin in Sprints arbeiten und Runables liefern - genau wie bei jedem anderen Projekt.
quelle
Wie schon jemand zuvor ausgeführt hat, heißt es in dem Manifest:
Ich würde vorschlagen, dass Sie sich den vorgelegten Plan ansehen und Änderungen vorschlagen. Denken Sie daran, das Manifest besagt, dass der Rückstand niemals endgültig ist und sich ständig weiterentwickelt.
So können Sie Ihre Vorschläge an das Team weiterleiten. Wenn Sie eine gültige Begründung haben und das Team dem zustimmt, wird jeder Product Owner, der sein Salz wert ist, diese berücksichtigen und den Rückstand entsprechend der Meinung des gesamten Teams weiterentwickeln.
Dies ist der Punkt, an dem es zwei Möglichkeiten geben könnte.
Der Produktbesitzer und das Unternehmen stimmen mit Ihrer Argumentation überein und erhöhen möglicherweise die Ressourcen, um die Frist einzuhalten, wenn dies eine Option ist, ODER sie entscheiden sich möglicherweise dafür, einige Funktionen zu streichen, um die Frist einzuhalten.
Möglicherweise möchten sie weiterhin an ihrer eigenen Version gegen die kollektive Meinung des Teams festhalten.
Wenn das Ergebnis # 2 ist, dann ist dies nicht Agile.
Wenn Sie auf Platz 1 landen, dann würde ich sagen, dass das Team auf dem richtigen Weg ist, denn bei Agile geht es nicht nur um die Devs "Reagieren auf Veränderungen", sondern auch darum, dass das Unternehmen in der Lage ist, auf Veränderungen zu reagieren.
quelle
Stellen Sie sich vor, Sie sollen jemanden bitten, eine Wand, ein Haus und dann eine ganze Straße für Sie zu streichen. Wie viel Zeit würden Sie dieser Person dafür geben?
Was auch immer Ihre Antwort ist, Sie werden sich irren. Das ist es.
Es gibt keine Möglichkeit, dass sie mit Terminen Recht haben, wenn sie nicht die Leute fragen, die die Arbeit erledigen müssen, was sie denken.
Übrigens, wenn Sie (als Team) diese Daten akzeptieren , liegen Sie dort falsch.
Sie sollten sich etwas Zeit nehmen, um gemeinsam mit den Stakeholdern an dieser Planung zu arbeiten, damit Sie Prioritäten setzen können, je nachdem, wie einfach und schnell dies erledigt werden kann.
Zum Beispiel wird die endgültige Arbeit vielleicht doppelt so lange dauern, wie sie gedacht haben, aber sie könnten eine Beta viel früher als erwartet nutzen.
Alles in allem können Sie nicht zulassen, dass die Leute glauben, dass Sie in der Lage sind, X-in-Y-Zeit zu fahren, wenn Sie nicht schneller können oder könnten. Es liegt in Ihrer Verantwortung, klar zu machen, was Sie in Bezug auf Details und Zeit benötigen.
quelle
Es ist nicht leicht zu planen, nein.
Aber wenn Sie so tun, als ob Sie den Plan nicht kennen, arbeiten Sie einfach Sprint für Sprint. Es könnte einfach klappen.
Es wird immer Termine und Budgets geben. Es besteht immer die Gefahr, dass sie übersehen oder überfahren werden, und wenn dies passiert, müssen Sie immer auf einen Plan B zurückgreifen.
Wenn Sie agil gearbeitet haben, ist Plan B hoffentlich die Demo des letzten Sprints
quelle