Wie gehen Sie mit den Kosten eines zu schnellen Wandels um?

11

Wie die meisten modernen Entwickler schätze ich agile Prinzipien wie die Zusammenarbeit mit Kunden und das Reagieren auf Änderungen. Was passiert jedoch, wenn ein Product Owner (oder wer auch immer Anforderungen und Prioritäten festlegt) Anforderungen und Prioritäten zu oft ändert? Wie mehrmals am Tag?

Ich habe kürzlich eine kleine Codebasis geerbt, die fehlerhaft und unvollständig war und nicht einmal das einfachste Szenario bewältigen konnte, das es sein sollte. Ich kann mich um die technischen Probleme kümmern, aber ich bekomme täglich mehrere E-Mails, Texte oder Telefonanrufe mit der Aufschrift "Oh mein Gott, du musst sofort daran arbeiten! TOP PRIORITY! Dies ist ein MUSS !!! eins" (das ist nur eine leichte Übertreibung). Was es noch schlimmer macht, ist, dass die meisten Dinge kleine Details sind, die nicht einmal relevant für das sind, was die Software eigentlich tun soll, und deren Implementierung ohnehin Tage dauern würde. Ich habe versucht zu erklären, dass es nur so viel Zeit gibt und dass wir uns zuerst auf die wichtigsten Dinge konzentrieren sollten, aber bei der Übersetzung scheint etwas verloren zu gehen, weil das Gleiche ein oder zwei Tage später passiert.

Gibt es eine Art Product-Owner-Handler-Rolle, eine eingehende Studie, eine Metapher oder ein Zitat, die mir helfen kann, den Aufwand zu reduzieren oder zumindest die Kosten dieses chaotischen Verhaltens zu erklären?

Trystan Spangler
quelle
Verfolgt Ihr Team eine agile Methodik?
Aaron Kurtzhals
Ich würde sagen, dass wir agil sind, aber keine andere agile Methodik befolgen als die, die die Tools (PivotalTracker, Jenkins usw.) auferlegen oder unterstützen.
Trystan Spangler
Sie sagen agil-wie, ich würde agil-aber sagen;)
Marcin Sanecki

Antworten:

12

Dafür ist der Rückstand gedacht. Neue Anforderungen werden in das Backlog aufgenommen, und Prioritäten können sich nur an Iterationsgrenzen ändern. Eine durchschnittliche Verspätung von einer Woche (die Hälfte eines zweiwöchigen Sprints) ist agil genug, um alle außer den schlimmsten Notfällen zu bewältigen.

Karl Bielefeldt
quelle
5
+1 für die einzig richtige Antwort. Wie sagt man das? "Sobald eine Iteration gestartet wurde, kann man sie nicht mehr ändern." Welchen Teil von 'CANNOT' verstehst du nicht?
Mattnz
+1 auf die Antwort und auf Mattnz 'Kommentar ("Welchen Teil von' CANNOT 'verstehst du nicht?"): Ich hatte ein ähnliches Problem: dreiwöchige Iteration und in der dritten Woche beginnt ein Kollege extrem kreativ zu sein und sich zu ändern / Dinge bewegen. Agilität bedeutet viel Flexibilität, aber es gibt einige untere Grenzen: Nachdem Sie einige Mindestarbeitseinheiten festgelegt haben, sollten Sie sich auf diese konzentrieren, ohne abgelenkt zu werden.
Giorgio
Ich bin damit einverstanden, dass dies der Zweck des Backlogs ist. Sie dürfen jedoch Elemente aus einer Iteration löschen oder sie sogar gegen Elemente mit gleichem Aufwand austauschen, solange Sie noch nicht mit der Arbeit an den gelöschten / ausgetauschten Elementen begonnen haben.
Joshua Drake
Ich bin damit einverstanden, dass das Team entscheiden kann, ob Änderungen während des Sprints zulässig sind oder nicht. Zu viele von außen auferlegte Änderungen sind störend, unabhängig davon, ob Sie damit begonnen haben oder nicht. Es liegt an den einzelnen Teams zu entscheiden, wie viel "zu viel" ist. Manchmal muss man diese Zahl auf Null setzen, damit die Leute das Bild bekommen.
Karl Bielefeldt
9

