Worin liegt der Unterschied? Agile vs. Scrum vs. Waterfall vs. Kanban

ByKate Eby| 15. Februar 2017

Im Laufe eines Projekts treffen Sie Hunderte von Entscheidungen. Eine der ersten Entscheidungen, die Sie treffen, ist die Auswahl der Projektmanagementmethode, die Sie anwenden wollen.

Von Agile über Scrum über Waterfall bis hin zu Kanban gibt es eine Vielzahl verschiedener Projektmanagement-Frameworks. Einige, wie Scrum, folgen einer starreren, strukturierteren Methode. Andere, wie Kanban, lassen sich bei bestehenden Prozessen leichter einführen und implementieren. Sie alle haben Vor- und Nachteile. Wie entscheiden Sie also, welche sie auswählen sollen?

Dieser Artikel behandelt die Unterschiede zwischen Agile, Scrum, Waterfall und Kanban. Wir sprechen über die Vorteile, Nachteile, Phasen und wann Sie die jeweilige Methode verwenden sollten.

Agile-Methode

Was ist Agile?

Agile Softwareentwicklung basiert auf einem inkrementellen, iterativen Ansatz. Anstatt zu Beginn des Projekts alles detailliert zu planen, ist die Agile-Methode offen für sich im Laufe der Zeit ändernde Anforderungen und fördert ständige Rückmeldungen der Endnutzer. Funktionsübergreifende Teams arbeiten über einen bestimmten Zeitraum an Iterationen eines Produkts. Diese Arbeiten sind in einem Backlog organisiert, das auf Basis des Geschäfts- oder Kundenwerts priorisiert wird. Das Ziel jeder Iteration ist es, ein funktionierendes Produkt zu liefern.

Bei der Agile-Methode fördert die Führung Teamarbeit, Rechenschaftspflicht und persönliche Kommunikation. Die wirtschaftlichen Akteure und Entwickler müssen zusammenarbeiten, um das Produkt mit den Kundenbedürfnissen und Unternehmenszielen in Einklang zu bringen.

Agile bezieht sich auf jeden Prozess, der den Konzepten des Agile-Manifests folgt. Im Februar 2001 trafen sich 17 Softwareentwickler in Utah, um über schlanke Entwicklungsmethoden zu diskutieren. Sie veröffentlichten dasManifest der Agile-Softwareentwicklung, in dem es darum geht, dass sie „bessere Möglichkeiten gefunden haben, Software zu entwickeln, indem sie es tun und anderen helfen“, und das vier Werte und 12 Prinzipien enthält. Das Agile-Manifest ist ein dramatischer Kontrast zu dem traditionellen TextA Guide to the Project Management Body of Knowledge (PMBOK®Guide)und Standards.

Project Management Guide

Your one-stop shop for everything project management


Ready to get more out of your project management efforts? Visit our comprehensive project management guide for tips, best practices, and free resources to manage your work more effectively.

View the guide

12 Prinzipien der Agile-Methode

Das Agile-Manifest führt12 Prinzipienauf, die Teams bei der Umsetzung mit Agilität unterstützen. Dies sind die Prinzipien:

  1. Unsere oberste Priorität ist es, den Kunden durch frühzeitige und kontinuierliche Lieferung wertvoller Software zufriedenzustellen.
  2. Nehmen Sie veränderte Anforderungen an, auch spät in der Entwicklung. Agile-Prozesse nutzen Veränderungen für den Wettbewerbsvorteil des Kunden.
  3. Liefern sie Arbeitssoftware häufig, in Abständen von wenigen Wochen bis zu einigen Monaten, wobei der kürzere Zeitrahmen bevorzugt wird.
  4. Geschäftsleute und Entwickler müssen während des gesamten Projekts täglich zusammenarbeiten.
  5. Erstellen Sie Projekte rund um motivierte Personen. Geben Sie ihnen die Arbeitsumgebung und Unterstützung, die sie brauchen, und vertrauen Sie darauf, dass sie die Arbeit erledigen.
  6. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu vermitteln, ist das persönliche Gespräch.
  7. Arbeitssoftware ist das primäre Maß für Fortschritte.
  8. Agile-Prozesse fördern nachhaltige Entwicklung. Die Projektträger, -entwickler und Benutzer sollten in der Lage sein, ein beständiges Tempo auf unbestimmte Zeit zu halten.
  9. Kontinuierliche Konzentration auf technische Exzellenz und gutes Design erhöht die Agilität.
  10. Einfachheit – die Kunst, nicht zu erledigende Arbeit zu maximieren – ist unerlässlich.
  11. Die besten Architekturen, Anforderungen und Designs entstehen aus selbstorganisierenden Teams.
  12. Das Team denkt in regelmäßigen Abständen darüber nach, wie es effektiver wird, stimmt dann ab und passt das Vorgehen entsprechend an.

Vorteile von Agile

Agile hat sich in den 1990er-Jahren aus verschiedenen schlanken Softwareansätzen entwickelt und ist eine Antwort auf die Abneigung einiger Projektmanager gegen die starre, lineare Waterfall-Methode. Es konzentriert sich auf Flexibilität, kontinuierliche Verbesserung und Geschwindigkeit.

Hier sind einige der größten Vorteile von Agile:

  • Veränderung wird angenommen: Mit kürzeren Planungszyklen ist es einfach, Änderungen während des Projekts jederzeit aufzunehmen und zu akzeptieren. Es gibt immer die Möglichkeit, den Backlog zu verfeinern und zu neu zu priorisieren. So können Teams innerhalb von Wochen Änderungen an Projekten vornehmen.
  • Das Endziel kann unbekannt sein: Agile ist sehr vorteilhaft für Projekte, bei denen das Endziel nicht klar definiert ist. Im Laufe des Projekts werden sich die Ziele herausschälen und die Entwicklung kann leicht an die sich entwickelnden Anforderungen angepasst werden.
  • Schnellere, qualitativ hochwertige Lieferung: Wenn das Projekt in Iterationen (überschaubare Einheiten) unterteilt wird, kann sich das Team auf hochwertige Entwicklung, Tests und Zusammenarbeit konzentrieren. Die Durchführung von Tests während jeder Iteration bedeutet, dass Fehler schneller erkannt und behoben werden können. Diese hochwertige Software kann schneller mit konsistenten, aufeinander folgenden Iterationen geliefert werden.
  • Starke Teaminteraktion: Agile unterstreicht die Bedeutung häufiger Kommunikation von Angesicht zu Angesicht. Teams arbeiten zusammen und die Mitarbeiter können Verantwortung übernehmen und Teile der Projekte selbst übernehmen.
  • Kunden werden gehört:Kunden haben viele Möglichkeiten, die geleisteten Arbeiten zu sehen, ihre Ideen einzubringen und wirklichen Einfluss auf das Endprodukt zu haben. Sie können ein Gefühl der Eigenverantwortung bekommen, indem sie eng mit dem Projektteam zusammenarbeiten.
  • Kontinuierliche Verbesserung: Agile-Projekte fördern Rückmeldungen von Benutzern und Team-Mitgliedern während des gesamten Projekts. So werden gewonnene Erkenntnisse benutzt, um zukünftige Iterationen zu verbessern.

Tipps und bewährte Praktiken für Ihr nächstes Projekt mit der Agile-Methode.

Erfahren Sie alles über agiles Projektmanagement und holen Sie sich Tipps, die Ihnen helfen, bewährte Praktiken für das Agile-Projektmanagement zu implementieren.

Holen Sie sich das kostenlose E-Book, um bewährte Agile-Praktiken zu implementieren

Nachteile von Agile

Die Flexibilität in Agile ist zwar in der Regel positiv, geht aber auch mit einigen Kompromissen einher. Es kann schwierig sein, ein solides Lieferdatum festzulegen. Dokumentationen können vernachlässigt werden oder das Endprodukt kann vollkommen anders sein als ursprünglich vorgesehen.

Hier sind einige der Nachteile von Agile:

  • Planung kann weniger konkret sein: Es kann manchmal schwierig sein, ein belastbares Lieferdatum festzulegen. Da Agile auf zeitliche Lieferungen basiert und Projektmanager oft Aufgaben neu priorisieren, ist es möglich, dass einige Elemente, die ursprünglich für die Lieferung geplant waren, möglicherweise nicht rechtzeitig abgeschlossen werden. Außerdem können jederzeit weitere Sprints zum Projekt hinzugefügt werden, was die Gesamtzeitleiste ausweitet.
  • Das Team muss sachkundig sein:Agile-Teams sind in der Regel klein. Daher müssen Team-Mitglieder in den verschiedensten Bereichen hochqualifiziert sein. Sie müssen die gewählte Agile-Methode verstehen und sich mir ihr wohlfühlen.
  • Zeitaufwand von Entwicklern:Agile ist am erfolgreichsten, wenn sich das Entwicklungsteam vollständig dem Projekt widmet. Aktives Engagement und Zusammenarbeit sind während des gesamten Agile-Prozesses erforderlich. Das ist zeitaufwändiger als ein herkömmlicher Ansatz. Das bedeutet auch, dass sich die Entwickler auf die gesamte Dauer des Projekts festlegen müssen.
  • Dokumentationen können vernachlässigt werden:Das Agile-Manifest bevorzugt Arbeitssoftware gegenüber umfassender Dokumentation. So können einige Team-Mitglieder das Gefühl bekommen, dass es weniger wichtig ist, sich auf die Dokumentation zu konzentrieren. Eine umfassende Dokumentation allein führt zwar nicht zum Projekterfolg, aber Agile-Teams sollten das richtige Gleichgewicht zwischen Dokumentation und Diskussion finden.
  • Das Endprodukt kann sehr unterschiedlich sein:Das anfangliche Agile-Projekt想moglicherweisekeinen endgültigen Plan. Daher kann das Endprodukt ganz anders aussehen als das, was ursprünglich geplant war. Da Agile so flexibel ist, können neue Iterationen hinzugefügt werden, die auf den sich entwickelnden Kundenrückmeldungen basieren. Das kann zu einen völlig anderen Endergebnis führen.

Der Agile-Entwicklungszyklus


Hier sind die Phasen im Agile-Entwicklungszyklus. Es gilt zu beachten, dass diese Phasen nicht nacheinander erfolgen sollten; sie sind flexibel und entwickeln sich ständig weiter. Viele dieser Phasen verlaufen parallel.

  • Planung:Sobald eine Idee als durchführbar und machbar befunden wird, kommt das Projektteam zusammen und arbeitet daran, Funktionen zu identifizieren. Das Ziel dieser Phase ist es, die Idee in kleinere Teile (die Funktionen) aufzuteilen und dann jede Funktion zu priorisieren und sie einer Iteration zuzuweisen.
  • Anforderungsanalyse:Diese Phase umfasst viele Besprechungen mit Managern, Beteiligten und Benutzern, um die Geschäftsanforderungen zu identifizieren. Das Team muss Informationen sammeln, wie zum Beispiel, wer das Produkt verwendet und wie es benutzt wird. Diese Anforderungen müssen quantifizierbar, relevant und detailliert sein.
  • Gestaltung:Das System- und Softwaredesign wird auf Grundlage der in der vorherigen Phase identifizierten Anforderungen erstellt. Das Team muss darüber nachdenken, wie das Produkt oder die Lösung aussehen wird. Das Testteam stellt auch eine Teststrategie oder einen Plan auf, um fortzufahren.
  • Implementierung, Codierung oder Entwicklung:In dieser Phase geht es darum, Funktionen zu erstellen, zu testen und Iterationen für die Bereitstellung zu planen (nach dem iterativen und inkrementellen Entwicklungsansatz [IID]). Die Entwicklungsphase beginnt mit Iteration 0, da keine Funktionen bereitgestellt werden. Diese Iteration legt die Grundlage für die Entwicklung mit Aufgaben wie Abschluss von Verträgen, Vorbereitung der Umgebung und Finanzierung.
  • Testen:Sobald der Code entwickelt wurde, wird er anhand der Anforderungen getestet, um sicherzustellen, dass das Produkt tatsächlich die Kundenbedürfnisse löst und mit den User-Storys zusammenpasst. In dieser Phase werden Komponenten-, Integrations-, System- und Abnahmetests durchgeführt.
  • Einsatz:Nach dem Testen wird das Produkt an Kunden geliefert, damit es eingesetzt werden kann. Die Bereitstellung ist jedoch nicht mit dem Ende des Projekts gleichzusetzen. Sobald Kunden mit der Verwendung des Produkts beginnen, stoßen sie möglicherweise auf neue Probleme, die das Projektteam angehen muss.

