Implementieren von agilen Methoden, die skaliert werden

Azure Boards | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 – TFS 2013

Enterprise Organisationen übernehmen Agile-Methoden aus vielen Gründen. Zu den wichtigsten Gründen zählen:

  • Verkürzen der Markteinführungszeit, Beschleunigen der Produktbereitstellung
  • Verbessern der Effektivität der Organisation zur Verwaltung sich ändernder Prioritäten
  • Verbessern der Softwarequalität und der Vorhersagbarkeit der Bereitstellung
  • Verbessern der Sichtbarkeit von Projekten und Verringern des Projektrisikos

Wenn Ihre Organisation wächst, möchten Sie Ihre Methoden skalieren, um flexibel zu bleiben und sich ändernde Ziele zu erreichen. Beachten Sie dazu die folgenden beiden Leitprinzipien:

  • Wie sieht der Erfolg für Sie, Ihre Teams und Ihre Organisation aus? Was ist am meisten interessant: Terminübermittlung? Produktqualität? Berechenbarkeit? Kundenzufriedenheit?
  • Kehren Sie zu den ersten Prinzipienzurück, kehren Sie zu den Prinzipien und gemeinsamen Werten zurück, die im Agile-Manifest aufgeführt sind. Diesist einer der Wichtigsten von Interpol:
    • "Werte und Prinzipien werden skaliert, aber Die Vorgehensweisen sind kontextabhängig."
    • "Behalten Sie die Werte bei, behalten Sie die Prinzipien, denken Sie selbst nach. Eine wesentliche Voraussetzung von Agile ist, dass die Personen, die die Arbeit ausführen, die Personen sind, die am besten herausfinden können, wie dies funktioniert."

Erstellen von Rhythmus und Flow

Durch die Übernahme eines gemeinsamen Rhythmus und einer Reihe von regelmäßigen Kommunikationen erstellen Sie einen konstanten Aktivitätsfluss in der gesamten Organisation. Zu den Methoden, die dazu beitragen, Denk- und Fluss innerhalb größerer Organisationen zu schaffen, gehören:

  • Gemeinsamer Rhythmus:Regelmäßige Sprints und Releases bestimmen den Rhythmus des Unternehmens. Alle Teams in einem gemeinsamen Rhythmus arbeiten zu lassen, hilft bei allen Koordinations- und Zusammenarbeitsaktivitäten.
  • Sprint-E-Mails:Um die Organisation und alle Teams über den Fortschritt und die Pläne von Featureteams auf dem Laufenden zu halten, kann jedes Featureteam eine Zusammenfassung seiner vorherigen Sprintergebnisse und aktuellen Sprintpläne per E-Mail senden.
  • Sprintdemos:Ein Schnellvideo von 2 bis 3 Minuten, das ein neues Feature veranschaulicht, das das Team erstellt hat. Links zu solchen Videos können in Sprint-E-Mails enthalten sein.
  • Präsentationsbesprechungen:Um andere Teams zu informieren und Um Feedback zu Software in der Entwicklung zu bitten, zeigen die Teams ihre Arbeit. Führen Sie diese Besprechungen während des gesamten Projektlebenszyklus in regelmäßigen Abständen durch, und öffnen Sie sie für alle interessierten Parteien.
  • Fehlerzusammenfassungs-E-Mails:Um Einblicke in die Qualität von Produkten zu erhalten und die Beibehaltung der Fehlerdisziplin zu fördern, geben Sie regelmäßig Qualitätsmetriken an die Organisation weiter. Diese Metriken können aktive Fehler pro Featureteam, Fehlertrends und Fehler pro Techniker umfassen.
  • Koordinationssitzungen:Halten Sie Besprechungen ab, die Teams in regelmäßigen Abständen oder so oft wie nötig koordinieren, um sich überschneidende Ziele, Abhängigkeiten und Risiken zu beheben.

Interagieren mit Kunden