Hier ist, wie ich mit einem ähnlichen Problem umgegangen bin. Damals, als wir vor Agile agil waren.

Für jede Änderungsanforderung legt der Kunde die Priorität fest. Der Entwickler kann und muss die Arbeit an einer Aufgabe nur beenden, um an einer Aufgabe mit höherer Priorität zu arbeiten. Aufgaben mit gleicher Priorität sind Zeitpläne in der Reihenfolge ihrer Ankunft. (Die Aufgabenpriorität kann nach Arbeitsbeginn nicht mehr geändert werden.)

Es tut weh, wenn Sie dem Kunden mitteilen, dass Sie nicht an seiner Aufgabe arbeiten können, weil Sie an einer unwichtigen Aufgabe X arbeiten, die dieselbe Priorität wie seine letzte Anfrage hat. Sie sagen ihm dann, dass auf dieser Prioritätsstufe 50 triviale und unwichtige Aufgaben vor seiner letzten Anfrage liegen. Jetzt der eigentliche Haken - all diese Aufgaben befinden sich auf der Prioritätsstufe 1 (der höchsten), die von ... IHM ... festgelegt wurde. Er kann Sie also nicht von der Aufgabe abbringen, die Sie gerade ausführen. Wenn Sie den Fensterrahmen um 3 Pixel nach links verschoben haben, um Platz für das längere Wort in der isländischen Übersetzung für die selten verwendete Konfigurationsoption zu schaffen .....

Ich schloss auch die Tür zum SD-Büro, schloss sie ab und nahm die Telefone ab. E-Mails wurden bis 10 Uhr, 12 Uhr und 14 Uhr ignoriert. Ungeachtet dessen, was die Menschen dachten und fühlten, ging die Welt immer noch um die Sonne, wir erledigten unsere Arbeit und die "Kunden" erhielten Software schneller und besser als jemals zuvor.

Es dauerte ein paar Wochen, bis sich die Prioritäten auf etwas Realistischeres festgelegt hatten. Wir konnten die Tür aufschließen usw. Aber das System blieb ziemlich lange bestehen. Sie müssen möglicherweise nicht so extrem sein (wir haben es getan) und benötigen Unterstützung von der Geschäftsleitung. Aber es wird funktionieren ...

mattnz
quelle
+1 "Aufgabenpriorität kann nach Arbeitsbeginn nicht mehr geändert werden." Mit Agile kann ein Entwickler nur Elemente aus einer Iteration löschen, an der er noch nicht gearbeitet hat.
Joshua Drake
Ich mag die Idee, dass der Kunde die Priorität
festlegt.
2

SOP. Standardarbeitsanweisung (oder zumindest ein loses Protokoll, das von Ihrem Managementteam abgemeldet wurde). Ihre Abteilung muss eine entwickeln oder mit Ihrem Management-Team zusammenarbeiten, um eine zu entwickeln. Die Personen, mit denen Sie sprechen müssen, stehen über dem Product Owner / Account Manager.

Einige Beispiele dafür, was Ihre SOP definieren sollte.

  • Welche Verfahren sind zu befolgen, wenn ein Client oder eine interne Entität eine Änderung anfordert?
  • Welche Auswirkungen und / oder Auswirkungen hat dies auf die Qualitätskontrolle oder Überprüfung dieses Produkts?
  • Wie kann ein Zeitrahmen für die Lieferung angemessen festgelegt werden? Diese Iteration? Nächste Version?

Ohne solche Verfahren wird jeder auf dich loslaufen, als würden sie von Zombies verfolgt und erwarten JETZT JETZT alles. Leute wie diese respektieren dein höfliches Nein oder bitte warte nicht. Mit einer festen Richtlinie werden diese Mutanten, die nach Code verlangen, verstehen, dass sie im Unrecht sind, wenn sie auf einer so lockeren Basis nach Dingen fragen.

Das Endergebnis ist unglücklich für Sie, und das liegt nicht im besten Interesse Ihres Unternehmens.

Nebenbei bemerkt, Sie haben möglicherweise jemandes Chaos geerbt, das durch solch offensichtliche Missachtung seiner Position und Pflicht verursacht wurde. Menschen in dieser Situation fällt es schwer, Qualitätsprodukte herzustellen. Ist es ein Wunder? Softwareentwicklung 101.