Methoden, die zur Implementierung von Agile verwendet werden

Agile ist ein Framework und es gibt eine Reihe unterschiedlicher Methoden innerhalb der Agile-Bewegung. Sie können sie sich als verschiedene Geschmacksrichtungen von Agile vorstellen:

  • Extreme Programming (XP):Extreme Programming, auch XP genannt, ist eine Art von Softwareentwicklung, bei der beabsichtigt ist, dass sich die Qualität und Reaktionsfähigkeit auf sich entwickelnde Kundenanforderungen anpasst. Die Prinzipien von XP umfassen Rückmeldungen, Annahme von Vereinfachung und Veränderungen.
  • Funktionsgesteuerte Entwicklung (FDD):Dieser iterative und inkrementelle Softwareentwicklungsprozess vereint bewährte Praktiken der Branche in einem Ansatz. Beim FDD gibt es fünf grundlegende Aktivitäten: Entwicklung des Gesamtmodells, erstellen der Funktionsliste, planen nach Funktionen, entwerfen nach Funktionen und erstellen nach Funktionen.
  • 自适应Systementwicklung (ASD):Adaptive Systementwicklung stellt die Idee in den Mittelpunkt, dass Projekte stets in einem Zustand kontinuierlicher Anpassung sein sollten. ASD hat einen Zyklus von drei sich wiederholenden Reihen: spekulieren, zusammenarbeiten und lernen.
  • Dynamische Systementwicklungsmethode (DSDM):Dieses Agile-Projekt-Framework wird für die Entwicklung von Software und Nicht-IT-Lösungen verwendet. Es befasst sich mit häufigen Fehlern von IT-Projekten, wie Budgetüberschreitungen, nicht eingehaltene Fristen und mangelnde Beteiligung der Benutzer. Die acht Prinzipien von DSDM sind: Konzentration auf den Geschäftsbedarf, termingerechte Lieferung, Zusammenarbeit, keine Kompromisse bei der Qualität, schrittweiser Aufbau auf einer soliden Grundlage, iterative Entwicklung, kontinuierliche und klare Kommunikation und Kontrolle.
  • Lean Software Development (LSD):Das Lean Software Development verwendet Prinzipien der schlanken Produktion und IT und wendet sie auf die Softwareentwicklung an. Es kann durch sieben Prinzipien charakterisiert werden: Verschwendung vermeiden, verstärkt lernen, so spät wie möglich entscheiden, so schnell wie möglich liefern, das Team stärken, Integrität aufbauen und das Ganze im Blick haben.
  • Kanban:Kanban stammt aus dem Japanischen und bedeutet „visuelles Zeichen“ oder „Karte“. Es handelt sich um ein visuelles Framework zur Implementierung von Agile. Es fördert kleine, kontinuierliche Änderungen an Ihrem aktuellen System. Die Prinzipien umfassen: Visualisieren des Arbeitsablaufs, Konzentration auf laufende Arbeiten, Fluss verwalten und verbessen, Richtlinien explizit gestalten und kontinuierliche Verbesserung.
  • Crystal Clear:Crystal Clear ist Teil der Crystal-Methodenfamilie. Es kann von Teams von sechs bis acht Entwicklern verwendet werden und konzentriert sich auf die Personen, nicht auf Prozesse oder Werkzeuge. Crystal Clear erfordert Folgendes: häufige Bereitstellung von nutzbarem Code an Benutzer, reflektierte Verbesserung und osmotische Kommunikation bevorzugt an einem gemeinsamen Standort.
  • Scrum:Scrum这der beliebtesten Methoden苏珥及其mentierung von Agile. Es ist ein iteratives Softwaremodell, das einer Reihe von Rollen, Verantwortlichkeiten und Meetings folgt, die sich nie ändern. Sprints, die normalerweise ein bis zwei Wochen dauern, ermöglichen es dem Team, regelmäßig Software zu liefern.

Andere Praktiken in Agile

Es gibt viele weitere Praktiken und Frameworks, die mit Agile zusammenhängen. Dazu gehören:

  • Agile Modeling (AM):Agile Modeling wird verwendet, um Softwaresysteme zu modellieren und zu dokumentieren. Es ist eine Ergänzung zu anderen agilen Methoden wie Scrum, Extreme Programming (XP) und Rational Unified Process (RUP). AM ist kein alleinstehender und vollständiger Softwareprozess. AM kann helfen, Modelle mit Code zu verbessern, aber es enthält keine Programmieraktivitäten.
  • Rational Unified Process (RUP):RUP, von der Rational软件公司,einer Abteilung von IBM, entwickelt und ist ein iteratives, adaptives Framework für die Softwareentwicklung. Laut Rational funktioniert RUP wie ein Online-Mentor, der Richtlinien, Vorlagen und Beispiele für die Programmentwicklung liefert. Zu den zentralen Aspekten von RUP gehören ein risikoorientierter Prozess, anwendungsorientierte Entwicklung und architekturorientiertes Design.
  • Lean vs. Agile:Lean Development konzentriert sich auf die Eliminierung und Reduzierung von Verschwendung (Aktivitäten, die keinen Mehrwert bringen). Das Lean Software Development verwendet Prinzipien der schlanken Produktion und wendet sie auf die Softwareentwicklung an. Diese Prinzipien ähneln denen von Agile sehr, aber Lean geht noch einen Schritt weiter. In der Entwicklungsphase wählen, planen, entwickeln, testen und bringen Sie nur eine Funktion in den Einsatz, bevor der Prozess für die nächste Funktion wiederholt wird.
  • Test-Driven-Development (TDD):Testgetriebene Entwicklung beruht auf sich wiederholenden, kurzen Entwicklungszyklen. Zunächst schreibt ein Entwickler einen (zunächst fehlerhaften) automatisierten Testfall für eine neue Funktion und fügt schnell einen Test mit der minimalen Menge an Code hinzu, um den Test bestehen zu können. Dann überarbeitet er den neuen Code, bis er akzeptablen Standards entspricht.
  • Scaled Agile Framework(SAFe-Markenlogo):Das Scaled Agile Framework ist eine äußerst strukturierte Methode, um großen Unternehmen bei der Einführung von Agile zu helfen. SAFe basiert auf Lean- und Agile-Prinzipien und befasst sich mit schwierigen Problemen in großen Organisationen, wie Architektur, Integration, Finanzierung und Rollen in großem Maßstab. SAFe hat drei Ebenen: Team, Programm und Portfolio.
  • Rapid Application Development (RAD):Der RAD-Ansatz bei der Softwareentwicklung legt mehr Wert auf Entwicklung als auf Planungsaufgaben. Es folgt einem inkrementellen Modell, bei dem jede Komponente parallel entwickelt wird. Die RAD-Phasen sind: Geschäftsmodellierung, Datenmodellierung, Prozessmodellierung, Anwendungsgenerierung sowie Tests und Einsatz.
  • Empirische Kontrollmethode:Bei der Agile-Softwareentwicklung können Sie eine empirische Kontrollmethode verwenden. Das bedeutet, dass Sie Entscheidungen basierend auf den Realitäten treffen, die Sie im tatsächlichen Projekt beobachten. Das empirische Modell der Prozesssteuerung besteht aus drei Teilen: Transparenz, Inspektion und Anpassung.

Wie man Budgets in Agile schätzt

Ohne eingehende, vorausgehende Planung sind sich viele Projektmanager nicht sicher, wie sie die Kosten und das Budget eines Agile-Projekts berechnen sollen.

Die Kostenschätzung vor Projektbeginn kann immer eine Herausforderung sein, ganz gleich, welche Projektmethodik Sie verwenden. In einem Agile-Projekt können Sie jedoch die Zeit, die das Projekt in Anspruch nehmen wird, mit seinen Gesamtkosten koppeln.

Erstellen Sie zunächst eine Ausbrennkurve und verwenden Sie die Ausbrennrate, um abzuschätzen, wie viele Sprints in Ihrem Projekt sein werden und wann das Projekt endet. Berechnen Sie dann, wie viel das Team auf Basis der Stundensätze kostet. Multiplizieren Sie den Stundensatz jeder Person mit der Anzahl der Arbeitsstunden pro Woche und dann mit der Anzahl der Wochen in einem Sprint. Sobald Sie das anfängliche Budget für Ihr Team geschätzt haben, können Sie alle anderen Kosten wie Technologie, Reisen oder Ausrüstung hinzufügen.

Sie können auch jede User-Story in Aufgaben aufgliedern. Sobald Sie eine Vorstellung davon haben, wie viele Stunden es dauern wird, um jede Aufgabe zu erledigen, können Sie das Projektbudget abschätzen.

Zu guter Letzt können Sie auch Planning Poker benutzen, um den Aufwand abschätzen, der für die Entwicklungsziele erforderlich ist. Planning Poker ist eine konsensbasierte, spielerische Methode, um den Aufwand für die Entwicklungsziele zu schätzen. Jedes Team-Mitglied gibt Schätzungen an, indem es nummerierte Karten verdeckt auf dem Tisch spielt, anstatt es laut zu sagen. Die Karten werden dann enthüllt und die Schätzungen mit dem gesamten Team besprochen.

Agile und Paar-Programmierung

Paar-Programmierung (auch bekannt als „Pairing“) ist Teil der Extreme Programming-Praktiken (XP). Damit ist gemeint, dass sich zwei Programmierer eine Arbeitsstation teilen, einschließlich des Bildschirms, der Tastatur und der Maus. Der Zweck dieser Technik besteht darin, eine bessere Kommunikation zu fördern, das Problem zu klären und die Lösung zu verstehen. Paar-Programmierung wird häufig in Agile-Projekten verwendet, um schnell qualitativ hochwertige Produkte zu liefern. Ist es aber immer erforderlich?

Die Antwort hängt von Ihren Programmierern, Ihrem Unternehmen und Ihren Zielen ab. Bei einigen Projekten und Programmierern kann die Paar-Programmierung die Produktivität steigern. Sie ist jedoch möglicherweise nicht immer und für jedes Projekt geeignet. Am besten experimentieren Sie und sehen, ob sie für Sie funktioniert.

Wie Agile auf Software-Anforderungen reagiert

Agile hilft Entwicklungsteams, sich so schnell wie möglich auf die wichtigsten Anforderungen der Kunden zu konzentrieren. Mit kontinuierlichem Rückmeldungen und häufigen persönlichen Gesprächen verstehen und priorisieren Projektteams und Beteiligte die richtigen Anforderungen.

Agile-Teams verwenden Backlogs mit User-Storys, um Anforderungen zu verwalten. Bevor eine Iteration beginnt, einigt sich das Team, welche Anforderungen bei der nächsten Lieferung erfüllt werden sollen. Dieser kollaborative Ansatz stellt sicher, dass die wichtigsten Funktionen priorisiert werden. Außerdem werden die Anforderungen während des gesamten Projekts ständig aktualisiert, wenn neue Informationen verfügbar werden.

Können Sie Agile für Projekte außerhalb der Softwarebranche einsetzen?

Während die Agile-Methode traditionell für die Softwareentwicklung entwickelt wurde, kann es auch in vielen anderen Projekten und Branchen verwendet werden.

Es是wichtig,西奇一个政治祖erinnern dass敏捷-Softwareentwicklung auf den Prinzipien der schlanken Produktion und organisatorischem Lernen basiert. Diese Ideen bezogen sich zunächst nicht auf Software. Viele der Agile-Praktiken, wie zum Beispiel Stehsitzungen und visuelles Management, sind weit verbreitet und können in jeder Branche eingesetzt werden.

