Nach mehr als zwei Jahren in einer hochsilbernen Entwicklungsabteilung mit dem Namen "einsamer Wolf" haben wir uns für Agile SCRUM entschieden. Groß. Ich mag Agile; Als Entwickler bleiben Sie fokussiert, beschäftigt und produktiv, ohne dass unzählige Stakeholder Ihnen Projekt für Projekt in die Quere kommen, mit der Erwartung, dass sie alle gestern fertig sind.
Es gibt jedoch einen Aspekt der Umstellung auf SCRUM im Vergleich zu unserem aktuellen "Modell", den die Leute außerhalb der Entwicklungsabteilung meines Erachtens nicht im Geringsten mögen werden. Das ist ihre derzeitige Fähigkeit, kleine Änderungen "während Sie warten" zu veranlassen. Ein großer Teil unserer Entwicklung ist nur für den Eigenverbrauch bestimmt, und wir befinden uns größtenteils alle im selben Gebäude. Daher ist es seit Jahren üblich, dass ein Abteilungsleiter oder Manager an einem anderen Ort zum "Codebasis-Eigentümer" einer bestimmten Anwendung kommt und nach kleinen Dingen fragt (manchmal nicht so klein, aber wir sind ziemlich gut darin, keine drei Aufgaben zu übernehmen. Wochenprojekte basierend auf diesen "Drive-bys"). Sogar unser Chef gibt manchmal Dinge weiter, die auf diese Weise zu ihm gebracht wurden. Sehr oft, wenn wir gerade in der fraglichen Codebasis arbeiten, können wir einfach die Quelldatei öffnen.
Mit einer grundlegenden Agile SCRUM-Methodik würden diese Optimierungen entweder als Fehler protokolliert (wir haben eine in einer zuvor konsumierten Story festgelegte Anforderung nicht erfüllt) oder als neue kleine Storys (wir haben alle angegebenen Anforderungen erfüllt, diese Anforderungen waren jedoch unvollständig, vage oder falsch , oder sie haben sich nach der Auslieferung geändert, sobald die Benutzer die neuen Funktionen gesehen haben). In beiden Fällen wäre die überwiegende Mehrheit höchstens Einzeiger, wenn nicht Nullen, und hätte eine relativ niedrige Priorität (das System ist in seinem aktuellen Zustand verwendbar, aber es wäre so viel kühler, wenn ...), dass es unwahrscheinlich wäre, dass dies der Fall ist in einen Sprint gebracht, wenn der Rückstand von oben nach unten gearbeitet wird.
Diese Möglichkeit wurde bei einem Entwicklertreffen als Quelle für aktiven Widerstand gegen unseren Agile-Prozess von anderen Abteilungen angesprochen, die dies als weniger "agil" als unsere derzeitige Fähigkeit ansehen, auf Anfrage kleine Änderungen vorzunehmen. Es ist ein berechtigtes Anliegen, IMO; Die Stakeholder, die hinter der PO stehen, sind sich nicht immer einig, was am wichtigsten ist, da sie nicht alle den gleichen Standpunkt vertreten. In der Regel treffen jedoch nur die Manager die endgültige Entscheidung zeigt im Product Backlog.
Dann wurde eine Lösung vorgeschlagen, die vorläufig "Bonbonglas" genannt wurde (ein anderer Begriff, der weggeworfen wurde, war "Sauciere"). Von den "kleinen Jungs" in den verschiedenen Abteilungen angeforderte kleine Änderungen, die keine Fehler in einer vorhandenen Story sind und die nach Einschätzung des Konsenses oder der Zustimmung des Teams weniger als die Hälfte eines Entwicklertages in Anspruch nehmen Eine sofortige, signifikante, positive Auswirkung auf das Benutzererlebnis wird nach Ansicht des Endbenutzers parallel zum primären Rückstand auf eine Liste gesetzt. Sie würden als "Geschichten" identifiziert, aber vom primären Rückstand der "großen" Geschichten, die der Priorisierung unterliegen, getrennt gehalten. Wenn wir zu irgendeinem Zeitpunkt während des normalen Sprints in einem Bereich des Systems arbeiten, in dem eine dieser Änderungen vorgenommen werden kann, Wenn wir den Tweak trivial machen, können wir den Tweak in den Sprint bringen und ihn neben der größeren Story codieren. Dies tundarf die Fertigstellung der größeren Geschichte oder einer anderen engagierten Arbeit nicht gefährden. Die PO hätte auch Zugriff auf diese Liste, und wenn sie an einer bevorstehenden User Story arbeiten würden, die die Grundfunktionen des Tweaks berührt, könnten sie diese als Anforderung in die Story einbinden, und dann würden wir die Anforderung wie gewohnt erfüllen andere. Dies sollte die Wahrscheinlichkeit erhöhen, dass an Optimierungen früher als später gearbeitet wird.
Dies löste bei denen von uns mit ScrumMaster-Training die Reaktion von "äh-äh" aus. Es gibt einen Rückstand. In zwei Rückständen wird die Frage gestellt, welches Element Nr. 1 wirklich das wichtigste ist, welche Elemente der Liste die tatsächliche Geschwindigkeit bestimmen und in welchen der beiden Rückstände eine Story tatsächlich gehört (jede Abgrenzung von Größe / Komplexität wird einige Fälle haben, die relativ abnehmen beliebig nach der einen oder anderen Seite). "Lass den Prozess funktionieren", sagten wir; Wenn die Änderung für die Endbenutzer wirklich von Bedeutung ist, verursachen sie genug Lärm, damit die Abteilungsleiter Zeit- und Geldentscheidungen an Bord treffen können.
Ich dachte, ich würde die Frage zu Wort kommen lassen: Wäre Ihrer Meinung nach eine parallele Liste von "Bite-Size" -Geschichten nützlich, um kleine, nützliche, aber letztendlich weniger prioritäre Änderungen zu beschleunigen, oder ist dies insgesamt eine bessere Entscheidung? sie in den Hauptstau zu bringen und den grundlegenden Prozess ihre Einbeziehung in einen Sprint bestimmen zu lassen?