Die Einbindung der Kunden während des gesamten Produktlebenszyklus ist ein primäres Agile-Prinzip. Ermöglichen Sie es jedem Team, direkt mit Kunden in den Featuregruppen zu interagieren, deren Eigentümer sie sind.

  • Kontinuierliches Feedback:Erstellen Sie in Kundenfeedbackschleifen. Diese Schleifen können viele Formen annehmen:
    • Kundenfeedback:Erleichtern Sie es Kunden, Feedback zu geben, Ideen hinzuzufügen und über Features der nächsten Generation abzustimmen. Feedback wird häufig über eine dedizierte Website gegeben.
    • Produktfeedback:Schaltflächen für Produktfeedback sind eine weitere Möglichkeit, Feedback zur Produkterfahrung oder zu bestimmten Features zu erhalten.
    • Kundendemos:Regelmäßig geplante Demos, die Feedback von Ihren Kunden anfordern, können Dabei helfen, Produkte der nächsten Generation zu gestalten und sie auf kurs zu halten, um Anwendungen zu erstellen, die Ihre Kunden nutzen möchten.
  • Early Adopter-Programme:Solche Programme sollten mit der Idee entwickelt werden, dass alle Teams an einem bestimmten Punkt teilnehmen möchten. Early Adopters erhalten Zugriff auf frühe Versionen der funktionierenden Software, die sie dann Feedback geben können. Häufig funktionieren diese Programme, indem sie ausgewählte Featureflags für eine Early Adopter-Liste aktivieren.
  • Datengesteuerte Entscheidungen:Finden Sie Möglichkeiten, Ihr Produkt zu instrumentieren, um nützliche Daten zu erhalten, und die verschiedene Hypothesen testen können. Fördern Sie eine experimentfreundliche Kultur, die das Lernen erleichtert.

Verbessern der Projektsichtbarkeit

Je mehr Einblicke Sie und Ihre Teams in das Ziel, die Vision und den Fortschritt der arbeit haben, desto besser können Sie Risiken reduzieren und Abhängigkeiten verwalten.

  • Teamstruktur:Unabhängig davon, wie groß Ihre Organisation ist, strukturieren Sie Ihre Organisation um kleine Teams von 6 bis 9 Skalierungen. Erstellen Sie vertikale, autonome Featureteams, die in Portfolioverwaltungsbereichen gruppiert sind.
  • Struktur der Arbeitsaufschlüsselung:Das Aufschlüsseln großer Ziele, Features oder Anforderungen in kleinere Ziele, Features oder Anforderungen bleibt ein stabiler Bestandteil des Projektmanagements. Durch die Unterteilung von Aufgaben in ähnliche Aufgaben können Teams bessere Schätzungen vornehmen und Risiken und Abhängigkeiten identifizieren.
  • Konsolidierte Ansichten:Verwenden Sie Ihre Onlinenachverfolgungstools, um Arbeit zu aggregieren, um Teaminformationen zu gewinnen. Erstellen Sie Dashboards, um Fortschritt und Trends anzuzeigen.
  • Erfahrungsüberprüfungen:Diese Besprechungen, die vor Beginn der Entwicklung für ein Feature stattfinden, werden verwendet, um Führungskräfte über Szenarien und Prioritäten zu informieren, Feedback zu sammeln, Erwartungen festzulegen und teamübergreifende Probleme mit dem Feature aufzustellen.

Unterstützen produktiver Mitarbeiter