Es有不有Fallstudien冯团队,播洒至死le für Dinge außerhalb der Softwareentwicklung, aber doch einige wenige. Zum Beispiel hat Kate Sullivan, eine Unternehmensanwältin in der Rechtsabteilung von The Lonely Planet, die Erbringung von juristischen Dienstleistungen mit Agile umgestaltet. Das Team verwendet Whiteboards und Karten, morgendliche Stehsitzungen, Aufgabenpriorisierung, wöchentliche Iterationen und regelmäßige Rückblicke.

Agile kann auf jeden Fall auf Projekte außerhalb der Softwareentwicklung angewandt werden. Sie müssen nur die richtige Methode und Vorgehensweise für Ihre Bedürfnisse finden. Sie können mit Tafeln und Karten, einem Arbeiten-Backlog, Stehsitzungen oder Iterationen (wöchentliche Planungssitzungen) beginnen, um zu sehen, wie Ihr Team reagiert.

Der Einstieg in Agile

Ein einfacher Einstieg in Agile ist die Einbindung täglicher Stehsitzungen in Ihr Projekt. Tägliche Stehsitzungen lassen sich leicht in jede andere Projektmethodik integrieren, die Sie bereits verwenden (sogar in Waterfall) und benötigen keine Schulungen oder Wissenstransfer. Treffen Sie sich jeden Tag für etwa zehn Minuten an einem Ort und lassen Sie alle über das sprechen, woran sie am Tag zuvor gearbeitet haben, was sie heute bearbeiten werden, und über die Hindernisse, die es zu überwinden gilt.

Wenn Sie den vollständigen Wechsel zu Agile auf einmal durchführen möchten, sollten Sie damit beginnen, zu verstehen, warum das Team und die Organisation diese Änderung will. Was funktioniert und was funktioniert nicht? Was wollen sie verbessern? Dann können Sie eine Agile-Bewertung durchführen und einen vollständigen Überblick über die Beteiligten, ihre Fähigkeiten und die eingesetzte Technik erhalten.

Ganz gleich, für welchen Weg Sie sich entscheiden, sollten Sie stets daran denken, dass Agile von Natur aus flexibel ist. Es gibt keinen falschen oder richtigen Weg, um mit Agile zu beginnen. Tun Sie, was für Sie und Ihr Team funktioniert.

Die neueste Ansicht von Smartsheet, Card View, gibt Agile-Teams eine visuellere Möglichkeit, in Smartsheet zusammenzuarbeiten und miteinander zu kommunizieren. Mit Card View können Sie mit aussagekräftigen Karten die Aufmerksamkeit fokussieren, mit flexiblen Ansichten Perspektiven eröffnen und die Arbeit visuell priorisieren und anpassen. Zeigen Sie Informationen auf Karten an, einschließlich benutzerdefinierter Felder, Bilder und Farbcodierung, um die Aufmerksamkeit Ihres Teams besser zu steuern. Kategorisieren Sie die Karten in Bahnen, um Ihre Arbeit visueller zu organisieren.

Erfahren Sie mehr über Smartsheet für die Softwareentwicklung

Die Scrum-Methode

Vorteile von Scrum

Scrum ist ein sehr verbindliches Framework mit bestimmten Rollen und Zeremonien. Auch wenn es eine Menge zu lernen gibt, haben diese Regeln viele Vorteile. Zu den Vorteilen von Scrum gehören:

  • Mehr Transparenz und Übersicht bei Projekten:Dank der täglichen Stehsitzungen weiß das gesamte Team, wer was tut, und so werden viele Missverständnisse und viel Verwirrung beseitigt. Probleme werden im Voraus identifiziert, sodass das Team sie bereits lösen kann, bevor sie aus dem Ruder laufen.
  • Mehr Eigenverantwortung im Team:Es gibt keinen Projektmanager, der dem Scrum-Team sagt, was wann zu tun ist. Das Team entscheidet stattdessen gemeinsam, welche Aufgaben in jedem Sprint erledigt werden können. Alle arbeiten miteinander und helfen sich gegenseitig, verbessern die Zusammenarbeit und versetzen jedes Team-Mitglied in die Lage, unabhängig zu sein.
  • Änderungen werden einfacher angenommen:Mit kurzen Sprints und ständigen Rückmeldungen ist es einfacher, Änderungen zu bewältigen und zu berücksichtigen. Wenn das Team z. B. während eines Sprints eine neue User-Story entdeckt, kann es diese Funktion während des Backlog-Feinabstimmungsmeetings leicht zum nächsten Sprint hinzufügen.
  • Größere Kosteneinsparungen:Ständige Kommunikation stellt sicher, dass das Team alle Probleme und Änderungen sofort erkennt. Das führt zu geringeren Ausgaben und trägt zur Steigerung der Qualität bei. Durch das Kodieren und Testen von Funktionen in kleineren Teilen gibt es kontinuierliche Rückmeldungen und Fehler können frühzeitig korrigiert werden, bevor sie zu teuer werden, um sie zu beheben.

Nachteile von Scrum

Scrum bietet zwar einige deutliche Vorteile, hat aber auch einige Nachteile. Scrum erfordert ein hohes Maß an Erfahrung und Engagement von Teams und es besteht die Gefahr, dass sich der Projektumfang schleichend ausweitet.

Hier sind die Nachteile von Scrum:

  • Schleichende Ausweitung des Umfangs: Bei einigen Scrum-Projekten kann es aufgrund des Fehlens eines feststehenden Abschlussdatums zu einer schleichenden Ausweitung des Projektumfangs kommen. Wenn kein Abschlussdatum feststeht, können die Beteiligten versucht sein, zusätzliche Funktionen anzufordern.
  • Das Team muss erfahren und engagiert sein:Wenn Rollen und Verantwortlichkeiten definiert sind, muss das Team die Scrum-Prinzipien gut kennen, um erfolgreich zu sein. Da es im Scrum-Team keine definierten Rollen gibt (jeder macht alles), werden Team-Mitglieder mit technischer Erfahrung benötigt. Sie müssen sich auch auf die täglichen Scrum-Meetings verpflichten und für die gesamte Projektdauer im Team bleiben.
  • Der falsche Scrum-Master kann alles ruinieren:Ein Scrum-Master unterscheidet sich sehr von einem Projektmanager. Der Scrum-Master hat keine Autorität über das Team; er oder sie muss dem Team vertrauen, das er oder sie verwaltet, und den Team-Mitgliedern niemals sagen, was sie tun sollen. Sollte der Scrum-Master versuchen, das Team zu kontrollieren, wird das Projekt fehlschlagen.
  • Schlecht definierte Aufgaben können zu Ungenauigkeiten führen:Projektkosten und Zeitabläufe sind nicht genau, wenn die zu erledigenden Aufgaben nicht gut definiert sind. Wenn die ersten Ziele unklar sind, wird die Planung schwierig und Sprints können mehr Zeit in Anspruch nehmen als ursprünglich angenommen.

Rollen in Scrum

Roles in scrum

In Scrum gibt es drei spezifische Rollen. Diese sind:

  • Produktverantwortlicher:Der Scrum-Produktverantwortliche帽子死愿景,was er aufbauen möchte und vermittelt diese Vision dem Team. Der Produktverantwortliche konzentriert sich auf Geschäfts- und Marktanforderungen und priorisiert alle zu erledigenden Arbeiten. Er erstellt und verwaltet das Backlog, gibt Anleitungen, welche Funktionen als Nächstes geliefert werden sollen, und interagiert mit dem Team und anderen Beteiligten, um sicherzustellen, dass alle Beteiligten die Elemente im Produkt-Backlog verstehen. Der Produktverantwortliche ist kein Projektmanager. Anstatt den Status und den Fortschritt zu verwalten, ist es seine Aufgabe, das Team mit einem Ziel und einer Vision zu motivieren.
  • Scrum-Master:Der Scrum-Master, der oft als Trainer des Teams angesehen wird, hilft dem Team, bestmögliche Arbeit zu leisten. Dies bedeutet, Meetings zu organisieren, Hindernisse und Herausforderungen zu lösen und mit dem Produktverantwortlichen zusammenzuarbeiten, um sicherzustellen, dass der Produkt-Backlog für den nächsten Sprint bereit ist. Der Scrum-Master stellt außerdem sicher, dass das Team den Scrum-Prozess befolgt. Er oder sie hat keine Autorität über die Team-Mitglieder, aber hat das Sagen, was den Prozess angeht. Der Scrum-Master kann zum Beispiel niemandem sagen, was zu tun ist, aber er könnte eine neue Sprint-Kadenz vorschlagen.
  • Das Scrum-Team: Ein Scrum-Team besteht aus fünf bis sieben Mitgliedern. Alle Mitarbeiter des Projekts arbeiten zusammen, helfen sich gegenseitig und sind durch ein stärkeres Gefühl der Kameradschaft verbunden. Im Gegensatz zu herkömmlichen Entwicklungsteams gibt es keine verschiedenen Rollen wie Programmierer, Designer oder Tester. Alle erledigen die Arbeit gemeinsam. Das Scrum-Team ist für den Plan jedes Sprints verantwortlich. Die Team-Mitglieder schätzen ab, wie viel Arbeit sie in jeder Iteration erledigen können.

Schritte im Scrum-Prozess

Scrum cycle


Es gibt eine bestimmte, unveränderte Reihe von Schritten im Scrum-Ablauf. Dazu gehören:

  • Produkt-Backlog: Der Produktverantwortliche und das Scrum-Team treffen sich, um die Elemente im Produkt-Backlog zu priorisieren (die Arbeiten am Produkt-Backlog stammen aus User-Storys und -Anforderungen). Das Produkt-Backlog ist keine Liste der zu erledigenden Dinge, sondern eine Liste aller gewünschten Funktionen für ein Produkt. Das Entwicklungsteam zieht dann während jedes Sprints Arbeiten aus dem Produkt-Backlog, um sie abzuschließen.
  • Sprint-Planung:伏尔jedem stellt der Produktverantwortliche冲刺dem Team in einer Sprintplanungssitzung die wichtigsten Elemente im Backlog vor. Das Team wählt dann aus, welche Arbeiten während des Sprints abgeschlossen werden können, und verschiebt die Arbeiten vom Produkt-Backlog in den Sprint-Backlog (eine Liste mit Aufgaben, die im Sprint erledigt werden sollen).
  • Feinabstimmung / Pflege des Backlogs:Am Ende eines Sprints treffen sich das Team und der Produktverantwortliche, um sicherzustellen, dass das Backlog für den nächsten Sprint bereit ist. Das Team kann nicht relevante User-Storys entfernen, neue Storys erstellen, die Priorität von Storys überprüfen oder User-Storys in kleinere Aufgaben aufteilen. Bei diesem „Pflege“-Meeting soll sichergestellt werden, dass der Backlog nur relevante und detaillierte Elemente enthält, die den Projektzielen dienlich sind.
  • Tägliche Scrum-Meetings:Das tägliche Scrum ist eine 15-minütige Stehsitzung, bei der jedes Team-Mitglied über seine Ziele und Probleme spricht. Das tägliche Scrum erfolgt jeden Tag während des Sprints und hilft, das Team auf dem Laufenden zu halten.
  • Sprint-Review-Meeting:Am Ende jedes Sprints stellt das Team die geleisteten Arbeiten bei einem Sprint-Review-Meeting vor. Dieses Meeting sollte eine Live-Demonstration enthalten, und keinen Bericht oder eine PowerPoint-Präsentation.
  • Sprint-Retrospektive-Meeting:Auch am Ende jedes Sprints reflektiert das Team, wie gut Scrum für sie funktioniert und spricht über alle Änderungen, die im nächsten Sprint vorgenommen werden müssen. Das Team kann darüber sprechen, was während des Sprints gut gelaufen ist, was schief gelaufen ist und was sie anders machen könnten.

