Mein Unternehmen befindet sich inmitten eines Übergangs von der Entwicklung im Wasserfallstil zu Agile / Scrum. Unter anderem wird uns mitgeteilt, dass wir am Ende eines jeden Tages neue funktionierende, überprüfbare (durch QS überprüfbare) Funktionen erwarten .
Die meisten unserer Entwickler verlieren ungefähr 2 Stunden pro Tag durch Meetings und andere unternehmerische Aktivitäten. Dies bedeutet, dass wir in einem gegebenen Zeitraum von 6 Stunden (im besten Fall) genügend Code entwerfen, schreiben, Komponententests durchführen, erstellen und (mit Versionshinweisen) bereitstellen müssen, um eine vollständige Funktion für die Qualitätssicherung zu erstellen. Ich verstehe, dass das Erstellen / Bereitstellen / Versionshinweise mit einem richtigen CI-Setup automatisiert werden könnten, aber wir sind noch nicht da.
Wir haben auch ein großes Offshore-Kontingent, das unseren serverseitigen Code schreibt, und der Zeitunterschied von 12 Stunden macht dies noch schwieriger.
Wir versuchen, die Storys in enge, tiefe vertikale Abschnitte zu unterteilen, um die Features so schnell wie möglich zu Ende zu bringen. Die meisten Tage sind jedoch ziemlich hektisch, und ich sehe oft Leute, die dumme, fragile Verknüpfungen verwenden, um sicherzustellen, dass die Qualitätssicherung ihren Aufbau hat. Dieses Problem verschärft sich, nachdem ein Sprint einige Tage lang ausgeführt wurde, wenn die unvermeidlichen Mängel auftreten und in dasselbe 6-Stunden-Fenster passen müssen.
Ist dies ein normales Tempo für agile Teams? Selbst wenn es uns gelingt, ein CI-Setup zu implementieren, kann ich nicht sehen, wie wir dieses Tempo aufrechterhalten und dennoch qualitativ hochwertige Software erstellen können.
Edit: Hier gibt es mehrere gute Antworten. Mir wurde klar, dass ich wirklich gefragt habe, ob agile Teams täglich neue Funktionen bereitstellen sollen. Ich habe den Titel entsprechend aktualisiert.