Zu den spezifischen Agile-Methoden, die gut skaliert werden und zu produktiven, eingebundenen und produktiven Mitarbeitern führen, gehören:

  • Eingebettete Führungskraft:Ermöglichen Sie Es Teams und Führungskräften innerhalb der Organisation, sich so weit wie möglich selbst zu organisieren und selbst zu verwalten. Die Teamautonomie erhöht die Effektivität des Teams für die Organisationsflexibilität. Stellen Sie sicher, dass die Teams über die erforderliche Unternehmensunterstützung verfügen, um erfolgreich zu sein.
  • Tägliche Stand-ups:Alternativ können Sich Teams mit Meetings auf das konzentrieren, was sie täglich tun müssen, um ihre Möglichkeiten zur Erfüllung ihrer Sprintverpflichtungen zu maximieren. Wenn Organisationen wachsen, sollten sie erwägen, diese Besprechungen zu staffeln, damit die teamübergreifende Teilnahme bei Bedarf erfolgen kann.
  • Ablauf der Blöcke:Tägliche Standups von Mitgliedern aus verschiedenen Agile-Teams treffen sich täglich, um abgeschlossene Arbeit, nächste Schritte und Probleme oder Blöcke zu melden, die in ihren repräsentativen Teams auftreten.
  • Teamkommunikation:Bieten und ermutigen Sie Teams, ihre Methoden und Anleitungen zu teilen, auf die sie und andere Teams über das Unternehmensnetzwerk zugreifen können. Zu den gängigen Tools, die zu diesem Zweck verwendet werden, gehören Team-Wikis, OneNotes- oder Markdown-Websites.
  • Zusammenarbeit:Fördern Sie die zusammenarbeitsorientierte Kommunikation zwischen Teams und die Zusammenarbeit innerhalb des Teams. Die Förderung von Methoden wie Code reviews, Design Reviews und Spec Reviews steigert nicht nur die Zusammenarbeit im Team, sondern hilft auch bei der Entwicklung individueller und allgemeiner Unternehmenserfolge.

Verbessern der Organisationskultur

Sie verbessern die Effektivität der Organisation, indem Sie sich um die Kultur kümmern, die Sie erstellen möchten. Kulturänderungen treten auf, wenn Einzelpersonen, Teams und Organisationen eine oder mehrere kontinuierliche Verbesserungsmethoden anwenden. Zu den skalierbaren Agile-Methoden gehören:

  • Retrospektiven:Indem Sie Fragen stellen, z. B. "Was ist gut gelaufen?", "Was sollten wir anders machen?" und "Was sollten wir nicht mehr tun?" helfen Teams, darüber nachzudenken, wie sie ihre Prozesse und Methoden verbessern können. MitHilfe von Retrospektiven können Teams die Funktionsweise und verbesserungsbereiten Funktionen zutage fördern. Retrospektiven können jederzeit und überall durchgeführt werden. Die Indizierung bestimmter Retrospektiven in regelmäßigen Abständen hilft jedoch bei der Modernisierung kontinuierlicher Verbesserungsmethoden. Beispiel:

    • Sprint-Retrospektiven können Teams dabei helfen, Bereiche zu identifizieren, die in regelmäßigen Abständen verbessert werden sollen.

    • Release-Retrospektiven können Organisationen dabei unterstützen, Bereiche zur Verbesserung der Kommunikation und internen Methoden sowie zur Verbesserung des Kraftstoffverbrauchs für das nächste Release zu identifizieren.

    • Betriebsüberprüfungen:werden in der Regel monatlich durchgeführt und umfassen Vertreter aus einem gesamten Wertstrom. Wenn Sie ein Portfolio von Projekten und anderen Initiativen umfassen und zielbezogene, quantitative Daten verwenden, entwerfen Sie diese Retrospektiven, um diskussionen über die Dynamics, die sich auf die Leistung zwischen Teams auswirkt, zu diskutieren.

      Ideen, Tipps und Tools für die Planung und Durchführung von Retrospektiven finden Sie im Wiki zur Agile-Retrospektive. Weitere Informationen finden Sie auch in der Marketplace-Erweiterung "Retrospektiven".

  • Verbesserungsnachverfolgungsboard:Gute Ideen zur Verbesserung von Prozessen können jederzeit von jedem abgeleitet werden. Das Erfassen dieser Ideen, um zu besprechen und zu entscheiden, wie sie schnell behandelt werden sollen, ist ein Schlüssel zur Unterstützung der Prozessverbesserungsmaßnahmen.

    Ein Whiteboard bietet alle einfachen und visuellen Möglichkeiten, mit denen Ideen erfasst werden können. Außerdem können Sie ein Verbesserungsnachverfolgungsteam erstellen und Ideen erfassen, die Sie auf einem elektronischen Kanban-Boardverfolgen.

  • Freigeben von Inhalten:Der Austausch bewährter Methoden und das Kommunizieren von Ideen hilft allen Teams innerhalb einer Organisation, zu wachsen und zu verbessern. Die Entwicklung einer Lernkultur ist der Schlüssel zur Unterstützung dieser und anderer kontinuierlicher Verbesserungsaktivitäten. Einige Zu berücksichtigende Ideen:

    • In-house wikis (In-House Wikis)

    • Eigene Verteilerlisten

    • Hackathon-Wochen oder 10 % Hackzeit

    • Internes Agile-Supportteam zur Unterstützung von Teams, die Agile-Methoden übernehmen

      Das Culture Game stellt eine gute Ressource für Agile-Manager bereit, um Teams bei der Einführung von Agile und beim Austausch bewährter Methoden zu unterstützen.

  • Communitys der Praxis:Unterstützung interner allgemeiner Disziplinen (z. B. DBAs, SW-Architekten, UX-Design)