Werkzeuge, Hilfsmittel und Methoden in Scrum

Burndown chart


Scrum-Projekte umfassen neben Rollen und Zeremonien auch bestimmte Werkzeuge und Hilfsmittel. Zum Beispiel verwendet das Team ein Scrum-Board, um das Backlog oder eine Ausbrennkurve zu visualisieren, um herausragende Arbeiten darzustellen. Die häufigsten Werkzeuge und Methoden sind:

  • Scrum-Board:您可以在麻省理工学院国际卫生条例sprint backlog einem Scrum-Aufgabenboard visualisieren. Das Board kann verschiedene Formen haben; Dabei handelt es sich traditionell um Karteikarten, Haftnotizen oder ein Whiteboard. Das Scrum-Board ist in der Regel in drei Kategorien unterteilt: zu tun, in arbeit und erledigt. Das Scrum-Team muss das Board während des gesamten Sprints aktualisieren. Wenn beispielsweise jemand eine neue Aufgabe vorlegt, wird eine neue Karte geschrieben und in die entsprechende Spalte eingefügt.
  • User-Storys:Eine User-Story beschreibt eine Softwarefunktion aus Kundensicht. Sie führt die Benutzertypen an, was sie wollen und warum. Diese Kurzgeschichten folgen einer ähnlichen Struktur: als , möchte ich , damit ich Das Entwicklungsteam verwendet diese Storys, um Code zu erstellen, der den darin genannten Anforderungen entspricht.
  • Ausbrennkurve:Ausbrennkurve stellt alle noch zu erledigenden Arbeiten dar. Der Backlog befindet sich normalerweise auf der vertikalen Achse, wobei die Zeit entlang der horizontalen Achse dargestellt wird. Die verbleibenden Arbeiten können durch Erzählstränge, optimale Tage, Teamtage oder andere Metriken dargestellt werden. Eine Ausbrennkurve kann das Team warnen, wenn die Arbeit nicht nach Plan verläuft und hilft, die Auswirkungen von Entscheidungen aufzuzeigen.
  • Large-Scale Scrum (LeSS): Wenn Sie Scrum-Elemente auf Hunderte von Entwicklern skalieren wollen, hilft das Large-Scale-Scrum-Framework (LeSS), die Regeln und Richtlinien zu erweitern, ohne das Konzept von Scrum zu verlieren. Die Prinzipien stammen direkt aus Scrum, konzentrieren sich jedoch auf die Skalierung ohne zusätzlichen Aufwand (wie das Hinzufügen von mehr Rollen, Werkzeugen oder Prozessen).
  • Zeitbox:Eine Zeitbox ist ein festgelegter Zeitraum, in dem ein Team daran arbeitet, ein Ziel zu erreichen. Anstatt ein Team bis zum Erreichen des Ziels arbeiten zu lassen, stoppt der Timebox-Ansatz die Arbeit, wenn das Zeitlimit erreicht ist. Zeitlich begrenzte Iterationen werden häufig in Scrum und bei Extreme Programming verwendet.
  • Eiskasten:Alle User-Storys, die aufgezeichnet, aber nicht in die Entwicklungsspalte verschoben werden, werden im Eiskasten gespeichert.
    Der Begriff „Eiskasten“ wurde von Pivotal Tracker, einem Agile-Projektmanagementwerkzeug, geprägt.
  • Scrum vs. RUP:Sowohl Scrum als auch Rational Unified Process (RUP) folgen dem Agile-Framework RUP bedient sich jedoch einer formelleren Definition des Umfangs, wichtiger Meilensteine und bestimmter Termine (Scrum verwendet ein Backlog anstelle des Umfangs). Darüber hinaus umfasst RUP vier wichtige Phasen im Projektzyklus (Gründung, Ausarbeitung, Konstruktion und Übergang), während Scrum vorschreibt, dass der gesamte „traditionelle Lebenszyklus“ in eine Iteration passt.
  • Lean vs. Scrum:Scrum ist ein Softwareentwicklungs-Framework, während Lean bei der Optimierung dieses Prozesses hilft. Scrums Hauptaugenmerk liegt auf den Menschen, während Lean sich auf den Prozess konzentriert. Beide gelten als Agile-Techniken, aber Lean führt zwei wichtige Konzepte ein: Beseitigung von Verschwendung und Verbesserung des Flusses.

Der Einstieg in Agile

Mit Scrum zu arbeiten bedeutet oft, die Gewohnheiten des Teams zu ändern. Teammitglieder müssen mehr Verantwortung übernehmen, die Qualität des Codes erhöhen und die Liefergeschwindigkeit steigern. Dieses Maß an Engagement treibt den Wandel an: Da sich die Teams zu Sprintzielen verpflichten, sind sie stets motivierter, immer besser und schneller zu einem qualitativ hochwertigen Produkt zu kommen.

Über Rollen zu sprechen ist ein guter Ausgangspunkt, um mit Scrum zu beginnen. Jedes Projekt muss über einen Scrum-Master, einen Produktverantwortlichen und ein Scrum-Team verfügen. Sie können darüber sprechen, wer Scrum-Master und Produktverantwortlicher sein sollte, oder wenn diese Rollen bereits zugewiesen sind, sollten Sie die jeweiligen Rollen und Verantwortlichkeiten klarstellen.

Je nachdem, wie vertraut Ihr Team mit Scrum ist, sollten Sie auch Schulungen ins Auge fassen. Zertifizierte Scrum-Coaches und Trainer und bei der Scrum Alliance registrierte Schulungsanbieter können Ihrem Team helfen, Scrum zu lernen und zu verinnerlichen.

Die neueste Ansicht von Smartsheet, Card View, gibt Agile-Teams eine visuellere Möglichkeit, in Smartsheet zusammenzuarbeiten und miteinander zu kommunizieren. Mit Card View können Sie mit aussagekräftigen Karten die Aufmerksamkeit fokussieren, mit flexiblen Ansichten Perspektiven eröffnen und die Arbeit visuell priorisieren und anpassen. Zeigen Sie Informationen auf Karten an, einschließlich benutzerdefinierter Felder, Bilder und Farbcodierung, um die Aufmerksamkeit Ihres Teams besser zu steuern. Kategorisieren Sie die Karten in Bahnen, um Ihre Arbeit visueller zu organisieren.

Verwenden Sie die Card View von Smartsheet während Ihres nächsten Scrum-Meetings.

Erfahren Sie mehr über Smartsheet für die Softwareentwicklung

Die Waterfall-Methode

Woraus besteht die Waterfall-Methode?

Die Waterfall-Methode folgt einem sequenziellen, linearen Prozess und ist die beliebteste Version des Systementwicklung-Lebenszyklus (systems development life cycle – SDLC) für Software-Engineering und IT-Projekte. Sie wird manchmal unter Verwendung eines Gantt-Diagramms geplant, ein Balkendiagramm, das die Start- und Enddaten für jede Aufgabe anzeigt. Sobald eine der acht Phasen abgeschlossen ist, geht das Entwicklungsteam zum nächsten Schritt über. Das Team kann nicht zu einer vorherigen Phase zurückkehren, ohne den gesamten Prozess von Anfang an neu zu beginnen. Bevor das Team in die nächste Phase wechseln kann, müssen die Anforderungen möglicherweise vom Kunden geprüft und genehmigt werden.

Das Waterfall-Modell entstand in der Fertigungs- und Bauindustrie, zwei extrem strukturierten Bereichen, in denen Änderungen zu teuer oder unmöglich sein können. Die erste formale Beschreibung der Waterfall-Methode wird Winston W. Royce in einem Artikel aus dem Jahr 1970 zugeschrieben, in dem er ein fehlerbehaftetes Softwaremodell beschreibt.

Vorteile von Waterfall

Die Waterfall-Methode eignet sich am besten für einfache Projekte, die sich nicht ändern. Ihre lineare, starre Vorgehensweise ermöglicht einen einfachen Einsatz und eine detaillierte Dokumentation.

Zu den Vorteilen von Waterfall gehören:

  • Einfache Nutzung und Verwaltung:Da das Waterfall-Modell für jedes Projekt dem gleichen sequenziellen Muster folgt, ist es einfach anzuwenden und zu verstehen. Das Team benötigt vor der Arbeit an einem Waterfall-Projekt keine Vorkenntnisse oder Schulungen. Waterfall ist auch ein starres Modell: Jede Phase enthält spezifische Leistungen und Überprüfungen, sodass es einfach zu verwalten und zu kontrollieren ist.
  • Disziplin wird erzwungen: Jede Phase in Waterfall hat einen Start- und Endpunkt und Fortschritte können mit Beteiligten und Kunden einfach geteilt werden. Da sich die Methode vor dem Schreiben von Code auf die Anforderungen und das Design konzentriert, kann das Team das Risiko einer nicht eingehaltenen Frist reduzieren.
  • Erfordert einen gut dokumentierten Ansatz:Waterfall erfordert die Dokumentation jeder Phase, was zu einem besseren Verständnis der Logik hinter dem Code und Tests führt. Es gibt schriftliche Aufzeichnungen für zukünftige Projekte oder für den Fall, dass die Beteiligten mehr Einzelheiten über eine bestimmte Phase sehen müssen.

Nachteile von Waterfall

Der größte Nachteil von Waterfall ist, wie das Modell mit Veränderungen umgeht. Da Waterfall ein lineares und sequenzielles Modell ist, können Sie nicht zwischen Phasen springen, auch wenn unerwartete Änderungen auftreten. Sobald Sie mit einer Phase fertig sind, ist es das.

Hier finden Sie weitere Informationen über die Nachteile der Waterfall-Methode:

  • Änderungen können nicht leicht berücksichtigt werden:Sobald das Team eine Phase abgeschlossen hat, kann es nicht mehr zu ihr zurückkehren. Wenn sie die Testphase erreichen und erkennen, dass eine Funktion in der Anforderungsphase fehlte, ist es sehr schwierig und teuer, dies zu beheben.
  • Software wird erst spät geliefert: Das Projekt吵架请来两bis竞争者Phasen absolvieren, bevor tatsächlich mit der Erstellung von Code begonnen wird. Daher werden die Beteiligten erst spät im Lebenszyklus Arbeitssoftware zu sehen bekommen.
  • Genaue Anforderungen zusammenzutragen kann eine Herausforderung sein:Eine der ersten Phasen eines Waterfall-Projekts besteht darin, mit Kunden und Beteiligten zu sprechen und deren Anforderungen zu identifizieren. Es kann jedoch schwierig sein, zu Beginn des Projekts genau zu bestimmen, was sie wollen. In frühen Stadien wissen Kunden häufig noch nicht, was genau sie wollen. Vielmehr entdecken und identifizieren sie Anforderungen im Laufe des Projekts.

Die Waterfall-Phasen

Waterfall


Bei der Waterfall-Methode gibt es acht Phasen, die alle der Reihenfolge nach erfolgen. Zum Beispiel kann das Entwicklungsteam nicht in die Analysephase zurückkehren, wenn es sich bereits in der Testphase befindet.

  1. Entwurf: Diese Phase beginnt mit einer Idee. Die Entwurfsphase umfasst eine grobe Bewertung des Projekts, warum es vorteilhaft ist, und liefert erste Kostenschätzungen.
  2. Initiierung: Sobald die Idee entstanden ist, müssen Sie das Projektteam einstellen und Ziele, Umfang, Zweck und Leistungen festlegen.
  3. Anforderungserfassung und -analyse:Anforderungen werden gesammelt und analysiert, um zu bestimmen, ob das Projekt tatsächlich machbar ist. Alle diese Informationen sind in einem Anforderungsspezifikationsdokument dokumentiert.
  4. Gestaltung:Die in dieser Phase erstellten Designspezifikationen werden in der Codierungsphase verwendet, um den Code tatsächlich zu erstellen. Die Anforderungen werden untersucht und bewertet und die Gestaltung des Systems wird vorbereitet. Hier versucht das Team zu verstehen, welche Maßnahmen ergriffen werden müssen und wie sie aussehen sollen.
  5. Implementierung/Codierung:Die eigentliche Codierung der Software beginnt. Alle in der Entwurfsphase erstellten Flussdiagramme oder Algorithmen werden in eine Programmiersprache übersetzt.
  6. Testen:Sobald der Code abgeschlossen ist, muss die Software auf Fehler getestet werden. Wenn die Tests abgeschlossen sind, wird die Software an den Kunden geliefert. Einige Teams können sich entscheiden, eine Benutzerakzeptanzprüfung (UAT) hinzuzufügen, bei der Benutzer die Software testen, bevor sie für die breite Öffentlichkeit bereitgestellt wird.
  7. Wartung:Sobald Kunden die Software in der realen Welt verwendet haben, können zusätzliche Probleme gefunden werden. Das Entwicklungsteam muss die Probleme lösen und die Software gegebenenfalls oder umcodieren, damit sie weiterhin effektiv bleibt.