Styler
quelle
2

Es ist sehr schwierig, unter diesen Bedingungen "Bereit, Feuer, Ziel" zu arbeiten. Es klingt für mich so, als würden Sie Anforderungen von einer sehr unsicheren Person erhalten, deren Meinung sich jedes Mal ändert, wenn eine höhere Person eine konzeptionelle Idee vorschlägt.

In solchen Situationen habe ich es als wertvoll empfunden, mindestens eine Stunde zu warten, bevor ich auf E-Mails antworte. (Ich würde die Texte ignorieren, es sei denn, Texting hat E-Mails von Ihrer gesamten Organisation weitgehend ersetzt.) Lesen Sie sie möglicherweise, aber antworten Sie nicht. Auf diese Weise können Sie Ihre Zeit damit verbringen, sich auf die eigentliche Arbeit zu konzentrieren, die Sie erledigen müssen, und nicht auf die Erörterung zufälliger Dringlichkeiten, die morgen irrelevant werden könnten, oder sogar zwei oder drei E-Mails später. Wenn in meinem letzten Job etwas WIRKLICH Dringendes war, kam jemand zu mir und sprach persönlich mit mir, vorausgesetzt, ich hatte die E-Mails noch nicht gesehen (wenn Sie remote arbeiten, kann ein Anruf mit einem tatsächlichen wechselseitigen Gespräch das sein Äquivalent).

Wenn Sie ein persönliches Gespräch oder ein Telefongespräch führen, ist es hilfreich, das, wonach die Person fragt, in eigenen Worten zu wiederholen und dann Ihre Fragen zu den neuen Anforderungen und Prioritäten zu stellen. "Wenn ich das richtig verstehe, sagen Sie, wir sollten aufhören, an der aktuellen obersten Priorität X zu arbeiten, und uns jetzt auf die Priorität der Minute Y konzentrieren. Das ist eine große Verschiebung. Können Sie die Veränderung im Geschäft erklären? Ich muss möglicherweise mehr Hintergrundwissen machen Arbeiten Sie nicht nur die Benutzeroberfläche zu ändern. Werden sich auch andere Geschäftsprozesse ändern, z. B. die Abrechnung oder das Inventar? Erwarten Sie, dass diese neuen Datenelemente in allen monatlichen Berichten angezeigt werden? " Es ist auch nützlich, etwas zu sagen: "Sie verstehen, dass wenn wir mit dieser neuen Anstrengung fortfahren, die Veröffentlichung von Current Top Priority X um mindestens eine (Woche, Monat,) verzögert wird.

Wenn es sich um einen echten Notfall handelt, sollte der Antragsteller in der Lage sein, diese Art von Fragen zu beantworten oder Sie sofort an jemanden weiterzuleiten, der dies könnte. Wenn es sich nicht um einen echten Notfall handelt, wird der Anforderer durch diese Art von Konversation gezwungen, langsamer zu werden und festzustellen, wie wichtig die Änderung wirklich ist, da er weitere Informationen benötigt. Oft werden sie feststellen, dass das, was sich bereits in der Pipe befindet, wichtiger ist oder zumindest keinen Stopp wert ist, und die neue Anfrage kann auf die Liste gesetzt werden.

Wenn sich herausstellt, dass die Änderungen erforderlich sind, habe ich es als nützlich empfunden, die angeforderten Informationen und Ihr Verständnis der Änderungen in einer E-Mail aufzuschreiben und an den ursprünglichen Anforderer zu senden und zu fragen, ob sie sich über den Umfang der Änderung einig sind. wieder als Klarstellung. Auf diese Weise haben Sie schriftlich dokumentiert, was zu tun ist und warum dies angefordert wurde, falls es einen Rückschlag gibt, warum Sie nicht mehr an der aktuellen obersten Priorität X arbeiten oder erklären müssen, warum die ursprünglichen Fristen nicht eingehalten werden getroffen werden.

