Wer sollte Ihrer Meinung nach einen Fehler beheben? Ein Programmierer, oder? Okay, aber wirklich, wer ... lass es mich erklären.Wer sollte Fehler in einer Scrum/Agile-Umgebung beheben?
Ich bin ein Scrum Master über eine Reihe von Scrum-Projekten. Scrum sagt: "Schalte deine Ressourcen ein, wo es möglich ist", ein Gefühl, dem ich von ganzem Herzen zustimme.
Im Allgemeinen integrieren wir ein gewisses Alter jedes Sprints, um Fehler von den vorherigen Sprints zu beheben - alles gut und gut.
Nach jedem Sprint wir Demo und Restrospektive zu unseren Kunden, und fördern unseren Entwicklungscode zu einer UAT-Umgebung (unser Kunde möchte in der Regel nicht ein kleines bisschen von seinem Projekt zu leben, aber das liegt an ihnen - wir Wir behalten unsere Seite, indem wir sicherstellen, dass wir funktionierenden und testbaren Code bereitstellen.
Sobald alle Sprints abgeschlossen sind, haben wir eine UAT-Phase, in der der Client einen gründlichen Test der fertigen Software durchführt, um letzte Fehler zu finden. Im Idealfall wären diese bereits erwischt worden, aber realistisch gesehen gibt es einige, die erst während UAT entdeckt wurden.
Während dieser UAT-Phase werden nicht alle Entwickler für das Projekt in 100% der Zeit benötigt. Daher möchten wir sie für andere Projekte neu zuweisen. Scrum sagt jedoch, "schütze deine Ressourcen wo immer möglich".
Mein Problem ist, ich ordnet Entwickler der UAT-Phase eines Projekts zu, während ich an anderer Stelle ein separates Scrum-Projekt starte. Nicht ideal - im Moment ist dies jedoch eine kommerzielle Realität.
Ich kann entweder:
1) mit ihr leben und haben die Entwickler ihre eigenen Code zu beheben - und einige Zeit zuweisen (etwa 20%) des Entwicklers auf die UAT des früheren Projekt.
2) Stellen Sie sicher, dass eine Übergabe vorhanden ist und dass in 100% der Fälle 1 oder 2 Entwickler für den Fehlerbehebungscode zuständig sind.
Ich mag 1), aber es macht Ressourcenbildung zu einem echten Schmerz in den Arsch.
2) macht mir Angst, ich glaube, Entwickler übernehmen keine Verantwortung für die Qualität ihres eigenen Codes. Ich denke, es gibt eine Menge zu sagen, wenn man sicherstellt, dass die Entwickler den Besitz ihres eigenen Codes übernehmen - und sie zu bitten, ihre eigenen Fehler zu beheben, ist ein guter Weg, die Qualität sicherzustellen. Niemand mag es, Bugs zu beheben, also habe ich festgestellt, dass Entwickler im Allgemeinen versuchen, einen besseren Job zu machen, weil sie wissen, dass sie sowieso auftretende Probleme beheben müssen. 2) ist jedoch einfacher zu planen und zu ressourcenieren. Aber 2) dauert länger, da das Reparieren eines Fehlers in jemandes Code kostspielig in Bezug auf Zeit und Ressource ist. Wenn es sich um ein kompliziertes Update handelt, benötigt es möglicherweise die Hilfe des ursprünglichen Entwicklers, und es wird sicherlich länger dauern, bis es von jemandem repariert wird, der mit diesem Abschnitt der Codebasis nicht so vertraut ist.
Was denken die Leute?
dumme Frage, aber ist ein UAT kein weiterer Sprint? IOW, Sie sagen, Sie liefern brauchbare Bits, aber Sie sind nicht. Es sollte also wieder bei den Programmierern sein, die dafür verantwortlich sind. – KevinDTimm
Nur als eine Randnotiz: 1. Sie sollten nicht "Rückblick auf Ihren Kunden", Sie tun die Retrospektive _inside_ das Team, identifizieren (und möglicherweise lösen) Ihre Probleme. Retros sind für das Team und niemand sonst. 2. Ihr Problem mit dem, wer Bugs beheben sollte, kann rückwirkend soleveved sein :) 3. Scrum Master, der nicht Teil eines Teams ist Vollzeit, volles Herz, ist eher ein mittlerer Management-Overhead sein, als dann sein von irgendeiner echten Hilfe. – Dmitry