Iterative Waterfall-Entwicklung

Im traditionellen Waterfall-Modell durchläuft das Team jede Phase für das gesamte Projekt. Zum Beispiel schließen sie die Analyse für das Gesamtprojekt ab, kümmern sich dann um den Entwurf des Gesamtprojekts, usw.

In einem iterativen Waterfall-Modell ist viel Vorausplanung erforderlich. Sobald der Plan vorhanden ist, folgt das Team dem Muster eines traditionellen Waterfall-Projekts, aber dies für jede User-Story. Sie erstellen die Analyse, dann das vollständige Design und anschließend erfolgen Codierungen und Tests für eine Story. Dann wird der Prozess für eine andere Story wiederholt. Die Arbeiten sind in Teilstücke unterteilt, von denen das Entwicklungsteam profitiert.

Wie Waterfall mit Softwareanforderungen umgeht

Waterfall-Projekte definieren alle Softwareanforderungen im Voraus. Das Projekt kann nur dann ausgeführt werden, wenn diese Anforderungen identifiziert und dokumentiert wurden.

Einige Waterfall-Projekte verfügen möglicherweise über ein spezielles Team, das diese Anforderungen erfasst, sammelt und recherchiert. Sie können Fragebögen, persönliche oder telefonische Gespräche, Whiteboards und Modellierungswerkzeuge verwenden, um die Anforderungen von Beteiligten und Kunden zu erfassen.

Sobald die ersten Anforderungen definiert sind, sollte das Team ein Anforderungsspezifikationsdokument erstellen (manchmal können das auch mehrere Dokumente sein). In diesem Dokument wird festgelegt, was geliefert werden muss, damit alle Beteiligten den Projektumfang verstehen.

Kanban

Was ist Kanban?

Kanban ist Japanisch und bedeutet „visuelles Zeichen“ oder „Karte.“ Dabei handelt es sich um ein visuelles Framework zur Implementierung von Agile. Es stellt dar, was zu produzieren ist, wann es produziert wird und wie viel produziert werden muss. Es fördert kleine, inkrementelle Änderungen an Ihrem aktuellen System und erfordert keine bestimmten Voraussetzungen oder Vorgehensweisen (d. h., Sie könnten Kanban auf bestehenden anderen Arbeitsabläufen aufsetzen).

Kanban wurde vom Toyota Produktionssystem und dem Prinzip der schlanken Produktion inspiriert. In den 1940er-Jahren verbesserte Toyota seine technischen Prozesse, indem das Unternehmen sie den Regalen in Supermärkten nachempfand. Ingenieur Taiichi Ohno bemerkte, dass Supermärkte gerade genügend Produkte vorrätig halten, um die Nachfrage zu decken. Das optimiert den Warenfluss zwischen Supermarkt und Kunden. Der Bestand wird nur wieder aufgefüllt, wenn es Leerflächen im Regal gibt (ein visueller Hinweis). Und da der Bestand mit dem Verbrauch übereinstimmt, verbessert der Supermarkt somit die Effizienz der Lagerverwaltung.

Toyota führte diese Prinzipien in ihre Werkshallen ein. Verschiedene Teams würden eine Karte (oder Kanban) erstellen, um zu kommunizieren, dass sie über zusätzliche Kapazitäten verfügen und bereit sind, mehr Materialien zu ziehen. Da alle Anforderungen für Teile aus der Reihenfolge gezogen wurden, wird Kanban manchmal als „Zug-System“ bezeichnet.

Die gleichen Ideen gelten heute für Softwareteams und IT-Projekte. In diesem Zusammenhang tritt das Prinzip laufenden Entwicklungsarbeit (development work-in-progress - WIP) an die Stelle des Inventars und neue Aufgaben können nur hinzugefügt werden, wenn auf dem visuellen Kanban-Board des Teams ein „leerer Platz“ vorhanden ist. Kanban passt die WIP-Menge an die Kapazität des Teams an, was die Flexibilität, Transparenz und Leistung verbessert.

ImKanban-Blog黑ßt es:“看板这Technik,嗯杯Softwareentwicklungsprozess hocheffizient zu verwalten. Kanban untermauert das Produktsystem ‚Just-in-time‘ (JIT) von Toyota. Software zu produzieren ist zwar eine kreative Tätigkeit und unterscheidet sich daher von massengefertigten Fahrzeugen, aber der zugrunde liegende Mechanismus für die Verwaltung der Fertigungsstraße kann dennoch angewendet werden.”

Beim Vergleich der Unterschiede von Kanban vs. Agile ist es wichtig, sich daran zu erinnern, dass Kanban eine Variation von Agile ist. Es handelt sich um eines von vielen Frameworks, die zur Agile-Implementierung bei der Softwareentwicklung verwendet werden.

Über das Kanban-Board

Kanban board

Ein Kanban-Board ist ein Werkzeug zur Implementierung der Kanban-Methode für Projekte. Traditionell ist dieses Werkzeug ein physisches Board mit Magneten, Kunststoffchips oder Haftnotizen auf einem Whiteboard, um Aufgaben darzustellen. In den letzten Jahren haben jedoch immer mehr Software-Anwendungen für das Projektmanagement Online-Kanban-Boards erstellt.

Ein Kanban-Board, ob physisch oder online, besteht aus verschiedenen Bahnen oder Spalten. Die einfachsten Boards haben drei Spalten: zu tun, in arbeit und erledigt. Die Spalten für ein Softwareentwicklungsprojekt können aus Spalten für die Rubriken Backlog, Fertig, Codierung, Test, Genehmigung und Erledigt bestehen.

Kanban-Karten (wie Haftnotizen) stellen die Aufgaben dar und jede Karte wird auf dem Board in Bahn platziert, die den Status dieser Arbeit darstellt. Mithilfe dieser Karten wird der Status auf einen Blick ersichtlich. Sie können auch verschiedenfarbige Karten verwenden, um unterschiedliche Details darzustellen. Grüne Karten könnten z. B. eine Funktion und orange Karten eine Aufgabe darstellen.

Vorteile von Kanban

Die visuelle Natur von Kanban bietet einen einzigartigen Vorteil bei der Implementierung von Agile. Der Umgang mit einem Kanban-Board ist leicht zu erlernen und zu verstehen. Kanban verbessert den Arbeitsfluss und minimiert die Zykluszeit.

Zu den Vorteilen von Kanban gehören:

  • Höhere Flexibilität: Kanban ist ein sich ständig weiterentwickelndes, fließendes Modell. Es gibt keine festgelegten Phasendauern und Prioritäten werden neu bewertet, sobald neue Informationen vorliegen.
  • Weniger Verschwendung: Kanban konzentriert sich auf die Reduzierung von Verschwendung und stellt sicher, dass Teams keine Zeit damit verbringen, nicht benötigte oder die falsche Arbeit zu erledigen.
  • Leicht zu verstehen:Die visuelle Natur von Kanban hilft, es unglaublich intuitiv und leicht zu erlernen zu machen. Das Team muss keine völlig neue Methode erlernen, und Kanban lässt sich als überlagerte Schicht auf andere Systeme aufsetzen.
  • Verbessert den Lieferfluss:Kanban-Teams optimieren den Arbeitsfluss für Kunden. Wie die kontinuierliche Lieferung (continous delivery - CD) konzentriert sich Kanban auf die Just-in-time-Werterbringung und die regelmäßige Bereitstellung von Arbeiten an Kunden.
  • Minimiert die Zykluszeit: Die Zykluszeit ist die Zeit, die für die Arbeit benötigt wird, um den Arbeitsablauf des Teams zu durchlaufen. In Kanban-Projekten hilft das gesamte Team, sicherzustellen, dass die Arbeit schnell und erfolgreich den Prozess durchläuft.

Nachteile von Kanban

Viele der Nachteile, die mit Kanban verbunden sind, sind mit Fehlgebrauch oder falscher Handhabung des Kanban-Boards verbunden. Ein nicht aktualisiertes oder überkompliziertes Board kann zu Verwirrung, Ungenauigkeiten oder Missverständnissen führen.

Hier finden Sie weitere Informationen über die Nachteile von Kanban:

  • Nicht aktualisiertes Board kann zu Problemen führen: Das Team muss sich verpflichten, das Kanban-Board auf dem aktuellen Stand zu halten, da es sonst mit ungenauen Informationen abarbeitet. Sobald Arbeiten durchgeführt werden, die auf veralteten Informationen beruhen, kann es schwierig sein, die Dinge wieder auf den richtigen Weg zu bringen.
  • Teams können das Board zu kompliziert gestalten:Das Kanban-Board sollte klar und leicht lesbar bleiben, aber einige Team-Mitglieder können möglicherweise „neue Tricks“ lernen, die sie für das Board anwenden wollen. Wenn Sie dem Kanban-Board diese Art von Schnickschnack hinzufügen, kann das dazu führen, dass die wirklich wichtigen Informationen untergehen.
  • Fehlendes Timing:Eine häufige Beschwerde über Kanban lautet, dass nicht bekannt ist, wann Dinge erledigt werden. Die Spalten auf dem Kanban-Board sind nur durch Phasen gekennzeichnet (zu tun, in arbeit, abgeschlossen). Es gibt keine Zeitfenster, die mit jeder Phase verknüpft sind, sodass Sie wirklich nicht wissen, wie lange die zu erledigende Phase dauern könnte.

Grundlegende Praktiken und Prinzipien von Kanban

Jedes Kanban-Projekt sollte diesen Grundprinzipien folgen:

  • Visualisieren des Arbeitsablaufs: Eine visuelle Darstellung der Arbeit ermöglicht es Ihnen, den Überblick zu behalten und zu sehen, wie der Arbeitsfortschritt vorankommt. Indem alle Arbeiten dargestellt sind, einschließlich Blocker und Warteschlangen, können Sie Probleme frühzeitig erkennen und die Zusammenarbeit verbessern.
  • Begrenzung der laufenden Arbeiten (WIP): Beschränkungen laufender Arbeiten (WIP-Grenzen) legt für jede Spalte auf dem Board oder für jeden Arbeitsablauf die Mindest- und Maximalarbeitsmenge fest. Wenn Sie die laufenden Arbeiten beschränken, können Sie die Geschwindigkeit und Flexibilität erhöhen und den Bedarf reduzieren, bestimmte Aufgaben priorisieren zu müssen.
  • Verwalten und verbessern Sie den Arbeitsfluss:Der Arbeitsfluss (die Bewegung der Arbeit) auf dem gesamten Kanban-Board sollte überwacht und verbessert werden. Idealerweise streben Sie einen schnellen und reibungslosen Ablauf an, der zeigt, dass das Team schnell Wert schafft. Das Team sollte Probleme im Arbeitsfluss analysieren und dann Änderungen implementieren.
  • Geben Sie explizite Prozessrichtlinien vor:Damit sich mit einem Kanban-System die Zusammenarbeit verbessert, müssen die Prozesse explizit gestaltet sein. Jeder muss verstehen, wie die Dinge funktionieren oder was „erledigt“ wirklich bedeutet. Sie können das Board ändern, um diese Prozesse klarer zu machen. Zum Beispiel können Sie es neu gestalten, um festzulegen, wie die Arbeiten ablaufen sollen.
  • Kontinuierliche Verbesserung:死Kanban-Methode fordert kleine kontinuierliche Änderungen, die erhalten bleiben. Sobald das Kanban-System eingerichtet ist, kann das Team Probleme identifizieren und verstehen und Verbesserungen vorschlagen. Teams messen ihre Effektivität, indem sie den Arbeitsfluss nachverfolgen, die Zykluszeit messen und die Arbeitsqualität steigern.