Funktionierende Software

"Häufig funktionierende Software bereitstellen, von einigen Wochen bis hin zu einigen Monaten, wobei der kürzere Zeitskalierung vorgezogen wird."
"Funktionierende Software ist das primäre Maß für den Fortschritt."
- -

Wenn sich die Menge an Software, Features und Komplexität erhöht, müssen Sie Methoden übernehmen, mit denen Sie gebrauchsbare Lösungen erstellen können.

  • Featureflags:Verwenden Sie Featureflags, um den Zugriff auf verschiedene Features zu aktivieren oder zu deaktivieren. Bereitstellen von Unterstützung für das Aktivieren von Features für Early Adopters, um funktionierendes Feedback zu erhalten.
  • Release trainiert:Geben Sie eine andere Art von Frequenz an, um ein oder mehrere Features zu liefern. Featureteams verstehen den zeitplanvorgeplanten Zeitplan für die Push-Out-Benachrichtigung neuer Features und die korrekte Planung. Release-Züge können dem gleichen Sprintfrequenz entsprechen, der für die Organisation erstellt wurde, oder in einem anderen Sprechlauf auftreten. Informationen zum Einrichten von Sprints und Release-Zügen finden Sie unter Scaled Agile Framework.
  • Continuous Integration:Übernehmen Sie Prozesse, die manuelle Arbeit vermeiden und stattdessen den Softwarefluss durch die Test-, Build- und Bereitstellungszyklen automatisieren.
  • Internal Open Source: Bringen Sie den Wert und das Ethos, die in der Open Source-Software-Community entwickelt wurden, in Ihre internen Entwicklungsteams ein.

Zusammen mit den oben genannten Vorgehensweisen finden Sie in den folgenden Artikeln weitere Anleitungen zum Skalieren Ihrer Agile-Tools:

Branchenressourcen

Nicht skalierende Vorgehensweisen

  • Schätzen großer Initiativen:Teil der Wasserfallprojektmethoden war die Schätzung von Ressourcen und Zeitplänen. Je größer die Initiativen sind, desto geringer ist die Wahrscheinlichkeit, dass diese Schätzungen einen beliebigen Wert haben. Wenn Projekte wachsen, können Risiken und unvorhergesehene Probleme und Beeinträchtigungen auftreten, was viele Schätzungen ungültig macht.
  • Geschwindigkeit:Die Teamgeschwindigkeit kann zwar eine nützliche Metrik sein, um einen Einblick in die Arbeit zu erhalten, die jedes Team während eines Sprintzyklus abschließen kann, aber Sie können keine Teamgeschwindigkeiten hinzufügen, um aussagekräftige oder nützliche Metriken zu erhalten. Außerdem ist es problematisch, die von vielen Teams gewonnene Geschwindigkeit zu nutzen, um langfristige Vorhersagen zuverlässig zu vervollständigen. Teams, wie sie ihre Arbeit schätzen, und diese Variationen steigen im Laufe der Zeit.
  • Präskriptive Top-Down-Lösungen:Eine Größe passt nicht alle, und eine Lösung passt in der Regel nicht für alle Teams. Unterstützung der Teamautonomie bedeutet, dass Teams ihre eigenen Lösungen finden können.