Einige Hintergrundinformationen
Ich bin Teil eines firmeninternen Softwareentwicklungsteams. Es besteht aus
- 5 Entwickler (mit Erfahrungen von 2 bis 5 Jahren, ich bin einer von ihnen)
- 3 Implementierungsmitarbeiter (sie übernehmen die Softwarebereitstellung und -schulung)
- und 1 Projektmanager.
Wir entwickeln viele kleine bis mittlere Projekte, deren Zeitrahmen sich normalerweise überschneiden. Die Entwicklung geht so:
- "Kunde" gibt uns eine Reihe von anfänglichen Anforderungen
- Wir entwickeln das System nach dieser Spezifikation
- Präsentieren Sie das System "Client"
- "Kunde" gibt uns zusätzliche Anforderungen basierend auf dieser Präsentation
- Wiederholen Sie 2-4, bis "client" keine neuen Anforderungen mehr hat oder das Bereitstellungsziel nahe ist
- Richten Sie das System ein und stellen Sie es bereit
Dies, zusammen mit der Tatsache, dass es der "Kunde" ist, der die Fristen die meiste Zeit abwickelt (was eine rote Fahne ist, wie ich hier in Programmierern und PM.SE sehe), und wir folgen keinen bestimmten Entwicklungsmethoden zu Cowboy-Codierung, nahezu nicht zu wartendem Code und Fehlern, die unter anderem durch die Produktion gelangen. Aus diesem Grund haben wir uns für eine Agile-basierte Methodik wie Scrum entschieden.
Warum Scrum?
Es war die Initiative unseres Managers, und angesichts unserer gegenwärtigen Situation scheinen sich alle einig zu sein.
Das Problem mit Scrum
Einige Elemente von Scrum stehen im Widerspruch zu unserem aktuellen Setup, auf das wir nicht ohne weiteres eingehen können, insbesondere der "Alleskönner" -Natur agiler Entwickler. Das Bereitstellungsteam kann nicht programmieren, und die Entwickler verfügen über unterdurchschnittliche Kommunikations- und Schulungsfähigkeiten. Und diese Aufstellung wird sich in Kürze nicht wirklich ändern.
Die Frage
Würde dies die Wirksamkeit von Scrum als Methodik beeinträchtigen? Müssten andere Änderungen vorgenommen werden, um dies auszugleichen? Oder wäre es besser, den Gedanken ganz aufzugeben und über eine andere Methodik nachzudenken?