Häufige Fragen zu Kanban

F: Wie organisieren Sie Meetings und behalten den Fokus ohne Scrum-Master?

Jemand im Team muss die Initiative ergreifen, um das Meeting in den Kalender zu stellen und sicherzustellen, dass die Diskussion auf dem richtigen Weg bleibt. Auch ohne Scrum-Master ist es normalerweise kein allzu großes Problem.

Das看板hilft在内的des会议窝Fokus zu behalten. Während des Meetings können Sie das Board von links nach rechts durchgehen und nach User-Storys suchen, die sich seit dem letzten Treffen nicht verschoben wurden. Anstatt über erbrachte Leistungen zu sprechen, können Sie nur die Karten auf dem Board betrachten. Die eine Frage, die Sie während eines Meetings stellen müssen, ist die Frage nach den Hindernissen oder Herausforderungen, um ein Element abschließen zu können.

Sie können auch ein Kaizen-Meeting ausprobieren, bei dem Sie nur Personen einladen, die an der anstehenden Aufgabe beteiligt sind. Jede Person diskutiert Probleme und Herausforderungen und wie ihre Arbeit effizienter erledigt werden kann. Dann spricht die gesamte Gruppe über Lösungen für diese Probleme.

Kaizen kann auch einen Kaizen-Moderator enthalten, der das Team ermutigt, kritische Fragen offen zu diskutieren.


F: Wie kann Kanban den Wunsch des Managements nach vorhersehbarer Lieferung befriedigen?

In gewissem Maße handelt Kanban mit Berechenbarkeit der Effizienz. Es gibt keine zeitlichen Einschränkungen oder Planung. Sobald ein Team aber den Arbeitsfluss optimiert und ein Gefühl dafür bekommen hat, wie viel Zeit für bestimmte Aufgaben benötigt wird, kann ein gewisses Maß an Vorhersehbarkeit entstehen.

Wenn das Management trotzdem mehr Vorhersehbarkeit benötigt (was nicht dem Kanban-Ansatz entspricht), müssen Sie möglicherweise versuchen, mit diesen Erwartungen umzugehen. In einem traditionellen Modell haben Sie ein voraussichtliches Lieferdatum. In der Realität wird aber niemand ein Produkt bis zu diesem Datum liefern, wenn es nicht fertig ist. Das Management wird immer darauf warten, dass das Produkt abgeschlossen ist, unabhängig dem ursprünglich anberaumten Lieferdatum. Im Kanban-Modell müssen die Erwartungen angepasst werden, um sich darauf konzentrieren zu können, das Produkt zu liefern, wenn es fertig ist.


F: Wie kann Kanban eingesetzt werden, wenn eine Lieferfrist besteht?

In einem Kanban-Modell gibt es verschiedene Möglichkeiten, mit Terminen umzugehen. Sie können die Fristen einfach auf die Kanban-Karten schreiben und sicherstellen, dass diese Fristen eher als Richtlinien und nicht als feststehende Fälligkeitstermine verstanden werden (in Kanban sollten Sie die Qualität nicht für das Timing opfern).

Sie können auch die Art und Weise ändern, wie Sie und Ihr Team mit Fristen umgehen. In Kanbans authentischster Form werden sie nicht benötigt. Das Kanban-System stellt sicher, dass alle Aufgaben so schnell wie möglich erledigt werden, sodass eine Frist gar nicht erforderlich ist.


F: Kann Kanban neben der Softwareentwicklung auch für andere Projekte eingesetzt werden?

Ja, Kanban kann Prozessergebnisse verbessern, Produktionszeiten verkürzen und helfen, den Arbeitsablauf in beinahe jeder Branche zu verwalten. In der Spieleentwicklung hilft Kanban beispielsweise, die Zeitleiste für Videoprozesse zu verkürzen und Verschwendung zu reduzieren. In der Immobilienbranche bringt die Methode mehr Effizienz, indem mit ihr Verträge, Aussichten und Listings in verschiedenen Boards nachverfolgt werden können. Und im Finanzwesen kann Kanban Engpässe schnell erkennen und die Markteinführung beschleunigen.


F: Wird WIP von der Verfügbarkeit von Ressourcen gesteuert?

Ja. Wenn Sie WIP-Grenzen festlegen, müssen Sie beachten, wie viele Personen Sie in Ihrem Team haben und an wie vielen Aufgaben Sie ihre Teammitglieder gleichzeitig arbeiten lassen wollen.


F: Woher wissen Sie, ob die WIP-Grenze korrekt ist?

Es gibt keine Formel zum Festlegen der richtigen WIP-Grenzen. Es kommt häufig vor, dass Grenzen zunächst falsch sind, aber Sie müssen sie lediglich im Laufe des Projekts anpassen. Ein guter Anfang ist 1,5 für verfügbare Ressourcen, aber Sie sollten diese Zahl ständig neu überdenken und bei Bedarf Änderungen vornehmen.

Agile vs. Scrum

Unterschiede und Gemeinsamkeiten zwischen Agile und Scrum

Scrum vs agile


Agile und Scrum folgen zwar dem gleichen System, aber beim Vergleich von Scrum und Agile gibt es dennoch einige Unterschiede. Agile beschreibt im Agile-Manifest eine Reihe von Prinzipien zum Erstellen von Software durch iterative Entwicklung. Auf der anderen Seite besteht Scrum aus bestimmten Regeln, die bei der Agile-Softwareentwicklung zu befolgen sind. Agile ist die Philosophie und Scrum die Methode zur Umsetzung der Agile-Philosophie.

Da Scrum eine Möglichkeit ist, Agile zu implementieren, weisen sie viele Gemeinsamkeiten auf. Beide konzentrieren sich darauf, Software frühzeitig und häufig zu liefern, sind iterative Prozesse und berücksichtigen Änderungen. Sie fördern außerdem Transparenz und kontinuierliche Verbesserungen.

Wie passt Scrum zu Agile?

Scrum ist eines von vielen Frameworks, die zur Umsetzung eines Agile-Prozesses verwendet werden. Agile ist ein Überbegriff, der andere Prozesse umfasst, wie Extreme Programming, Kanban, Crystal und Scrum. Scrum ist Agile, aber Agile ist nicht Scrum.

Wann Scrum verwendet werden soll

Wir empfehlen, Scrum zu verwenden, wenn:

  • Die Projektanforderungen sich ändern und weiterentwickeln werden
  • Kontinuierliche Rückmeldungen erforderlich sind
  • Sie herausfinden müssen, wie Sie einen großen Teil der Arbeit erledigen, weil Sie es zuvor nicht getan haben
  • Sie sich nicht auf ein festes Veröffentlichungsdatum festlegen müssen
  • Das Projektteam Autonomie will
  • Sie regelmäßig Software liefern müssen

Scrum funktioniert gut bei Projekten, bei denen es viele Ungewissheiten gibt oder sich im Laufe der Zeit weiterentwickeln können. Scrum geht mit diesen Änderungen sehr effektiv um, sodass Sie während des gesamten Prozesses leicht neue Informationen oder Funktionen aufnehmen können.

Wann Agile verwendet werden soll

Die Grenze zwischen dem Einsatz von Agile und Scrum ist fließend. Scrum ist ein Framework im Agile-Prozess, daher haben beide viel gemeinsam. Ein guter Anfang ist es, sich zunächst darüber klar zu werden, ob man Agile im Allgemeinen einsetzen sollte. Wenn eine Agile-Methode dann so aussieht, als würde sie für Sie funktionieren, können Sie auswählen, welches Framework von Agile verwendet werden soll (Scrum ist ein Framework).

Wir empfehlen, Agile zu verwenden, wenn:

  • Das Endprodukt nicht klar definiert ist
  • Die Kunden/Beteiligten in der Lage sein müssen, den Umfang zu ändern
  • Während des gesamten Prozesses Änderungen implementiert werden müssen
  • Die Entwickler anpassungsfähig sind und unabhängig denken können
  • Sie für eine schnelle Bereitstellung optimieren müssen

Hybrider Ansatz

Wenn ein reiner Scrum-Ansatz für Ihr Projekt nicht funktioniert, können Sie auch ein Hybridmodell ausprobieren. Es gibt mehrere Methoden, die Prinzipien von Agile oder Scrum zu kombinieren und das Framework so anpassen, dass es effektiver skalierbar ist.

Zum Beispiel baut Disciplined Agile Delivery (DAD) auf den Praktiken von Agile, Scrum und Lean auf, um eine solide Grundlage für die Skalierung zu schaffen. DAD wurde entwickelt, um einen kohärenteren Ansatz für Agile zu bieten, der Strategien aus Scrum, Kanban, Extreme Programming und anderen übernimmt. Anstatt sich die Zeit zu nehmen, eines dieser bestehenden Frameworks zu erlernen und sie bei Bedarf zusammenzuschustern, kombiniert DAD bereits alle relevanten Techniken.

Andere hybride Methoden sind Large-Scale Scrum (LeSS), das Scrum um Skalierungsregeln und -richtlinien erweitert, sowie das Scaled Agile Framework (SaFE), die auf den zugrunde liegenden Lean- und Agile-Prinzipien beruhen.

Kanban vs. Scrum:

Unterschiede und Gemeinsamkeiten: Scrum vs. Kanban

Scrum vs kanban


Scrum und Kanban sind beide Varianten von Agile, aber sie weisen einige deutliche Unterschiede auf.

  • Scrum erfordertbestimmte Rollen, während Kanban keine bestimmten Rollen aufweist.
  • Scrum basiert aufzeitlich begrenzten Iterationen, die Planung, Prozessverbesserung und Release kombinieren. In Kanban können Sie diese Aktivitäten regelmäßig oder nach Bedarf durchführen.
  • Scrum beschränktlaufende Arbeiten (WIP)in jeder Iteration, während Kanban WIP in jedem Arbeitsablauf begrenzt.
  • Scrumist änderungsresistent, während in Kanban Änderungen leicht berücksichtigt und umgesetzt werden können. In Scrum können Sie, sobald das Team User-Storys einem Sprint hinzugefügt hat, später keine weiteren hinzufügen. In Kanban können Sie innerhalb der WIP-Grenzem User-Storys beliebig hinzufügen oder ändern.
  • Nach jedem Sprint wirdein Scrum-Board zurückgesetzt. Das Kanban-Board wird ständig verwendet.
  • Ein Scrum-Team arbeitetfunktionsübergreifendund ein Team ist für das Scrum-Board verantwortlich. In Kanban müssen Teams nicht funktionsübergreifend arbeiten und jeder kann das Kanban-Board verändern.
  • Scrum-Teams benötigenSchätzung, bei Kanban ist das hingegen nicht notwendig.


Scrum und Kanban haben auch einige Gemeinsamkeiten:

  • Sie sind empirisch. Sie müssen mit dem Prozess experimentieren, um zu sehen, was für Sie funktioniert.
  • Beide ermöglichen es Team-Mitgliedern, an mehreren Produkten gleichzeitig zu arbeiten.
  • Es sind schlanke und Agile-Prozesse.
  • Beide beschränken die laufenden Arbeiten (aber die Art der WIP-Grenzen unterscheidet sich).
  • Sie verwenden Pull-Terminplanung
  • Beide konzentrieren sich darauf, Software frühzeitig und häufig zu liefern
  • Beide nutzen Transparenz, um den Prozess zu verbessern

Wie verhalten sich Kanban und Scrum zueinander?