Dies sollte hoffentlich Ihre Beziehung zum Anforderer verbessern, da Sie Ihr Wissen demonstrieren und sicherstellen, dass Sie an dem arbeiten, was sie wollen, aber ehrlich sind, was erforderlich ist, um Änderungen vorzunehmen. Wenn sie detailliert nach der Anfrage fragen, sehen sie, dass Sie vorausdenken und Dinge berücksichtigen, die sie ursprünglich möglicherweise nicht haben.

Jennifer S.
quelle
0

Es sieht so aus, als hätte es noch niemand erwähnt, Sprint und seine User Stories ideally should be locked till the next sprint(typischer Sprint dauert 2-4 Wochen). Mit Sperren meine ich, dass dem bereits gestarteten Sprint keine zusätzlichen Aufgaben hinzugefügt werden sollten.

Wenn die User Story groß genug ist, um nicht in den Sprint zu passen, bremsen Sie sie während des Sprints auf kleinere, erreichbare Aufgaben ab. Wie bereits erwähnt, müssen auch priorisierte Aufgaben im Rückstand gehalten werden , und während der nächsten Sprintplanung muss die Flagge mit hoher Priorität hochgezogen werden :)

Bearbeiten: Im Frühjahr können nur geringfügige Änderungen vorgenommen werden. wenn sie Notfallzustand tragen. Wenn es jedoch während des Sprints immer zu einigen Notfällen kommt, müssen Änderungen an der Sprint-Planung selbst vorgenommen werden.

Yusubov
quelle
0

Scrum hat die Rolle des Scrum-Masters. Dies ist die Person, die sich mit den von Ihnen genannten Problemen befassen sollte.

Wenn es jemanden wie einen Teamleiter, einen Projektmanager, einen Scrum Master usw. gibt, der dafür verantwortlich ist, würde ich mit dieser Person sprechen.

Ich habe versucht zu erklären, dass es nur so viel Zeit gibt und dass wir uns zuerst auf die wichtigsten Dinge konzentrieren sollten, aber bei der Übersetzung scheint etwas verloren zu gehen, weil das gleiche ein oder zwei Tage später passiert.

Ich denke, dass Sie das immer und immer wieder erklären müssen. Es hört sich so an, als müssten Sie möglicherweise akzeptieren, dass bestimmte Personen, mit denen Sie arbeiten, nicht hilfreiche Gewohnheiten haben. Wenn Sie Glück haben, werden Sie irgendwann eine Veränderung sehen.

Aaron Kurtzhals
quelle
0

Das Agile Manifest besagt, dass eines der grundlegendsten Prinzipien ist:

Begrüßen Sie sich ändernde Anforderungen, auch spät in der Entwicklung. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.

Ich glaube jedoch nicht, dass sie eine tägliche Veränderung bedeuteten. Möglicherweise müssen Sie den Grundpreis eines Produkts mehrmals am Tag ändern, aber nicht, wie das Produkt möglicherweise mehrmals am Tag verkauft wird. Vielmehr kann sich der Workflow des Verkaufs eines Produkts wöchentlich ändern (in sehr reaktionsschnellen und dynamischen Unternehmen).

Auch wenn sich der Workflow des Verkaufs eines Produkts jede Woche ändern kann, denke ich, dass das Gesamtprodukt nicht jede Woche geändert wird. Ich kann mir kein Microsoft vorstellen, das uns heute Office gibt, aber morgen Offooose und eine Woche später Offasooooooooooos.

Nein, das ist nicht das, was Agilität unter Veränderung versteht. Ich glaube, dass es von schlechten Visionen und einem großen tiefen Missverständnis des Konzepts der Veränderung herrührt.

Ganz zu schweigen davon, dass Änderungen in einem Sprint nicht begrüßt werden, in dem Entwickler in ihre Höhlen gehen und sich auf das konzentrieren müssen, was sie tun. Vielmehr sollten Änderungen zum Product Backlog hinzugefügt und analysiert und priorisiert werden, bevor sie an das Scrum-Team übergeben werden. Mit anderen Worten, ein Sprint Backlog ist nicht unveränderlich. Mit kürzeren Sprints sollte mehr Agilität angestrebt werden, nicht durch mehrmaliges direktes Injizieren von Wechselgeld in Entwicklerräume.

Saeed Neamati
quelle