Kanban und Scrum sind beide Frameworks der Agile-Softwareentwicklung. Beide zerlegen große und komplexe Aufgaben in kleinere Teile. Kanban und Scrum arbeiten zudem auf die kontinuierliche Verbesserung und Optimierung des Prozesses hin und zielen darauf ab, die Arbeit gut sichtbar zu halten.

Obwohl sowohl Kanban als auch Scrum sehr anpassungsfähig sind, ist Scrum starrer als Kanban. Scrum verfügt über mehr Einschränkungen, während Kanban flexibler ist.

Scrum-Board vs. Kanban-Board

Ein Scrum-Board und ein Kanban-Board können visuell ähnlich aussehen, aber sie beruhen auf sehr unterschiedlichen Prinzipien.

Um ein Scrum-Board zu erstellen, muss das Scrum-Team zuerst Sprints erstellen, User-Storys Punkte zuweisen und planen, welche Storys in welchen Sprint einfließen. Dann visualisiert das Scrum-Board den Sprint und zeigt, welche Storys sich im Plan- oder Umsetzungsmodus befinden. Das Scrum-Board wird zwischen jedem Sprint zurückgesetzt und steht unter der Verantwortung eines bestimmten Teams.

Ein Kanban-Board hat das gleiche spaltenbasierte Layout wie ein Scrum-Board, aber es erfordert keine Vorplanung. Sie können mit dem Arbeiten beginnen und sich durch den Fluss des Kanban-Boards bewegen, ohne einen strukturierten Plan zu haben. Das Kanban-Board kann von mehreren Personen geteilt werden und ist beständig: Sie müssen das Board nicht zurücksetzen. Im Gegensatz zum Scrum-Board hat das Kanban-Board eine maximale Anzahl an Storys, die in jeder Spalte gleichzeitig zulässig sind. Dies wird fließend fortgesetzt, solange das Projekt in Arbeit ist. Bei Bedarf werden neue Storys hinzugefügt und abgeschlossene werden neu bewertet.

Wann Kanban verwendet werden sollte

Wir empfehlen, Kanban zu verwenden, wenn:

  • Sie Storys hinzufügen oder Sprints spontan ändern müssen
  • Sie keine Iterationen benötigen
  • Schätzung nicht notwendig ist
  • Sie die Möglichkeit haben möchten, jederzeit freizugeben
  • Kontinuierliche Verbesserung bereits groß geschrieben wird
  • Ihr Team nicht gut auf große Änderungen reagiert
  • Sie den Lieferfluss verbessern wollen
  • Das System leicht verständlich sein muss

Scrum kann weniger flexibel als Kanban sein. Das Timing dreht sich um Sprints, wobei jeder Sprint zwei bis vier Wochen dauert. Das Team hat in jedem Sprint bestimmte Rollen und folgt bestimmten Zeremonien.

Was ist Scrumban?

Scrumban kombiniert die Prinzipien von Scrum und Kanban zu einem pull-basierten System. Das Team plant die Arbeiten, die während der Anfangsphase eingerichtet wurden, und pflegt ständig das Backlog. Die gleichen Scrum-Meetings sollten stattfinden, aber deren Häufigkeit kann sich je nach Kontext und Bedarf ändern. Der wichtigste Teil von Scrumban besteht darin, sicherzustellen, dass die Grenzen für laufende Arbeiten (WIP-Grenzen) eingehalten werden.

Scrumban entleiht sich einzelne Bestandteile von Scrum und Kanban. Zum Beispiel enthält es die definierten Rollen, tägliches Scrum und andere Scrum-Meetings. Von Kanban entleiht es sich das Kanban-Board, den kontinuierlichen Arbeitsfluss und die Möglichkeit, bei Bedarf Änderungen dem Board hinzuzufügen.

Scrumban ahnelt auf科技Ebene呃Scrum,aber auf kultureller Ebene ist es Kanban näher. Statt großer Änderungen auf einmal fördert Scrumban inkrementelle Änderungen. Wenn Ihr Team von Scrum zu Kanban migrieren möchte, kann Scrumban einen sanften Übergang ermöglichen.

Was ist am besten? Kanban vs. Scrum:

Beim Vergleich von Kanban und Scrum gibt es keinen eindeutigen Sieger. Das für Sie beste Framework hängt von Ihrem Projekt, Team und Ihren Zielen ab. Da es sich bei Kanban und Scrum um flexible Agile-Methoden handelt, können Sie, je nach Bedarf, leicht Prinzipien aus jedem anwenden.

Es ist wichtig, nicht zu vergessen, dass echtes Scrum eine viel größere Veränderung ist als Kanban. Das Team muss die Zeremonien, die spezifischen Rollen und Iterationen erlernen. Kanban hingegen fördert inkrementelle Verbesserungen. Sie können Kanban-Prinzipien auf jeden Prozess anwenden, den Sie bereits verwenden. Sogar auf Scrum. Um mit Kanban zu beginnen, muss sich nichts wesentlich ändern.

Als allgemeine Faustregel gilt: Wenn Ihr Team oder Ihre Organisation wirklich feststeckt und eine große Veränderung benötigt, ist Scrum möglicherweise besser geeignet. Wenn Sie aber bereits einen Prozess haben, mit dem Sie zufrieden sind, jedoch einige kleine Änderungen umsetzen wollen, ist Kanban möglicherweise die bessere Wahl.

Agile vs. Waterfall

Unterschiede und Gemeinsamkeiten: Waterfall vs. Agile:

Waterfall vs agile


Die Unterschiede zwischen der Waterfall-Methode und Agile lassen sich mit zwei Worten zusammenfassen: starr vs. flexibel. Waterfall ist ein viel strikterer und starrerer Prozess, während Agile flexibel ist und sich ständig weiterentwickelt. Hier erfahren Sie mehr über ihre Unterschiede:

  • Waterfall ist einstrukturierterProzess, bei dem Sie erst mit einer neuen Phase beginnen können, wenn die vorherige abgeschlossen ist. Agile ist hingegen ein flexibler Prozess, mit dem Sie das Projekt nach Bleiben durchlaufen können.
  • Waterfall istsequenziell, Agile erzwingt keine linearen Prozesse.
  • Bei Waterfall-Projekten werden dieAnforderungen in der Regel im Voraus definiert, während bei Agile-Projekten erwartet wird, dass sich die Anforderungen ändern und weiterentwickeln.
  • Bei Waterfall-Projekten kann man Dinge, die in früheren Phasen gemacht wurden, nichtändern, während Agile sehr entgegenkommen mit Änderungen umgeht.

Es gibt nicht viele Gemeinsamkeiten zwischen Agile und Waterfall. Agile wurde speziell als Gegensatz zu Waterfall entwickelt. Man kann jedoch sagen, dass sowohl Agile als auch Waterfall das gleiche Ziel verfolgen. Beide Ansätze wollen auf effiziente Weise qualitativ hochwertige Produkte liefern. Wenn Sie weitere Gemeinsamkeiten zwischen Agile und Waterfall kennen, hinterlassen Sie uns bitte einen Kommentar!

Wann Sie Waterfall und wann Sie Agile einsetzen sollten

Wir empfehlen, Waterfall zu verwenden, wenn:

  • Sie keine Änderungen im Umfang erwarten und mit Festpreisverträgen arbeiten
  • Ein Projekt sehr einfach ist oder Sie es bereits viele Male durchgeführt haben
  • Anforderungen genau bekannt und fix sind
  • Kunden im Voraus genau wissen, was sie wollen
  • Sie mit geordneten und vorhersehbaren Projekten arbeiten


Sie sollten Agile verwenden, wenn:

  • Das Endprodukt nicht klar definiert ist
  • Die Kunden/Beteiligten die Möglichkeit benötigen, den Umfang zu ändern
  • Sie mögliche Änderungen während des Projekts vorhersehen
  • Schnelle Bereitstellung das Ziel ist

Bei der Entscheidung zwischen Agile und Waterfall kann es auf Folgendes hinauslaufen: Wenn Sie während des gesamten Projekts Änderungen vorhersehen oder erwarten, sollten Sie Agile verwenden. Wenn Sie wissen, dass das Projekt fix, unveränderlich und vorhersehbar ist, ist Waterfall möglicherweise die bessere Wahl.

Welche ist besser? Agile vs. Waterfall

敏捷和瀑布信德gegensatzlich, dass esschwer zu sagen ist, welche der beiden Methoden die bessere ist. Es kommt wirklich auf das Projekt an, auf den Grad der Klarheit der Anforderungen und darauf, wie flexibel Sie sein können.

Wenn Sie ein klares Bild davon haben, wie das Endprodukt aussehen soll, Sie festgelegte Anforderungen haben, die sich nicht ändern werden, und Sie an einem relativ einfachen Projekt arbeiten, ist nach der Meinung einiger Fachleute Waterfall die bessere Wahl als Agile. Wenn Sie nicht erwarten, mit Änderungen umgehen zu müssen, ist Waterfall ein einfacher und effizienter Prozess. Die Probleme mit Waterfall beginnen, wenn Sie Änderungen berücksichtigen müssen.

Wenn Sie kein klares Bild vom Endprodukt haben, Änderungen voraussehen und an einem komplexen Projekt arbeiten, ist Agile überlegen. Agile wurde entwickelt, um neue, sich entwickelnde Anforderungen jederzeit während des Projekts zu erfüllen, während Waterfall es nicht gestattet, zu einer abgeschlossenen Phase zurückzugehen und Änderungen vorzunehmen.

Hybrid: Agifall vs. Wagile:

您要是西奇我mer noch über Waterfall versus Agile Gedanken machen, könnten Sie Prinzipien von beidem kombinieren und ein Hybridmodell verwenden.

Agifall erhöht zum Beispiel Geschwindigkeit und Qualität, indem Agile-Methoden in den Waterfall-Prozess aufgenommen werden. In einem Agifall-Projekt würden Sie die Phasen Forschung, Strategie und Planung in einzelne Aufgaben zerlegen und sprinten, um sie abzuschließen. Die Entwicklungsphase wäre wie jedes andere Agile-Projekt, nur mit mehr bereits bekannten Informationen. Sie müssen auch nicht warten, bis eine Phase endet, um mit der nächsten zu beginnen, die traditionell mit reinem Waterfall durchgeführt wird. Mit Agifall, sollte das Projekt beginnen, wenn es bereit ist.

Wagile hat eine negativere Konnotation als Agifall. Die Definition von Wagile in Wikipedia lautet: „Eine Gruppe von Softwareentwicklungsmethoden, die sich aus dem Rückschritt von Agile zurück zu Waterfall ergeben, mit vielen kurzen Waterfall-Sprints die den Eindruck erwecken, dass es sich dabei um Agile handelt, aber in Wahrheit das Waterfall-Modell in der Maske von Agile-Software ist.“

Wagile übernimmt Agile-Praktiken wie kurze Iterationen, tägliche Stehsitzungen oder kontinuierliche Integration in das Waterfall-Modell, ohne das traditionelle Modell wirklich zu ändern.

Kanban vs. Agile:

Unterschiede und Gemeinsamkeiten: Agile vs. Kanban

Kanban vs agile


Kanban ist zwar eine visuelle Möglichkeit, Agile zu implementieren, aber es bestehen viele Unterschiede:

  • Kanban setzt sich füreinen kontinuierlichen Flussein, während Agile mit Iterationen arbeitet.
  • Kanban kann fürjede Art von Arbeitgleichermaßen gut funktionieren, während Agile für einige Projekte besser geeignet ist als für andere.
  • Jeder kann Kanban erlernen, aber einige Agile-Methoden erfordernFachkenntnisse oder Schulungen.
  • Kanban erfordert einevisuelle Darstellungdes Arbeitsablaufs, während Agile dies nicht tut.
  • Einige Agile-Projekte erfordernfunktionsübergreifende Teams, Kanban hingegen nicht.
  • Agile ist eine Philosophie, während Kanban eine Methode ist.


Agile und Kanban haben auch einige Gemeinsamkeiten:

  • Beide teilen Projekte in kleinere Stücke auf.
  • Sie setzen auf die kontinuierliche Verbesserung.
  • Sie legen großen Wert auf Transparenz.
  • Keiner der beiden Ansätze erfordert viel Vorausplanung.
  • Sie arbeiten auf eine schnellere Lieferung hin.

Wann Sie Kanban und wann Sie Agile einsetzen sollten

Wir empfehlen, Kanban zu verwenden, wenn:

  • Für Ihr Projekt keine Iterationen erforderlich sind
  • Sie die Möglichkeit haben möchten, jederzeit freizugeben
  • Ihr Team inkrementelle Änderungen bevorzugt
  • Ihr Team gut mit visuellen Darstellungen arbeitet
  • Sie den Lieferfluss verbessern wollen
  • Sie ein leicht verständliches System suchen


Wir empfehlen, Agile zu verwenden, wenn:

  • Das Endprodukt nicht klar definiert ist
  • Während des gesamten Prozesses Änderungen implementiert werden müssen
  • Die Entwickler anpassungsfähig sind und unabhängig denken können
  • Sie eine wesentliche Änderung vornehmen wollen

Welche ist besser? Agile vs. Kanban

Wie bei jeder Projektmanagementmethode gibt es kein Framework, das zu 100 % besser als andere ist. Sie können Kanban für einige Projekte auswählen, aber mit Agile für andere arbeiten.

Überlegen Sie, welchen Grad der Veränderung Sie in Ihrem Team einführen wollen. Wenn Sie etwas zu einem bestehenden Framework mit kleinen, inkrementellen Änderungen hinzufügen möchten, ist Kanban eine bessere Wahl. Wenn Sie einen größeren Prozesswechsel vornehmen möchten, wäre die Implementierung von Agile (wie Scrum) besser.

Und wenn Sie möchten, dass Ihr Projektteam sofort mit einer neuen Methode loslegen kann, ist Kanban einfacher zu verstehen. Schulung sind nicht erforderlich und sie kann auf jeden bestehenden Prozess aufgesetzt verwendet werden. Auf der anderen Seite benötigen einige Agile-Methoden mehr Wissen im Team. Beispielsweise müssen die Teammitglieder bestimmte Rollen, Zeremonien und Terminologie erlernen.

Ressourcen und verwandte Posts

Laden Sie eine kostenlose Waterfall-Diagramvorlage für Excel herunter oder erfahren Sie, wie Sie ein Waterfall-Diagramm von Grund auf neu erstellen. Außerdem erfahren Sie, wann Sie ein Waterfall-Diagramm verwenden sollten und welche Funktionen es in Excel hat.

Hier finden Sie acht Vorlagen für das Agile-Projektmanagement in Excel, von der Vorlage für das Agile-Produkt-Backlog bis hin zur Agile-Projektchartavorlage. Außerdem erfahren Sie, wie Sie Agile-Vorlagen in Smartsheet verwenden

Kurse:

  • PMI Agile Certified Practitioner (PMI ACP): Diese Zertifizierung, die von Project Management Institute (PMI) angeboten wird, umfasst die vielen verschiedenen Ansätze für Agile, wie Scrum, Kanban, Lean, Extreme Programming (XP) und Test-Driven-Development (TDD). Voraussetzungen sind 2.000 Stunden allgemeine Projekterfahrung in Teams, 1.500 Stunden Arbeit in Agile-Projektteams und 21 Kontaktstunden Training in Agile-Praktiken.
  • Certified ScrumMaster (CSM): Diese Zertifizierung von Scrum Alliance hilft Teams, Scrum richtig zu nutzen, die Werte zu verstehen und das Team vor Ablenkungen zu schützen. Als CSM können Sie die Rolle des Scrum-Masters oder eines Scrum-Team-Mitglieds ausfüllen. Um Ihr CSM-Zertifikat zu erwerben, müssen Sie einen CSM-Kurs von einem autorisierten Scrum-Alliance-Trainer belegen und die Fortschritte mit einem Online-Test nachweisen.
  • Certified Scrum Product Owner (CSPO):静脉zertifizierter Scrum-Produktverantwortlicherlernt Scrum-Terminologie, -Praktiken und -Prinzipien, um die Rolle des Produktverantwortlichen in einem Scrum-Team zu erfüllen. Er oder sie ist der geschäftlichen Seite des Projekts am nächsten, pflegt das Produkt-Backlog und stellt sicher, dass jeder die Prioritäten kennt. Um diese Zertifizierung von der Scrum Alliance zu erhalten, müssen Sie einen zweitägigen CSPO-Kurs besuchen, der von einem Certified Scrum Trainer unterrichtet wird.
  • Certified Scrum Professional (CSP):Zertifizierte Scrum Professionals fordern ihre Scrum-Teams heraus, die Implementierung von Scrum für jedes Projekt zu verbessern. Um ein CSP zu erhalten, müssen Sie derzeit über eine CSM-, CSPO- oder CSD-Zertifizierung verfügen, mindestens 36 Monate Agile/Scrum-Erfahrung haben und 70 Scrum-Lerneinheiten aus den letzten drei Jahren zusammentragen und einreichen.
  • Accredited Kanban Practicioner (AKP): Akkreditierte Kanban-Anwender sind Profis, die über nachgewiesenes Wissen und Know-how in der Kanban-Implementierung für die Softwareentwicklung verfügen. Die Zertifizierung wird von Agile Certification Institute, Inc. angeboten und erfordert, dass Sie eine vorherige Schulung in Agile-Praktiken nachweisen und eine AKP-Zertifizierungsprüfung bestehen.

Mit Smartsheet jedes Projekt auf Ihre Weise verwalten

Befähigen Sie Ihr Team, über sich selbst hinauszuwachsen – mit einer flexiblen Plattform, die auf seine Bedürfnisse zugeschnitten ist und sich anpasst, wenn sich die Bedürfnisse ändern. Mit der Plattform von Smartsheet ist es einfach, Arbeiten von überall zu planen, zu erfassen, zu verwalten und darüber zu berichten. So helfen Sie Ihrem Team, effektiver zu sein und mehr zu schaffen. Sie können über die Schlüsselmetriken Bericht erstatten und erhalten Echtzeit-Einblicke in laufende Arbeiten durch Rollup-Berichte, Dashboards und automatisierte Workflows, mit denen Ihr Team stets miteinander verbunden und informiert ist. Es ist erstaunlich, wie viel mehr Teams in der gleichen Zeit erledigen können, wenn sie ein klares Bild von der geleisteten Arbeit haben.Testen Sie Smartsheet gleich heute kostenlos.

Ressourcen und verwandte Posts

So erstellen Sie ein Waterfall-Diagramm in Excel

Laden Sie eine kostenlose Waterfall-Diagramvorlage für Excel herunter oder erfahren Sie, wie Sie ein Waterfall-Diagramm von Grund auf neu erstellen. Außerdem erfahren Sie, wann Sie ein Waterfall-Diagramm verwenden sollten und welche Funktionen es in Excel hat.

Die besten Excel-Vorlagen für Agile-Projektmanagement

Hier finden Sie acht Vorlagen für das Agile-Projektmanagement in Excel, von der Vorlage für das Agile-Produkt-Backlog bis hin zur Agile-Projektchartavorlage. Außerdem erfahren Sie, wie Sie Agile-Vorlagen in Smartsheet verwenden

Agile-Planung: Bewährte Praktiken für Projektmanager

Agile-Ressourcen für das Projektmanagement aus einer Hand

Kurse:

  • PMI Agile Certified Practitioner (PMI ACP): Diese Zertifizierung, die von Project Management Institute (PMI) angeboten wird, umfasst die vielen verschiedenen Ansätze für Agile, wie Scrum, Kanban, Lean, Extreme Programming (XP) und Test-Driven-Development (TDD). Voraussetzungen sind 2.000 Stunden allgemeine Projekterfahrung in Teams, 1.500 Stunden Arbeit in Agile-Projektteams und 21 Kontaktstunden Training in Agile-Praktiken.
  • Certified ScrumMaster (CSM): Diese Zertifizierung von Scrum Alliance hilft Teams, Scrum richtig zu nutzen, die Werte zu verstehen und das Team vor Ablenkungen zu schützen. Als CSM können Sie die Rolle des Scrum-Masters oder eines Scrum-Team-Mitglieds ausfüllen. Um Ihr CSM-Zertifikat zu erwerben, müssen Sie einen CSM-Kurs von einem autorisierten Scrum-Alliance-Trainer belegen und die Fortschritte mit einem Online-Test nachweisen.
  • Certified Scrum Product Owner (CSPO):静脉zertifizierter Scrum-Produktverantwortlicherlernt Scrum-Terminologie, -Praktiken und -Prinzipien, um die Rolle des Produktverantwortlichen in einem Scrum-Team zu erfüllen. Er oder sie ist der geschäftlichen Seite des Projekts am nächsten, pflegt das Produkt-Backlog und stellt sicher, dass jeder die Prioritäten kennt. Um diese Zertifizierung von der Scrum Alliance zu erhalten, müssen Sie einen zweitägigen CSPO-Kurs besuchen, der von einem Certified Scrum Trainer unterrichtet wird.
  • Certified Scrum Developer (CSD):Zertifizierte Scrum-Entwickler erlernen spezialisierte Agile-Engineering-Fähigkeiten und weisen ihr Wissen mit formellen Schulungen und einer technischen Kompetenzbeurteilung nach. Der CSD-Kurs richtet sich an Softwareentwickler, die in einer Scrum-Umgebung arbeiten. Um ein CSD von der Scrum Alliance zu erhalten, müssen Sie fünf Tage formelle Schulungen nachweisen, die von einem registrierten Bildungsanbieter der Scrum Alliance und einem autorisierten Scrum-Alliance-Lehrer unterrichtet werden.
  • Certified Scrum Professional (CSP):Zertifizierte Scrum Professionals fordern ihre Scrum-Teams heraus, die Implementierung von Scrum für jedes Projekt zu verbessern. Um ein CSP zu erhalten, müssen Sie derzeit über eine CSM-, CSPO- oder CSD-Zertifizierung verfügen, mindestens 36 Monate Agile/Scrum-Erfahrung haben und 70 Scrum-Lerneinheiten aus den letzten drei Jahren zusammentragen und einreichen.
  • Accredited Kanban Practicioner (AKP): Akkreditierte Kanban-Anwender sind Profis, die über nachgewiesenes Wissen und Know-how in der Kanban-Implementierung für die Softwareentwicklung verfügen. Die Zertifizierung wird von Agile Certification Institute, Inc. angeboten und erfordert, dass Sie eine vorherige Schulung in Agile-Praktiken nachweisen und eine AKP-Zertifizierungsprüfung bestehen.

Mit Smartsheet jedes Projekt auf Ihre Weise verwalten

Befähigen Sie Ihr Team, über sich selbst hinauszuwachsen – mit einer flexiblen Plattform, die auf seine Bedürfnisse zugeschnitten ist und sich anpasst, wenn sich die Bedürfnisse ändern. Mit der Plattform von Smartsheet ist es einfach, Arbeiten von überall zu planen, zu erfassen, zu verwalten und darüber zu berichten. So helfen Sie Ihrem Team, effektiver zu sein und mehr zu schaffen. Sie können über die Schlüsselmetriken Bericht erstatten und erhalten Echtzeit-Einblicke in laufende Arbeiten durch Rollup-Berichte, Dashboards und automatisierte Workflows, mit denen Ihr Team stets miteinander verbunden und informiert ist. Es ist erstaunlich, wie viel mehr Teams in der gleichen Zeit erledigen können, wenn sie ein klares Bild von der geleisteten Arbeit haben.Testen Sie Smartsheet gleich heute kostenlos.

Finden Sie heraus, weshalb sich mehr als 90% der Fortune 100-Unternehmen bei der Erledigung von Arbeiten auf Smartsheet verlassen.

Smartsheet kostenlos testen Get a Free Smartsheet Demo