Vergleich zwischen SCRUM und Kanban

Aus Winfwiki

Wechseln zu: Navigation, Suche

Fallstudienarbeit

Hochschule: Hochschule für Oekonomie & Management
Standort: Düsseldorf
Studiengang: Bachelor Wirtschaftsinformatik
Veranstaltung: Fallstudie / Wissenschaftliches Arbeiten
Betreuer: Prof._Dr._Uwe_Kern
Typ: Fallstudienarbeit
Themengebiet: Agile Softwareentwicklung
Autor(en): Sven T., Lutz L., Jan-Bernd M.
Studienzeitmodell: Tagesstudium
Semesterbezeichnung: SS11
Studiensemester: 2
Bearbeitungsstatus: begutachtet
Prüfungstermin:
Abgabetermin:


Name des Autors / der Autoren: Sven T., Lutz L., Jan-Bernd M.

Titel der Arbeit: Vergleich zwischen Scrum und Kanban

Hochschule und Studienort: Hochschule für Oekonomie & Management Düsseldorf

Inhaltsverzeichnis

1 Abbildungsverzeichnis

Abb.-Nr.Abbildung
1Agile Softwareentwicklung
2Scrum Übersicht
3Kanban Übersicht
4Kanban Tafel mit Beschränkung auf den Status "In Bearbeitung"
5Burndown-Chart
6Projektsteuerung Scrum
7Projektsteuerung Kanban

2 Einleitung

2.1 Thema

Diese wissenschaftliche Arbeit beschäftigt sich mit einem Vergleich von Scrum und Kanban, zwei Entwicklungsprozessmethoden der agilen Softwareentwicklung.
Scrum ist ein Framework, welches Anwendung an iterativen und inkrementellen Entwicklungsprojekten findet. Es wird von sich selbst organisierenden Teams eingesetzt. Ähnlich wie Scrum ist Kanban ein Framework und ein Prozessmanagementsystem, um bei der Softwareentwicklung die Anzahl paralleler Arbeiten zu reduzieren und schnellere Durchlaufzeiten zu erreichen.
Scrum und Kanban weisen in vielen Bereichen Gemeinsamkeiten auf und werden häufig genutzt, um die Effizienz bestehender Entwicklungsprozesse im Bereich der Softwareentwicklung kontinuierlich zu verbessern. Beide haben ihre Wurzeln in der Lean Production, sodass ihre Prozesse die Lean Prinzipien unterstützen, aber ihre Umsetzung nicht garantieren. Aufgrund des gemeinsamen Ursprungs haben beide Softwareentwicklungsprozesse viele Gemeinsamkeiten. Sie bringen z.B. Transparenz in die Arbeitsweise eines Unternehmens, optimieren Entwicklungsprozesse und führen nachhaltig zu ständigen Verbesserungen in allen Prozessen und Methoden. Dass sich die Vorteile beider Prozesse auch noch kombinieren lassen zeigt sich an der Vielzahl von Kombinationen aus Eigenschaften der jeweiligen Prozesse und der Entstehung von Mischformen, wie Scrum-ban.

2.2 Zielsetzung und Aufbau der Arbeit

Das Ziel dieser Analyse ist die detaillierte Offenlegung der Unterschiede und Gemeinsamkeiten zwischen Scrum und Kanban, um ein Verständnis für beide Prozesse zu schaffen. Außerdem sollen Synergieeffekte beider Softwareentwicklungsmethoden, wie sie in vielen Unternehmen, oft auch unbewusst, genutzt werden, also die Gründe für die sehr häufig auftretende Nutzung von Mischformen von Scrum und Kanban, dargelegt werden.
Die Arbeit ist in 3 Teile unterteilt. Der erste Teil ist eine grundlegende Beschreibung beider Softwareentwicklungsprozesse. Der Hauptteil befasst sich mit der Analyse, mit der Nutzwertanalyse als dominierenden Stuktur. Darin erfolgt zunächst eine Gegenüberstellung der Eigenschaften anhand geeigneter Kriterien und anschließendem Zwischenfazit mit Punkteverteilung. Gefolgt wird dies mit der Gewichtung der Vergleichskriterien im Hinblick auf den Vergleich. Zuletzt wird in der Analyse das Ergebnis der Nutzwertanalyse präsentiert. Abschließend befasst sich die wirtschaftliche Arbeit mit der Schlussbetrachtung.

2.3 Grundlagen

Lean Production: Organisation von Produktion/Programmierung mit dem Ziel, drei Arten der Verschwendung (Lean Prinzipien) zu unterbinden. Die Lean Prinzipien lauten:

  • Muda - Arbeit, die dem Produkt keinen Wert hinzufügt;
  • Muri - Überlastung von Mitarbeiten und Maschinen;
  • Mura – Unregelmäßigkeit der Prozesse

Framework: Organisationsstruktur
User Story: sehr kurz gehaltene, in Alltagssprache formulierte Software-Anforderung

3 Analyse

3.1 Agile Softwareentwicklung

Agile Softwareentwicklung ist eine Methode zur Softwareentwicklung, welche als Hauptbestandteile die Anpassung an externe Änderungen, eine enge Verknüpfung von Idee und Implementierung und eine vereinfachte Form der Mitarbeit hat. Sie ist eine Gegenentwicklung zum traditionellen Softwareentwicklungsprozess, zur Bürokratisierung der Softwareentwicklung. Beispiele für Agile Softwareentwicklung sind Scrum und Extreme Programming (XP)

Abbildung 1: Agile Softwareentwicklung
Abbildung 1: Agile Softwareentwicklung

3.1.1 Ziele

Als Ziele für Agile Softwareentwicklung gelten die Wartezeiten und die Zeitvergeudung während der Produkterstellung zu minimieren, sowie die Belastung der Mitarbeitet zu senken und gleichzeitig die Produktivität zu steigern. Außerdem soll sie die Möglichkeit, schnell auf Anforderungen des Marktes reagieren zu können, verbessern. Der Schwerpunkt des Softwareentwicklungsprozesses soll auf den zu erreichenden Zielen basieren[1].


3.1.2 Hauptmerkmale

Da der Schwerpunkt auf den zu erreichenden Zielen basiert, gilt als einziger Erfolgsmaßstab das funktionierende Produkt.
Die Elemente in der nachfolgend aufgeführten der Tabelle stellen dabei die Grundprinzipien der agilen Softwareentwicklung dar. Hierbei ist zu beachten, dass die in der Spalte Wichtig aufgeführten Elemente eher der traditionellen, stark bürokratisierten Softwareentwicklung zuzuschreiben und die in der Spalte Wichtiger aufgeführten Elemente Prinzipien der Agilen Softwareentwicklung sind.

Wichtig Wichtiger
Prozess und Werkzeuge Individuen und Interaktionen
Detaillierte Dokumentation Funktionierende Software
Vertragliche Pflichten Mitaarbeit mit dem Kunden
Einer festen Planung folgen Anpassen an Änderungen
[2]


Agile Softwareentwicklung basiert vollständig auf praktischer Erfahrung. Sie ermöglicht eine laufende Anpassung an externe Änderungen, sodass das Antizipieren der zukünftigen Softwareentwicklung nicht mehr nötig ist. Im Fordergrund steht das Prinzip der Einfachheit, so dass jegliche Arbeit, die für das Programm nicht zwangsweise notwenig ist, minimiert wird. Als Beispiel hierfür wäre das Schreiben von unnötigen Dokumentationen zu nennen, da die agile Methode Vorraussetzungen für eine gute mündliche Kommunikation bereitstellt[1].

3.2 Scrum

Abbildung 2: Scrum Übersicht
Abbildung 2: Scrum Übersicht

Scrum ist eines der beliebtesten agilen Projektmanagement-Methoden und wird aufgrund von einfachen Regeln aktiv in vielen Unternehmen zur Unterstützung eines Projektes in der Softwareentwicklung eingesetzt (z.B. von Google, Toyota und Microsoft[3]). Aufgrund der einfachen Struktur und klar definierten Rollen lässt sich Scrum schnell in ein Unternehmen einführen und hilft dabei die Arbeit effizient und zuverlässig zu gestalten. Wie auch andere agile Methoden stammt Scrum ursprünglich aus der Industrieproduktion (Toyota - Total Productive Maintenance) und aus der Management Praxis (Lean Management [4]).

Bei Scrum wird zur Aufgabenverteilung das sogenannte Pull-System[5] verwendet, sodass Aufgaben nicht zugeteilt werden, sondern die Team(-mitglieder) sich eigenständig mit neuer Arbeit versorgen[6].

Das Scrum Team besteht aus einem Product Owner, einem Scrum Master und dem eigentlichen Team.

Der Product Owner ist der Verantwortliche für das Product Backlog, in dem die Abnahmekriterien des Projektes definiert und priorisiert werden. Für die Erfüllung seiner Anforderungen an das Projekt steht er im ständigen Kontakt zu dem Scrum Master und dem Team.

Um einen problemlosen und optimalen Prozess zu ermöglichen gibt es einen Scrum Master. Der Scrum Master hilft dabei, das (Sprint-)Ziel bzw. Ergebnis leichter zu erreichen, indem er Anforderungen je nach Situation anpasst, verändert und Hindernisse beseitigt. Der ScrumMaster ist aber kein Teammitglied und auch nicht der Teamleiter sondern sorgt nur dafür, dass der Scrum-Prozess wie vorgesehen durch das Team und das Unternehmen durchgeführt wird[7].

Ein Scrum Team besteht meist aus fünf bis neun Entwicklern, arbeitet ohne einen Projektleiter und organisiert sich selbst[8].



3.3 Kanban

Abbildung 3: Kanban Übersicht
Abbildung 3: Kanban Übersicht

Kanban ist ein Prozessmanagement System, welches ursprünglich aus Japan und dem Bereich der Fertigungssteuerung stammt und ca. 1940 in der Automobilindustrie von Toyota entwickelt worden ist, um die Durchlaufzeiten bei der Produktion von Automobilen zu verringern.
Das Wort Kanban stammt aus dem japanischen und ist zusammengesetzt aus zwei Wörtern: KAN(Visualisieren) BAN(Karte, Tafel). Oft wird Kanban auch mit "Anzeige"- oder "Pendelkarte" übersetzt[9][10].

In den vergangenen Jahren wurde Kanban immer mehr als Vorgehen in der IT benutzt, um bei der Softwareentwicklung die Anzahl paralleler Arbeiten zu reduzieren und dadurch eine effizientere bzw. wirtschaftlichere Arbeit zu erreichen.
Durch den Einsatz von Kanban werden Arbeitsprozesse für jeden transparenter und Probleme, wie z.B. die Überlastung von Mitarbeitern, schneller sichtbar[6].

Kanban arbeitet mit einem sogenannten Kanban-Board, auf dem alle Prozessschritte dargestellt werden. Anforderungen werden auf kleinen Haftnotizen an das Kanban-Board gehängt und durchlaufen als Ticket die einzelnen Prozessschritte bis zur Fertigstellung der jeweiligen Anforderung[11].

Durch das Kanban Board werden rudimentär vor allem drei Dinge gut sichtbar:

  • Welche Arbeit wird gerade erledigt
  • Welche Arbeit wurde noch nicht angefangen
  • Wie effizient wird gearbeitet[12].

Durch Kanban hat man den Vorteil, dass Probleme in Echtzeit erkannt werden, da man durch das Kanban-Board genau sehen kann, an welchen Stationen sich die Tickets bzw. Haftnotizen stauen. Dies veranlasst die Leute im Team dazu den kompletten Prozess zu optimieren und nicht nur ihr eigenes Teilstück zu verbessern, um das Projekt abzuschließen.

3.4 Mischform Scrum-ban

Scrum-ban ist eine Mischform von Scrum und Kanban und eignet sich besonders für Projekte oder Systeme

  • die einen hohen Wartungsaufwand haben,
  • deren Projektziel die Instandhaltung von Systemen ist und bei denen mit
    • häufigen und unerwarteten Fehlern zu rechnen ist
    • vielen User Stories in der Programmierung zu rechnen ist.

3.4.1 Korrespondierende Elemente

Tägliche Scrum Sitzungen und andere Praktiken können je nach Team und der aktuellen Situation angewandt werden. Aus Kanban wurden Visualisierungen der Arbeitsschritte und Einschränkungen der Teamgröße pro Sprint übernommen. Die Verwendung dieser Methoden erlaubt eine minimale Durchlaufzeit für das Projekt und sorgt dafür, dass jedes Team Mitglied konstant beschäftigt ist[13].
Planung und Abarbeitung funktionieren in Scrum-ban wie im normalen Scrum Prozess. Scrum-ban gibt dem Entwickler jedoch verschiedene Hilfsmittel, um den Produktions- und Planungsprozess effizienter, reaktionsschneller und besser in die zu erledigende Aufgabe einzubinden.
Zeitbegrenzte Iterationen werden in Anlehnung an Kanban in Scrum-ban nicht verwendet.
Zudem werden die Arbeitsschritte grob in drei verschiedene Etappen gemäß dem Kanban-Board unterteilt und visualisiert.

3.4.2 Besonderheit

Zur Besonderheit von Scrum-ban zählt, dass weitere Arbeitsschritte, falls gewünscht, vom Team hinzugefügt werden können, um auch Zwischenschritte zu visualisieren. Durch Aufteilung der Arbeitsschritte in mehrere Zwischenschritte und Verteilung dieser an unterschiedliche Mitarbeiter, können einzelne Mitarbeiter entlastet und auf bestimmte Aufgabengebiete spezialisiert werden[14].

3.4.3 Anwendung in der Praxis

Scrum und Kanban sind zwei unterschiedliche Prozessmethoden die beide zu den agilen Entwicklungsmethoden gehören, jedoch unterscheiden sich diese stark. Vielen Teams ist Scrum zu unflexibel da ein Sprint nicht verändert werden kann und Rollen vorgeschrieben werden, obwohl diese in kleineren Teams kaum differenzierbar sind[15]. Bei Kanban fehlt manchen ein striktes Regelwerk, da keine Commitments existieren und einige Elemente, wie z.B. das Product Backlog, nur optional sind.
Beide Methoden lassen sich beliebig verändern und anpassen. Dadurch entstehen in vielen Unternehmen unbewusst Mischformen von Scrum und Kanban, die Scrum-ban stark ähneln bzw. gleichen. Durch die Flexibilität von Scrum und Kanban lassen sich Regeln und Vorgehensweisen nach Belieben hinzufügen und entfernen. Um den Entwicklungsprozess zu optimieren stellen sich Teams nützliche Merkmale zur Entwicklung von Software aus den beiden Methoden zusammen. Dies führt schnell zu der Mischform Scrum-ban.
Scrum-ban ist nicht genau definiert und es existieren kaum Literaturhinweise oder Vergleichsmaterialien. Dennoch zeigen Erfahrungen, dass in der Anwendung eine Mischung von Scrum und Kanban effektiver sein kann als der Einsatz von nur einer einzigen Methode[16].

3.5 Vergleich der Methoden anhand einer Nutzwertanalyse

3.5.1 Gesamtüberblick

Scrum und Kanban sind weder perfekt noch vollständig. Es sind Hilfsmittel, die einem nicht die Organisation abnehmen, sondern lediglich Grenzen und Richtlinien aufzeigen. Scrum und Kanban basieren auf denselben Lean Prinzipien. Sie beinhalten nur wenige Regeln, dennoch reichen diese meist für ein reelles Projekt nicht aus. Die Praxis zeigt, dass der Benutzer der Methoden meist eigene Regeln bzw. Prinzipien aufstellt und hinzufügt.
Beispielsweise gibt Scrum feste Zeitabschnitte (Sprints) und aus mehreren Funktionsbereichen zusammengesetzte Teams vor. Kanban hingegen setzt auf Visualisierung der Aufgaben mithilfe eines sogenannten Kanban-Board und auf Beschränkung der Anzahl von aktuell zu bearbeitenden Aufgaben.

Nachfolgend werden verschiedene Eigenschaften der Entwicklungsprozesse anhand einer Nutzwertanalyse aufgezählt, differenziert und bewertet. Je aufgeführte Eigenschaft ist eine Vergabe von 10 Punkten pro Prozess möglich. Dabei bedeutet 1 Punkt, dass der Entwicklungsprozess dieses Kriterium nicht ausreichend erfüllt und 10 Punkte bedeuten, dass der Entwicklungsprozess das Kriterium vollständig erfüllt.

3.5.2 Zielkriterienbestimmung

3.5.2.1 Planung und Kontrolle

Planung und Kontrolle beinhaltet die verschiedenen Artefakte und Meetings innerhalb der Softwareentwicklungsprozesse. Von 10 möglichen Punkten werden jeweils für Artefakte und Meetings 5 mögliche Unterpunkte vergeben
3.5.2.1.1 Artefakte

Die Entwicklungsmethode Scrum schreibt einige Artefakte zur Dokumentation von Anforderungen und Tasks vor, um den Überblick und die Kontrolle über das gesamte Projekt behalten zu können. Dabei finden Artefakte, wie das Product Backlog, Sprint Backlog, das Scrum-Board und das Burndown-Chart Anwendung. Kanban hingegen nutzt ausschließlich das Kanban-Board zur Organisation der Anforderungen bzw. Tasks. Zur Überwachung des Workzyklus wird aber wie in Scrum auch ein Brundown-Chart genutzt. Im Folgenden werden die verschiedenen Artefakte beschrieben und verglichen.

3.5.2.1.1.1 Product Backlog

Das Product Backlog enthält alle Anforderungen und Spezifikationen in der Form von Product Backlog Items, die vom Kunden gewünscht sind, ähnlich einer Agenda, die ständig nach Rentabilität vom Product Owner repriorisiert wird. Die im Product Backlog befindlichen Product Backlog Items werden üblicherweise in User Stories definiert und vom Scrum Team in ihrer Komplexität geschätzt. Dem Product Owner unterliegt die volle Verantwortung, dennoch besteht für Jeden die Möglichkeit, das Product Backlog einzusehen, um eine bessere Planung zu ermöglichen.
Vor jedem Sprint werden die Anforderungen mit den höchsten Prioritäten in Betracht gezogen und das Team wählt sich dann Stories in Anlehnung an die Summe der Story Points aus, die Sie denken in einem Sprint erledigen zu können.

3.5.2.1.1.2 Sprint Backlog

Das Sprint Backlog ist eine Liste mit Tasks(Aufgaben) die das Team definiert, um erfolgreich die vom Team ausgewählten Stories zu implementieren. Das Resultat am Ende des Sprints ist ein potentiell auslieferbares Product. Die Tasks werden kooperativ vom Team identifiziert und dann idealerweise in Story Punkten nach Komplexität und Zeitaufwand geschätzt.
Die Aufgabe des Scrum Masters ist es, die Schätzung für Tasks im Bereich von 0,5-2 Tagen zu halten, da auf Dauer die Konzentration der Teammitglieder nachlassen kann und somit falsche Schätzungen zu Stande kommen können.
Alle im voraussichtlich im Sprint benötigten Tasks müssen geplant und in das Sprint Backlog eingetragen werden. Da in der Softwareentwicklung meist nicht immer alles ohne neue Probleme(Bugs in der Software) abläuft, müssen daher Zeiten für Bug fixes mit eingeplant werden.

3.5.2.1.1.3 Kanban-Board
Abbildung 4: Kanban Tafel mit Beschränkung auf den Status "In Bearbeitung"
Abbildung 4: Kanban Tafel mit Beschränkung auf den Status "In Bearbeitung"

Das Kanban-Board ist das Organisationsmedium für Kanban. Auf ihm werden die Anforderungen bzw. Tasks festgehalten und durchlaufen dabei den Workflowzyklus von Kanban. Es werden drei verschiedene Status von links nach rechts auf dem Board gelistet:

  • To-Do
  • In Bearbeitung
  • Fertig

Die einzelnen Aufgaben durchwandern als Notiz von links nach rechts die Tafel bis zur Fertigstellung dieser Anforderung. Durch eine Zahl in der oberen Hälfte der mittleren Spalte "In Bearbeitung” (siehe Abbildung 4) wird die Anzahl an gleichzeitigen Arbeiten begrenzt. Solange sich z.B. zwei Anforderungen in dieser Station befinden darf keine neue Anforderung aufgenommen werden bis diese durch das Pull-System abgeholt werden[17]

3.5.2.1.1.4 Burndown-Chart
Abbildung 5: Burndown-Chart
Abbildung 5: Burndown-Chart

Bei Scrum wird die Abarbeitung der Sprints anhand eines Burndown-Charts in einer Kurve visualisiert. Jedes Item im Sprint Backlog hat einen geschätzte Bearbeitungszeit. Pro Tag wird der noch vorhandene Restaufwand eingetragen und es entsteht, idealerweise, eine fallende Kurve (deswegen der Name Burndown). Auf der X-Achse wird die Dauer des Sprints bzw. die benötigte Zeit für einen Sprint dargestellt. Auf der Y-Achse sieht man hingegen den Restaufwand. Die Einheiten lassen sich auch beliebig, z.B. durch Story Points, ersetzen.
So lässt sich gut verfolgen ob das Team noch im Zeitplan liegt oder ob Zeit aufzuholen ist um das vordefinierte Ziel zu erreichen.

Zwischenfazit
Betrachtet man die verschiedenen Artefakte, die zum größten Teil in Scrum benutzt werden, dann erkennt man, das Scrum eine organisiertere Softwareentwicklungsmethode ist. Durch die umfangreichen Artefakte lassen sich in Scrum genaue Abläufe für Sprints planen, Stories genau und detailliert beschreiben und priorisieren und Releases durch ein Burndown-Chart auf den Tag genau vorraussagen. Kanban hingegen nutzt als einziges Organisations- und Dokumentationsmittel das Kanban-Board. Der große Nachteil dabei ist, das bei großen Projekten schnell die Übersicht auf dem Kanban-Board verloren gehen kann. Wie Scrum nutzt Kanban ebenfalls ein Burndown-Chart um Releaseplanungen machen zu können.

Da Scrum Artefakte vorschreibt, die dem Nutzer von Scrum sehr viele Vorteile bringen, wird dieser Punkt von Scrum mit 4 Punkten bewertet. Kanban hingegen erhält nur 2 Punkte, da eine genaue und übersichtliche Planung bei großen Projekten nahezu ausgeschlossen ist.

Bewertung Artefakte
1
2
3
4
5
Scrum
X
Kanban
X
3.5.2.1.2 Meetings

Scrum schreibt im Gegensatz zu Kanban einige Meetings vor, um die Sprints zu planen, zu überwachen und Revue passieren lassen zu können. Dadurch können das Scrum Team, der Product Owner und die Stakeholder den Entwicklungsprozess überwachen, kontrollieren und verbessern. Zu den Meetings in Scrum zählen:

3.5.2.1.2.1 Sprint-Planung

Ein Sprint Planungs Meeting dient zur Planung eines anstehenden Sprints.
Zunächst präsentiert der Product Owner die Stories, die er gerne in dem folgenden Sprint von dem Team erledigt haben möchte, und das Team bestimmt dann, welche es für den Sprint akzeptiert. Das Meeting ist time-boxed und sollte deshalb nicht mehr als 4 Stunden dauern, wenn Beispielsweise ein Sprint 4 Wochen dauert.
Das Sprint Planungs Meeting ist mit einer groben Implementierungsplanung und einem Analyse- und Designworkshop gleichzusetzen. Anforderungen, die neu in das Product Backlog eingestellt wurden, werden vom Team geschätzt und akzeptierte Stories für den folgenden Sprint werden analysiert.
Im 2. Teil der Sprint-Planung werden vom Team die zuvor besprochenen und akzeptierten Stories für den folgenden Sprint in einzelne Arbeitsschritte (Tasks) aufgesplittet, vom Zeitaufwand geschätzt und an dem Scrum-Board festgehalten. Die Summe des Zeitaufwandes der einzelnen Tasks sollte dabei nicht die Summe der verfügbaren Arbeitszeit des Team für den folgenden Sprint überschreiten.
Das Ziel des Meetings ist 'Commitment' des Teams gegenüber dem Product Owner, über selektierte Product Backlog Items die zum Ende des Sprints 'done' (fertig) sind[18].

3.5.2.1.2.2 Daily-Scrum/Standup

Das in Scrum sogenannte Daily-Scrum Meeting unterscheidet sich von dem sogenannten Standup Meeting von Kanban in keinem Punkt.
Beide Entwicklungsmethoden nutzen dieses Meeting um täglich im Scrum Team/Kanban Team, zu einem festen Zeitpunkt für ca. 15Minuten, zusammen zu kommen. Dabei synchronisiert sich das Team, damit jeder Entwickler weiß, an welcher Story/Task der andere Entwickler zurzeit arbeitet und was am Vortag erreicht wurde. Somit kann Doppelarbeit vermieden werden.
Hat ein Entwickler Probleme in der Erfüllung eines Tasks/einer Story, so kann dies in dem Meeting angesprochen werden. Das Meeting dient dennoch nicht zur Problemlösung, sondern soll nur den Status bzw. Probleme der einzelnen Teammitglieder wiederspiegeln. Lösungsansätze von Problemen können nach dem Meeting z.B. in Peer-Programming(2 Entwickler sitzen zusammen um ein Problem zu lösen) entwicklet werden[19].
Daily-Scrum-bzw. Standup-Meetings wiederholen sich solange, wie das Projekt aktiv weiterentwickelt wird.

3.5.2.1.2.3 Sprint-Review

Das Sprint-Review Meeting wird in Scrum angewendet und ist gleichzusetzten mit einer Präsentation erledigter Arbeit.
Am Ende eines jeden Sprints setzten sich das Scrum Team, der Product Owner, die zukünftigen Anwender, die Geschäftsleitung und der Abteilungsleiter zusammen. Dabei präsentiert das Scrum Team, die am Anfang des Sprints festgelegten User Stories, welche vom Team als fertig und als umgesetzt angesehen werden. Es wird ausschließlich laufende Software gezeigt.
Es natürlich vorkommen, dass das Entwicklerteam eine Story als fertig ansieht, wobei der Product Owner diese aber als unfertig bewertet. Dies kann passieren, wenn die Funktionalität der Story nicht erfüllt ist, der Product Owner sich was ganz Anderes darunter vorgestellt hat, oder evtl. die Performance(Geschwindigkeit) der Software durch die Story zu langsam geworden ist.
Alle diese Kriterien bestimmen über abgenommene, oder im anderen Fall, fehlgeschlagene Stories. Daher sollten diese Kriterien vorher genau festgelegt werden, damit dem Team auch bewusst ist, dass Beispielsweise die Performance auch ein Abnahmekriterium ist[19].

3.5.2.1.2.4 Retrospektive

Eine Retrospektiven-Runde besteht aus dem eigentlichen Scrum Team, dem Scrum Master und dem Product Owner.
Am Ende jedes Sprints wird im Kreise des Scrum Teams besprochen, wie die Arbeit im nächsten Sprint noch weiter verbessert werden kann. Im Mittelpunkt steht dabei nicht das Ergebnis den Sprints(Erfolg oder Nichterfolg), sondern vielmehr der eigentliche Entwicklungsprozess und die Zusammenarbeit des Teams. Das Team blickt zurück und rekapituliert die während des letzten Sprints aufgetretenen Probleme, Ereignisse und Erfahrungen. Positive Erfahrungen werden dadurch offengelegt und dienen somit zusätzlich als Motivation für den nächsten Sprint.
Retrospektiven folgen dem 'Beobachten und Anpassen'-Prinzip und sollen dazu beitragen Entwicklungsprozesse kontinuierlich zu verbessern. Das Team entscheidet dabei selbst, welche Arbeitsweisen es behalten und in welche Richtung es sich weiterentwickeln will.
Mit der Durchführung einer Retrospektive investiert das Team in seine Zukunft, denn selbst sehr gute Teams können sich immer noch kontinuierlich weiterverbessern. Scrum-Teams streben(im Sinne der japanischen Lebens- und Arbeitsphilosophie Kaizen) nach ständiger Verbesserung.
Zusammenfassend kann man sagen, das es im groben Ablauf einer Retrospektive immer darum geht, Daten zu sammeln, Erkenntnisse zu gewinnen und aufbauend auf diesen Erkenntnissen Ziele zu bestimmen und Aktionen zu planen[20].

Die Retrospektive in Kanban verläuft hingegen sehr ähnlich wie in Scrum. Der einzige große Unterschied ist, dass in der Kanban Retrospektive keine Product Owner bzw. ScrumMaster etc. sitzen, sondern das Kanban-Team und deren Kunden.

Zwischenfazit
Unter Betrachtung der Anzahl von Meetings in Scrum im Vergleich zu Kanban, wird schnell deutlich, dass Kanban von Grund aus sehr wenig vorschreibt. Scrum nutzt diese Meetings um eine perfekte und gut organisierte Sprintplanung durchzuführen. Es werden Fehler und Probleme verringert und man bekommt Statusmeldungen über den Work in Progress(aktuell in Prozess befindliche Arbeit). Die Meetings in Scrum sorgen für größe Übersichtlichkeit der Sprints, schnelle Fehlerbehebung von Problemen und auch für gute Verständlichkeit der Stories für die Entwickler. Die Verständlichkeit der Stories ist sehr wichtig und deshalb wird eine Sprint Planung auch für einen halben Tag eingeplant, um wirklich auch die letzte offene Frage seitens der Entwickler zu beantworten.

Kanban hingegen setzt im Grunde nur auf das Standup Meeting und die Retrospektive. Ein Planungsmeeting wie in Scrum wird in Kanban nicht benötigt, denn User Stories werden direkt in das Kanban-Board aufgenommen und mit der Zeit abgearbeitet. Dabei finden keinerlei Schätzungen der einzelnen Stories statt. Da Scrum im Punkt Meeting viel Spektrum an Organisation und Übersichtlichkeit bietet werden hier 4 Punkte vergeben. Kanban hingegen erhällt nur 2 Punkte, da leider die Organisation und Übersichtlichkeit, sowie das Verständnis von Stories schnell bei großen Projekten in den Hintergrung gelangen kann.

Bewertung Meetings
1
2
3
4
5
Scrum
X
Kanban
X



3.5.2.2 Organisationsstruktur

Organisationsstruktur beinhaltet die Rollen- und Aufgabenverteilung innerhalb der Softwareentwicklungsprozesse. Da diese thematisch ineinander übergreifen, werden alle 10 möglichen Punkte ohne Aufteilung in Unterpunkte für die Organisationsstruktur selbst vergeben.
3.5.2.2.1 Scrum
3.5.2.2.1.1 Product Owner

Der Product Owner ist meist der Kunde, kann aber auch ein Mitarbeiter des Unternehmens sein. Zu seinen Hauptaufgaben zählen das Halten des regelmäßigen Kontakts zu Kunden, Anwendern und Stakeholdern[21], das Aufnehmen und Priorisieren der Anforderungen in das Product Backlog und die Definition der Abnahmekriterien.
Der Product Owner repräsentiert die Kundenbedürfnisse bzw. die fachliche Sicht und ist zusätzlich auch der erste Ansprechpartner im Unternehmen für alle Produktanforderungen, weswegen der regelmäßige Kontakt zu Kunden, Anwendern und Stakeholdern unbedingt erforderlich ist. Aufgrund dieser fortwährenden Kommunikation repräsentiert er auch das Scrum-Team nach außen, berichtet über den Projektstatus und ist für die Abstimmung mit anderen Projekten oder Produkten zuständig. Hierzu muss er folglich auch eng mit dem Team zusammenarbeiten.
Seine zweite Hauptaufgabe ist das Aufnehmen aller Produktanforderungen. Diese werden von ihm nach ihrem Business Value priorisiert und anschließend klar und eindeutig in das Product Backlog aufgenommen. Da der Product Backlog aber kein finalisiertes Anforderungsdokument ist, sondern vielmehr fortlaufend zu ergänzen ist, ist diese Aufgabe für den Product Owner vielmehr eine laufende Priorisierung.
Für diese Anforderungen muss der Product Owner gleichzeitig auch Abnahmekriterien definieren und bei erfolgter Entwicklung die Ergebnisse akzeptieren bzw. ablehnen[22]. Somit ist er für die Qualität des Produkts verantwortlich und entscheidet letztendlich auch über den Auslieferungszeitpunkt[1].

3.5.2.2.1.2 Scrum Master

Der Scrum Master ist Mitglied des Teams und der Verantwortliche für die Scrum-Regeln und erklärt Scrum. Zu seinen Hauptaufgaben zählen das Unterstützen des Teams und das Moderieren der Teammeetings.
Der Scrum Master unterstützt das Team und sorgt für eine bestmögliche Zusammenarbeit im Team. Außerdem versucht er die Störung des Teams bei ihrer Arbeit minimal zu halten. Um dies zu erreichen, kümmert er sich um die Probleme, die das Team selber nicht lösen kann, fordert Ressourcen an und schützt das Team vor äußeren Einflüssen. Zusätzlich dazu Treibt er das Team zur Verbesserung der Prozesse an[1].
Diese Verbesserungen sollen vor allem durch die Teammeetings am Ende jedes Sprints, die einen wertfreien Überblick über Erfahrungen und Verbesserungspotential zur Erhöhung der Motivation und des Wissens für den nächsten Sprint bieten, erreicht werden.

3.5.2.2.1.3 Team

Das Team ist funktional übergreifend besetzt, setzt die Anforderungen aus dem Product Backlog um und organisiert und kontrolliert sich dabei selbst. Darunter fällt auch, dass es selbst über die Anforderungsmenge je Sprint entscheidet und die Aufwände der Product Backlog-Elemente selbst schätzt. Es verpflichtet sich nach erfolgter Aufwandschätzung zur Fertigstellung des Produkt Inkrements innerhalb des Sprints und hält die Schätzungen laufend aktuell. Um dies gewährleisten zu können bespricht es sich regelmäßig im Daily Scrum, wodurch ihm auch gleichzeitig die Möglichkeit gegeben ist, sich kontinuierlich zu verbessern[1].


Zwischenfazit
Die vorgeschriebene Rolleneinteilung von Scrum bietet Stabilität in den Projektstrukturen. Vor allem, wenn regelmäßig IT-Projekte mit Scrum durchgeführt werden, finden sich die Teilnehmer sehr schnell in ihre Rolle ein und können trotz Agilität eine Routine aufbauen. Durch den Product Owner ist es möglich eine Flexibilität in den Anforderungen zu gewähren, so dass eventuell noch gewünschte Verbesserungen bzw. Anpassungen seitens des Kunden, der im Product Owner einen konkreten Ansprechpartner hat, schnell in den Anforderungsbestand aufzunehmen und alle äußeren Störfaktoren werden durch den Scrum Master so gering wie möglich gehalten. Das Team kann sich demnach während der Sprints alleinig auf die Programmierung bzw. die Produkterstellung fokussieren.

Die Organisationsstruktur in Scrum ist vorgegeben und sinnvoll durchdacht. Sie bietet Stabilität für die Beteiligten und setzt den Fokus auf das Entwicklerteam. Aus den eben genannten Gründen wird für die Organisationsstruktur von Scrum 8 Punkte vergeben.



3.5.2.2.2 Kanban
Zwischenfazit
In Kanban ist keine konkrete Organisationsstruktur vorgegeben, sie basiert vollständig darauf, dass sich das Team selbst organisiert. Demnach kann die Organisationsstruktur gemäß dem Bedarf des Projektes angepasst werden und Rollen hinzugefügt oder sogar erfunden werden. Erfahrungswerte zeigen jedoch, dass es sinnvoll ist, wenn es mindestens eine Person im Projekt gibt, die sich für den Kanban-Prozess verantwortlich fühlt und diesen und die Prinzipien Kanbans versteht. Im Gegensatz zu Scrum kann dies hier ein Projektleiter, externer Coach, ein Produktmanager oder sogar ein Scrum Master sein[23].

Diese Flexibilität ist allerdings nur für erfahrene Projektmitarbeiter von Vorteil, denn, da es keine konkreten Beschränkungen gibt, kann man sich zwar z.B. an den Rollen von Scrum orientieren, um eine Struktur zu bekommen, aber es ist Praxiserfahrung notwendig, um eine geeignete Rollenaufteilung für ein agiles Projekt aufzustellen. Folglich können fehlende Richtlinien bzw. fehlende Rollen für das Projekt auch unproduktiv oder sogar kontraproduktiv sein.
Aus dem Grund, dass es keine feste Rollenaufteilung in Kanban gibt und somit die Organisationsstruktur den Projektmitarbeitern ohne jegliche Richtlinien überlassen wird, erhält Kanban in dem Punkt Organisationsstruktur 5 Punkte.

Bewertung Organisationsstruktur
1
2
3
4
5
6
7
8
9
10
Scrum
X
Kanban
X



3.5.2.3 Projektsteuerung

Projektsteuerung beinhaltet die Organisation, die Geschwindigkeit und den Zeitaufwand. Von 10 möglichen Punkten für die Projektsteuerung, werden für die Organisation 6 und für die Geschwindigkeit 4 Unterpunkte vergeben.
3.5.2.3.1 Organisation
Abbildung 6: Projektsteuerung Scrum
Abbildung 6: Projektsteuerung Scrum
Abbildung 7: Projektsteuerung Kanban
Abbildung 7: Projektsteuerung Kanban

In Scrum beginnen die Stakeholder die Produktentwicklung mit einer klaren Produktvision. Der Product Owner ist für den ökonomischen Erfolg des Produktes verantwortlich. Dieser erstellt aus den Anforderungen der Stakeholder sogenannte Userstories und priorisiert diese im Product Backlog. Natürlich bindet er alle relevanten Parteien früh in die Definition der Produktvision und des Product Backlogs ein. Der Product Owner bleibt aber immer der „Herr“ über das Product Backlog.
Zu Beginn jedes Entwicklungszyklus, bei Scrum der sogenannte Sprint, findet das sogenannte Sprint Planning Meeting statt. Darin vereinbaren der Product Owner und das Entwicklungsteam, welche Anforderungen aus dem Product Backlog im Sprint erledigt werden sollen. Diese Anforderungen werden in das Sprint Backlog übertragen und vom Entwicklungsteam anschließend in einzelne Task aufgesplittet und jeweils in User Story Points geschätzt um einen genauen Zeitplan(Burndown Diagramm) für den Sprint erhalten zu können. User Story Points sind dabei relative Werte, die den Entwicklungsaufwand einer User Story, im Vergleich zu einer Anderen, darstellen. Wichtig ist, dass sich Product Owner und das Entwicklungsteam auf das Sprint Backlog committen[24]. Entscheidungsgrundlage ist hierbei die angenommene Velocity des Teams. Diese gibt vor, wie viele Story Points das Team in folgendem Sprint abarbeiten und als erfolgreich erledigen kann. Beispielsweise bedeutet eine angenommene Velocity von 8 Punkten, dass das Team User Stories mit einer Summe von maximal 8 Story Points annehmen kann.
Die Velocity ist dabei der Faktor in kumulierten User Story Points der innerhalb eines Sprints von dem Team abgearbeitet werden kann und von Sprint zu Sprint genauer wird. Die Betrachtung der Velocity innerhalb der Sprint Planung garantiert, dass Schätz- und Planungsfehler vermieden werden.
Das dahinterstehende Prinzip ist, sich die in einem zurückliegenden Sprint abgearbeiteten User Stories anzuschauen und deren Punktesumme als Basis für die Velocity des nächsten Sprints zu nehmen.
Im Laufe eines Sprints kann das Team somit auf feste Werte zurückblicken und beobachten, ob Sie sich eventuell zu viele Anforderungen, mit in der Summe zu vielen Story Points, vorgenommen haben. Das Team kann daraus lernen und gegebenenfalls die Entwicklungsgeschwindigkeit für den nächsten Sprint von vornherein auf weniger Story Points drosseln.
Ein Sprint hat eine feste, immer gleiche, Länge(z.B. 3 Wochen). Die Entwicklung erfolgt in direkt aufeinanderfolgenden Sprints. Das selbstorganisierte Team arbeitet während des Sprints störungsfrei an der Abarbeitung des Sprint Backlogs. Das bedeutet auch, dass während eines Sprints keine neuen oder geänderten Anforderungen an das Team gestellt werden.

Zwischenfazit
Die Organisation in Scrum ist stringent geregelt und baut auf einem komplexen Regelwerk auf. Sowohl der Ablauf des Projektes, als auch der Ablauf eines Sprints und sogar der Ablauf eines Tages sind im Groben vorgegeben und werden ohne große Zeit an Dokumentationen zu verschwenden geplant. Es gibt eine leicht verständliche, klare Abfolge bzw. ein klares Vorgehen im Projekt und Orientierungshilfen, die das Team vor Überlastung schützen. Das Burndown Diagramm ist ein Zeitplan und ein Kontrollwerkzeug zugleich, da man an ihm schnell visuell feststellen kann, ob man im Zeitplan ist, den Verlauf des gesamten Projektes verfolgen kann und sofort bemerkt, wenn es Komplikationen gibt. Das iterative Vorgehen verlangt jeweils am Ende jeder Iteration die Reflexion des vergangenen Sprints und ermöglicht so in jeweils festen Abständen seine Vorgehensweise zu überdenken und gegeben falls abzuändern, ohne gleich die Struktur des Projektes verändern zu müssen. Gleichzeitig bergen feste Iterationsintervalle aber auch das Risiko, sich trotz Aufteilung in Story Points mit der Velocity als Limit durch ungenaue Aufwandschätzungen zu viel oder zu wenig Arbeit pro Intervall vorzunehmen. Da ein Sprint nicht abgebrochen bzw. verlängert werden kann, ist eine sehr genaue Schätzung erforderlich, die sich zwar je nach Scrum- und Projekterfahrung verbessern kann, aber gerade bei ‚Scrum-Anfängern‘ zu Komplikationen führen kann.

Aufgrund der Stringenz der Planung und dem gut durchdachten Ablauf, der nur durch seine Starrheit im Bereich der Iterationen geschmälert wird, wird Scrum im Punkt Organisation mit 5 Punkten bewertet.


In Kanban werden die einzelnen Prozessschritte in unterschiedliche Spalten, am besten auf einem Whiteboard visualisiert. Wobei der Workflow von links nach rechts verläuft.
In dem Kanban-Board(Beispiel Abb. Projektsteuerung Kanban) sind die Prozessschritte das Backlog. Alle Prozessschritte, die gesammelten Anforderungen, die Programmierung, die fertige Programmierung, das Testen, fertige Tests und die Auslieferung werden hier abgebildet.
Die Anforderungen werden auf Notizzetteln festgehalten. Dabei spielt es keine Rolle, ob mit Features, Tasks oder, wie in diesem Fall, mit Stories gearbeitet wird. Die Anforderungen laufen als Ticket durch die unterschiedlichen Prozessschritte und wandern mit der Zeit von links nach rechts über das Kanban-Board.
Mit der Zeit wird ein Pull-System etabliert und die Menge an paralleler Arbeit begrenzt. Diese Begrenzung führt dazu, dass die einzelnen Tickets schneller erledigt werden, weil nicht parallel an anderen Tickets gearbeitet werden kann und, weil blockierte Tickets auf Dauer nicht ignoriert werden können. Die Tickets werden stets aus den vorgelagerten Stationen gezogen. Dabei gilt, dass neue Tickets nur dann gezogen werden dürfen, wenn vorher bestehende Tickets abgearbeitet wurden. Der Work in Progress, also die Menge an paralleler Arbeit, sollte am jedem Prozessschritt konstant bleiben. So wird gewährleistet, dass alte Aufgaben auch wirklich erledigt sind, bevor mit neuen begonnen wird. Das Pull-System gewährleistet außerdem einen wirksamen Schutz vor Überlastungen, da sich an keinem Prozessschritt jemals mehr Tickets befinden, als realistischer Weise in kurzer Zeit abgearbeitet werden können.

Zwischenfazit
Die zentrale Projektorganisation bei Kanban findet mit Hilfe des Kanban-Boards statt. Es kann auf einen Blick gesehen werden, wie weit das Backlog bereits abgearbeitet wird und welche Anforderungen noch in die Software implementiert werden müssen. Gleichzeitig können so sehr schnell Bottlenecks[25] erkannt und Gegenmaßnahmen eingeführt werden.

Außerdem wird eine Überlastung der Mitarbeiter durch das Pull-System minimiert. Hierbei muss man allerdings beachten, dass ein gefülltes Backlog, d.h. eine große Anzahl an Notizzetteln mit Anforderungen, die sich alle ganz links am Kanban-Board befinden, was gerade zu Anfang des Projektes unabdingbar ist, einen großen psychischen Druck ausüben kann. Dieser kann zu einer falschen Einschätzung der noch zu erledigenden Arbeit im Hinblick auf die für das Projekt festgesetzte Zeit seitens der Mitglieder des Teams führen.

Die Organisation von Kanban ist zugleich simpel und effizient. Es wird hier im Vergleich zu Scrum kaum etwas für den Projektablauf vorgeschrieben, was für ein großes Maß an Flexibilität sorgt. Kanban wird in dem Punkt Organisation mit 4 Punkten bewertet.

Bewertung Organisation
1
2
3
4
5
6
Scrum
X
Kanban
X



3.5.2.3.2 Geschwindigkeit

Die immer gleiche Länge der Sprint in Scrum führt zu einer guten Vergleichbarkeit, sodass - insbesondere aus der Geschwindigkeit der bisherigen Iterationen - ziemlich genau die Geschwindigkeit der nächsten Sprints prognostiziert werden kann.
Die Limits für einige Prozessschritte auf dem Kanban-Board sorgen dafür, dass Probleme schnell sichtbar werden und zwingen alle Teammitglieder umgehend Lösungen für diese Probleme zu finden. Für fortgeschrittene Teams stellen die Limits darüber hinaus Regler dar, mit denen der Fluss stetig verbessert und die Durchlaufzeiten immer weiter verkürzt werden können.
Um sich zu verbessern und schneller zu werden, werden in beiden Entwicklungsmethoden täglich sogenannte „Daily-Scrum Meetings“ bzw. in Kanban, auch wenn keine Meetings zwangsweise vorgeschrieben sind, sogenannte „Standup Meetings“ durchgeführt. So begutachtet das Team täglich die Fortschritte auf dem Scrum- bzw. Kanban-Board, diskutiert insbesondere über blockierte Tickets und diskutiert Maßnahmen, um sowohl die konkreten Blockaden, als auch die tieferliegenden Ursachen zu beseitigen.
In größeren Abständen werden außerdem Retrospektiven durchgeführt, in denen das Team über Prozessverbesserungen reflektiert und konkrete Verbesserungsmaßnamen beschließt.
Scrum als auch Kanban nutzen beide Visualisierungsmöglichkeiten, wie Statistiken oder Diagramme, die den Workflowzyklus wiederspiegeln. Sie sollen Auskunft darüber geben, wie viele Storys/Tasks im letzten Workflowzyklus oder in Scrum im letzten Sprint fertiggestellt werden konnten und wie sich die Menge an paralleler Arbeit mit der Zeit verändert hat. Somit kann man nachhaltig auf Unregelmäßigkeiten reagieren und letztlich die Geschwindigkeit des nächsten Sprints bzw des gesamten Projekts erhöhen.

Zwischenfazit
Bei beiden Entwicklungsmethoden nimmt die Geschwindigkeit bedingt durch die zunehmende Erfahrung bei Fortschreitung des Projekts zu.

In Scrum wird generell eine gleichbleibend schnelle Abarbeitung der Kundenanforderungen angestrebt (siehe Gerade im Burndown Diagramm). Die Story Points werden am Anfang des Projekts Sprint Planning Meeting so pro Sprint eingeteilt, dass eben diese Gerade als Idealkurve entsteht. Je besser die Schätzung, desto näher kommt die Entwicklungskurve der Gerade. Jedoch ist hier anzumerken, dass durch z.B. die Retrospektive und das eben genannte Sprint Planning schon allein in der Theorie ca. 8 Stunden des Beginns jedes Sprints für die Planung und das Feedback zu beanspruchen sind, in der Praxis sich dies aber auf durchschnittlich 2 Tage beläuft. Gerade bei kleineren bzw. kürzeren Projekten ist dies wertvolle Zeit, wo keinerlei Code erstellt wird.
In Kanban wird die Geschwindigkeit hingegen durch die Limitierung der Tickets pro Station gesteuert. Die Limits werden durch die gemessenen Durchlaufzeiten der bisher abgearbeiteten Tickets bestimmt. Dies beansprucht weitaus weniger Zeit, als die Planung bei Scrum. Folglich ist die Geschwindigkeit von Kanban seitens der von der Theorie angedachten Projektstruktur viel höher, da der Projektfortschritt nicht am Anfang jeder Iteration auf null sinkt. Deswegen erhält Kanban vier Punkte bei Geschwindigkeit und Scrum zwei Punkte.

Bewertung Geschwindigkeit
1
2
3
4
Scrum
X
Kanban
X



3.5.2.4 Umgang mit komplexen Projekten

Umgang mit komplexen Projekten beinhaltet den Projektumfang, Projektbesonderheiten und die benötigte Teamgröße. Für Projektumfang werden von 10 möglichen Punkten 4, für Projektbesonderheiten 2 und für Teamgröße und Teamorganisation 4 Unterpunkte vergeben.
3.5.2.4.1 Projektumfang

Der Projektumfang bezeichnet die Anforderungen an die zu entwickelnde Software.
Scrum nimmt die Kundenanforderungen des Projektes in das Product Backlog auf. Bei steigendem Projektumfang wird zwar das Product Backlog proportional komplexer, jedoch bleibt die Übersichtlichkeit durch die Aufwandschätzung und iterationsweise Aufteilung in das Sprint Backlog gegeben.
Kanban hingegen zeigt den Projektumfang in Form von User Stories am Kanban-Board auf. Je größer der Projektumfang wird, desto unübersichtlicher wird die Darstellung am Kanban-Board.

Zwischenfazit
Folglich wird im Kriterium Projektumfang Scrum mit 4 Punkten und Kanban mit 1 bewertet.
Bewertung Projektumfang
1
2
3
4
Scrum
X
Kanban
X



3.5.2.4.2 Projektbesonderheiten

Die Projektbesonderheiten sind Anforderungen der Stakeholder an die Software, die extravagant und außergewöhnlich sind.
In Scrum werden diese, wie alle anderen Anforderungen, in das Product Backlog aufgenommen. Anschließend priorisiert der Product Owner diese Anforderungen nach ihrer Wichtigkeit im Bezug auf die Fertigstellung des Projektes und auf ihren Business Value. Zusätzlich schätzt das Team den Aufwand der Anforderung für jeden Sprint. Auf diese Weise werden Projektbesonderheiten ihrer Komplexität bzw. ihrem Aufwand entsprechend bewertet und können frühzeitig in die Projektplanung mit einfließen.

In Kanban wird normalerweise keine Aufwandschätzung betrieben, können jedoch bei Bedarf vorgenommen werden. Der Grund hierfür liegt darin, dass es bei Anforderungen aus dem Product Backlog keine Gewissheit gibt, ob bzw. wann die Produktanforderungen bearbeitet und umgesetzt werden, so dass Aufwandschätzungen in Kanban überdies z.T. als Vergeudung angesehen werden. In Kanban hingegen wird viel mehr der Focus auf die Schätzung des Zeitpunktes für die Fertigstellung der Anforderung gelegt. Diese Schätzung basiert dann auf den bisher empirisch gemessenen durchschnittlichen Durchlaufzeiten und lässt sich mit der Wahrscheinlichkeit für die Termintreue konkretisieren und belegen[23].

Zwischenfazit
Beide Methoden haben effiziente Vorgehensweisen für den Umgang mit Projektbesonderheiten. Die Vorgehensweise von Scrum allerdings beruht einzig und allein auf Erfahrungswerten des Teams und des Product Owners. Jedoch kann in Anforderungen mehr Arbeitsaufwand stecken, als bei der ersten Schätzung ohne genauere Analyse angenommen wurde. Die Vorgehensweise von Kanban hingegen orientiert sich noch mehr an den agilen Prinzipien und die hier getroffenen Schätzungen basieren auf dem bisherigen Projektfortschritt und empirischen Messungen.

Aus diesem Grund wird im Kriterium Projektbesonderheiten Scrum mit 1 Punkt und Kanban mit 2 bewertet.

Bewertung Projektbesonderheiten
1
2
Scrum
X
Kanban
X



3.5.2.4.3 Teamgröße und Teamorganisation

Ein Scrum Team besteht normalerweise aus 5-9 Personen[1]. Wenn das Projekt allerdings einen Komplexitätsgrad erreicht, bei dem mehr als vier Softwareentwickler benötigt werden, eignet sich Scrum besonders gut. Der Grund hierfür sind die regelmäßigen Meetings von Scrum, die den Prozess strukturieren. Da diese Meetings feste Termine und ein Zeitlimit haben, passiert es hier nicht, dass sie ausufern oder den temporären, unerwarteten Abbruch der Arbeit. Zudem ist klar definiert, welche Aufgaben auf welche Sitzungen verteilt wurden. Folglich existiert eine klare Struktur, so dass zum Beispiel in den täglichen Scrum-Meetings ein regelmäßiger Informationsaustausch stattfindet.
Scrum bietet außerdem eine Möglichkeit zur verteilten Produktentwicklung. Bei dieser Möglichkeit gibt es weiterhin ein gemeinsames Product Backlog und ein gemeinsam zu erstellendes Produkt, aber die Teams werden verteilt und dadurch findet eine Optimierung der Skalierbarkeit von großen Projekten statt. Scrum sieht hier vor ein ‚Scrum of Scrums‘ zu bilden. Bei diesen täglichen Meetings synchronisieren sich die Teams untereinander[6].

In Kanban gibt es keinerlei Beschränkung bezüglich der Teamgröße. Es findet eine Synchronisierung der Aufgabenabarbeitung über das Kanban-Board statt, sodass auch mehrere Teams gleichzeitig an einem Produkt arbeiten können. Durch das Pull-Prinzip und die Übersichtlichkeit der Aufgabenverteilung durch das Kanban-Board ist sogar eine implizite Teilsynchronisierung vorhanden, die die Möglichkeit von Redundanzen minimiert[6].

Zwischenfazit
Während Scrum auf Synchronisierung mehrerer Teams und innerhalb des eigenen Teams durch täglichen Informationsaustausch in Meetings mit Zeitlimit setzt, setzt Kanban auf visuelle Synchronisierung mit Hilfe des Kanban-Boards. Der visuelle Informationsaustausch hat den Vorteil, dass er nur einen Augenblick an Zeit beansprucht und individuell von jedem Projektmitarbeiter einzeln ausgeführt werden kann. Jedoch ist anzumerken, dass bei steigender Teamgröße bzw. Teamanzahl die Übersichtlichkeit durch das Kanban-Board nicht mehr gewährleistet ist. Bedingt durch diesen und weitere Faktoren haben sich, auch wenn nicht explizit in den Richtlinien festgelegt, in der Praxis auch regelmäßige Meetings etabliert. Diese Meetings sind denen von Scrum sehr ähnlich. Dieser Informationsaustausch benötigt zwar weitaus mehr Zeit, aber ist dafür ausführlicher und bietet die Möglichkeit Synergieeffekte bzw. Erfahrungen anderer Teammitglieder zu nutzen und so die Effizienz des Projektes zu steigern, die so die länger in Anspruch genommene Zeit ausgleichen kann. Dass in der Praxis beide Entwicklungsprozesse diese Meetings anwenden, zeigt, dass die Vorteilhaftigkeit den Zeitaufwand überwiegt.

Aus diesem Grund wird im Punkt Teamgröße Scrum mit 4 Punkten und Kanban mit 3 Punkten bewertet.

Bewertung Teamgröße und Teamorganisation
1
2
3
4
Scrum
X
Kanban
X



3.5.2.5 Dauer der Einführung

Dauer der Einführung beinhaltet den Einführungsprozess und den damit verbundenen Aufwand. Da diese thematisch ineinander übergreifen, werden alle 10 möglichen Punkte ohne Aufteilung in Unterpunkte für die Dauer der Einführung selbst vergeben.


Für die Einführung von Scrum empfiehlt sich zuerst ein Pilotprojekt zu verwenden, um die Vorteile, auftretende Hindernisse und Reibungspunkte mit der bestehenden Organisation zu erkennen. Anschließend sollte die Organisation gemäß der Erfahrungen aus dem Pilotprojekt entscheiden, ob und in wie weit Scrum auf weitere Projekte ausgedehnt werden soll. Bei erfolgreichen Pilotprojekt sollte die Ausdehnung etappenweise mit i.d.R. Mitglieder des Pilotprojekts als Unterstützung geschehen. Es sollten weiterhin Überlegungen stattfinden, ob es bei der angrenzenden Organisation vor- oder nachgelagerte Prozesse gibt, die in die neuen Scrum-Projekte integriert oder nach Scrum organisiert werden sollen.
Hierbei ist jedoch zu beachten, dass in den ersten Scrum-Projekten zwar die Scrum-Techniken und –Meetings etabliert sind, aber die Reflexion, also das Denken der kontinuierlichen Verbesserung, noch nicht verinnerlicht wurde. Folglich ist nach Etablierung der Scrum Techniken, das Herstellen dieser Reflexion und die Maximierung des Nutzen der Retrospektive der nächste Schritt.
Für eine längerfristig erfolgreiche Einführung von Scrum muss eine flache Aufwandskurve sichergestellt werden, d.h., dass die neue Anforderungen keinen exponentiellen Kostenzuwachs hervorrufen.

Für die Einführung von Kanban haben sich in der Praxis zwei erste Schritte etabliert. Das wären zum einen die bisherige Wertschöpfungskette zu modellieren und die bisher in Projekten vorkommenden Stationen visuell darzustellen. Anschließend können grob aus der bisherigen Projekterfahrung Limits für einzelne Stationen festgelegt werden. Hierbei ist es wichtig, dass die Produktivität und die Durchlaufzeiten beobachtet werden, so dass Bottlenecks erkannt und eine Anpassung der Limits schrittweise durchgeführt werden kann. Da diese Anpassung regelmäßiges Feedback erfordert, haben sich in der Praxis tägliche Standup-Meetings durchgesetzt. Außerdem werden oft Reihenfolgen für die Abarbeitung der individuellen Kundenanforderungen, so genannte ‚Service Level Agreements’, eingeführt[8].

Zwischenfazit
Durch das umfangreiche Regelwerk von Scrum ist die Einführung sehr komplex und zeitaufwendig. Aus diesem Grund wird Scrum mit 4 Punkten. Kanban hingegen hat ein sehr einfaches Einführungsprinzip, das zuerst eine kurze Überlegungs- und anschließend eine längere Test- und Erprobungsphase als Hauptbestandteile hat. Im Vergleich zu Scrum ist Kanban hier jedoch weitaus einfacher und schneller einzuführen, wobei zusätzlich zu beachten ist, dass nach der Überlegungsphase Kanban schon aktiv, wenn auch noch lange nicht optimal, eingesetzt wird. Aus diesen Gründen wird Kanban bei Dauer der Einführung mit 9 Punkten bewertet.
Bewertung Dauer der Einführung
1
2
3
4
5
6
7
8
9
10
Scrum
X
Kanban
X



3.5.2.6 Verständlichkeit/Einfachheit der Entwicklungsprozessmethode

Verständlichkeit/Einfachheit der Entwicklungsprozessmethoden bezeichnet die Transparenz und den Grad der Komplexität der beiden Softwareentwicklungsprozesse. Da keine Aufteilung erfolgt, werden alle 10 möglichen Punkte für dieses Vergleichskriterium vergeben.

Die Verständlichkeit für eine Methode ist allgemein besser, sobald weniger Regelwerk befolgt werden muss. Folglich ist Kanban mit seinen drei Hauptprinzipien eine sehr leicht verständliche Methode. Im Gegensatz zu Scrum gibt es z.B. keine geregelten Sprints mit bestimmten Intervallen, sondern nur einen kontinuierlichen Arbeitsablauf.
Dass der Komplexitätsgrad von Scrum weitaus höher, als der von Kanban ist, ist schon allein daran festzumachen, dass Scrum in Unternehmen ohne vorherige Schulung überhaupt nicht effektiv eingeführt werden kann. Vor allem der Scrum Master muss das umfangreiche Regelwerk von Scrum verinnerlicht haben, da ihm die Aufgabe zukommt, Scrum zu erklären.

Zwischenfazit

Kanbans geringer Komplexitätsgrad lässt sich außerdem an dem geringen Aufwand erkennen, der nötig ist, um Kanban in einem Unternehmen einzuführen, da nur wenige Faktoren zu der Einführung dieser Entwicklungsprozessmethode beitragen müssen und Kanbans Flexibilität es zulässt, eine individuelle Anpassung an die Organisationsstruktur des Unternehmens vorzunehmen. Die Verständlichkeit bzw. Einfachheit des Vorgehens von Kanban als Prozessmanagement Tool in einem Unternehmen ist nicht so komplex wie die Verständlichkeit bzw. Einfachheit von Scrum, da weniger Vorschriften für den Ablauf eines Projektes vorgegeben sind und somit mehr Freiheiten in der Gestaltung und Ausführung der Arbeit existieren.
Folglich wird Kanban mit 10 Punkten und Scrum mit 2 Punkten bewertet.

Bewertung Verständlichkeit/Einfachheit der Entwicklungsprozessmethode
1
2
3
4
5
6
7
8
9
10
Scrum
X
Kanban
X



3.5.2.7 Produktivität/Effizienz der Entwicklungsprozesse

Auf dem letzten Vergleichskriterium - Produktivität/Effizienz der Entwicklungsprozesse - liegt der Fokus der agilen Softwareentwicklung und somit auch der Fokus von Scrum und Kanban. Es ist ein einzelnes zu bewertendes Kriterium, sodass alle 10 möglichen Punkte ohne Aufteilung in Unterpunkte für dieses Vergleichskriterium vergeben werden.


Die Effizienz der Entwicklungsprozesse ist nicht direkt aus der Theorie ableitbar. Um aussagekräftige Vergleiche ziehen zu können, wäre hier weitreichende praktische Erfahrung notwendig. Weiterhin ist zu beachten, dass, aufgrund der hohen Flexibilität beider Methoden, hier auch keine pauschale Aussage im Komparativ getroffen werden kann. Aus der Theorie ist lediglich zu erkennen, dass der Produktivität die höchste Bedeutung zukommt. Da dies aber für beide Methoden gilt, wird im Folgenden eine eigene Schätzung zur Produktivität abgegeben, die die Erkenntnisse der bisherigen Analyse als Basis hat:


Zwischenfazit

Sowohl in Scrum, als auch in Kanban wird versucht, Arbeit, die einem Produkt keinen Wert hinzufügt, zu minimieren. Während Kanban dies in seiner reinsten Form befolgt, indem die gesamte Organisation auf dem Kanban-Board stattfindet und die einzig vorgeschriebene Arbeit, die nicht direkt der Entwicklung des Produktes dient, aus der Erstellung der Tickets mit den Anforderungen, sowie der Verschiebung dieser auf dem Board, besteht, kann hier von hoher Effizienz gesprochen werden. Das Pull-System sorgt für eine konstante Auslastung aller beteiligten Mitarbeiter ohne sie zugleich zu überlasten. Allerdings ist diese Methode aufgrund ihrer Einfachheit auch sehr begrenzt. Es können zwar Probleme erkannt werden, doch Synergie- und Lerneffekte, die durch Informations- und Erfahrungsaustausch auftreten können, werden mit dieser Methode nicht erzielt.
Scrum hingegen setzt explizit auf diese Effekte und will sie durch regelmäßige Meetings fördern. Die Meetings geben dem Entwicklungsprozess gleichzeitig eine feste Struktur, sodass Verwirrung aufgrund von Unregelmäßigkeiten nicht auftritt. Jedoch verbrauchen die Meetings gleichzeitig wieder Zeit, in der nicht an dem Produkt gearbeitet werden kann. Wie in der Projektsteuerung beschrieben dauert die Planung jedes Sprints ca. 1-2 Tage.
Ob und in wie weit die Synergie- und Lerneffekte der Meetings den Zeitaufwand aufwiegen ist fraglich, allerdings ist in vielen Betrieben, die Kanban als Entwicklungsprozess einsetzen, zu erkennen, dass sie auch regelmäßige Meeting-Strukturen verwenden. Bei Unternehmen hingegen, die Scrum einsetzen, sind Kanban-Elemente, wie zum Beispiel das mittlerweile weit verbreitete Scrum-Board, zu erkennen. Diese Erweiterung von Kanban um mehr Struktur mit einem Hang zu weniger Produktivität und die Ausdehnung von Scrum auf weitere visuelle Faktoren, verringert die ohnehin geringe Diskrepanz der beiden Methoden und lässt den Schluss zu, dass sich viele der Prinzipien und Elemente beider Methoden gut ergänzen.
Schlussendlich ist jedoch Scrum gerade bei komplexeren Projekten produktiver als Kanban, weil Scrum durch sein striktes und umfangreiches Regelwerk weniger Fragen offen lässt und dem Team auch Motivation bzw. Druck durch eine klare Vorgabe gibt, wie viel es in welcher Zeit geschafft haben muss. Gerade bei den Anforderungen in Form von User-Stories bleiben keine Fragen mehr offen, da diese detailliert in den Meetings besprochen und auch öfter gesplittet werden, als dies in Kanban der Fall ist. Folglich wird Scrums Produktivität mit neun von zehn Punkten und Kanbans Effizienz mit sieben von zehn Punkten bewertet.

Bewertung Dauer der Einführung
1
2
3
4
5
6
7
8
9
10
Scrum
X
Kanban
X



3.5.3 Zielkriteriengewichtung

Scrum und Kanban wurden in sieben Kriterien verglichen und bewertet. Alle Kriterien zusammen haben eine Gewichtung von 100%.

Planung und Kontrolle

Planung und Kontrolle beinhaltet die verschiedenen Artefakte und Meetings innerhalb der Softwareentwicklungsprozesse und wird mit 15% gewichtet, da die Meetings und Artefakte wichtige Rollen in beiden Softwareentwicklungsprozessen einnehmen und die Teammitglieder in ihren Aufgaben unterstützen und die Produktivität der Projekte erhöhen.

Organisationsstruktur

Organisationsstruktur beinhaltet die Rollen- und Aufgabenverteilung innerhalb der Softwareentwicklungsprozesse. Sie wird mit 5% gewichtet, da die Rollen nur minderwichtig für das Projekt und in Kanban noch nicht einmal explizit vorhanden sind.

Projektsteuerung

Projektsteuerung beinhaltet die Organisation, die Geschwindigkeit und den Zeitaufwand. Sie wird mit 20% gewichtet, da sie den Großteil der Eigenschaften umfasst, die Scrum und Kanban ausmachen.

Umgang mit komplexen Projekten

Umgang mit komplexen Projekten beinhaltet den Projektumfang, Projektbesonderheiten und die benötigte Teamgröße. Dieser Punkt wird mit 15% gewichtet, weil gerade die Softwareentwicklung in den letzten Jahren stark an Komplexität zugenommen hat und entsprechende Projekte immer größer und komplexer werden, so dass dies auch ein Kriterium für das zukünftige der Entwicklungsprozessmethode ist.

Dauer der Einführung

Dauer der Einführung beinhaltet den Einführungsprozess und den damit verbundenen Aufwand. Da dies pro Unternehmen in der Regel nur einmal geschieht, wird dieser Punkt mit 5% gewichtet.

Verständlichkeit/Einfachheit der Entwicklungsprozessmethode

Verständlichkeit/Einfachheit der Entwicklungsprozessmethoden bezeichnet die Transparenz und den Grad der Komplexität der beiden Softwareentwicklungsprozesse. Da Projekte nur in den seltensten Fällen simpel konstruiert sind und oft durch noch komplexere System gesteuert und organisiert werden, wird dieser Punkt mit 5% gewichtet.

Produktivität/Effizienz der Entwicklungsprozessmethode

Produktivität/Effizienz der Entwicklungsprozessmethode steht für Fokussierung der Softwareentwicklungsmethode auf das zu erstellende Produkt und die Effizienz, mit der vorhandene Ressourcen genutzt werden, um das Produkt zu erstellen. Da dies der wichtigste Punkt der agilen Softwareentwicklung ist und von Scrum und Kanban jeweils mit der selben Priorisierung übernommen wurde, wird dieses Vergleichskriterium mit 35% gewichtet.

3.5.4 Ermittlung der Nutzwerte

Abbildung 6: Nutzwerte
Abbildung 6: Nutzwerte

4 Schlussbetrachtung

Die Ausarbeitung der Nutzwertanalyse, Vergleich zwischen Scrum und Kanban, hat gezeigt, dass Scrum im Vergleich zu Kanban etwas besser abschneidet. Es gibt verschiedene Anforderungen zu Softwareentwicklungsmethoden. Zu entwickelnde Software kann so komplex werden, dass Kanban nicht mehr ausreicht. Für weniger komplexe Projekte eignet sich Kanban sehr gut. Das Kanban-Board ist die kleinste Möglichkeit, sich in einem Team zu synchronisieren. Eine Prämisse ist hier, dass das gesamte Kanban-Team in dem selben Büro sitzt, da die Kanban-Tafel nicht aufgesplittet werden kann. Kanban findet oft Anwendung in Wartungsprojekten, da sich hier das Produkt meist nur noch bei Bedarf weiterentwickelt. Ein kontinuierlichen Workflow an Tasks ist meist nicht gegeben.

Scrum hingegen eignet sich besonders für Projekte mit einer hohen Komplexität, bei denen es auch durchaus vorkommen kann, dass immer wieder Änderungen im Product Backlog eingestellt werden, die eine vollständige Umstrukturierung der Software zur Folge haben können. Das die Softwareentwicklungsmethode Scrum gut mit hoher Komplexität von Projekten zurecht kommt, liegt daran, das Sie einen Pool an Prinzipien und Regeln vorschreibt, der den Workflowprozess koordiniert und strukturiert. Spielregeln in Scrum führen zu höherer Akzeptanz der regelmäßigen Meetings und sorgen dafür, dass ein organisierter und kontrollierter Workflow entsteht. Somit bleiben Sprint und Releases zeitlich kalkulierbar. Vor allem die kurzen Sprint-Meetings(Daily Scrum) sorgen für einen ständigen Informationsaustausch und führen zur Synchronisation der Teammitglieder untereinander. Jeder weiß, was der Andere gerade macht, eventuell gemacht hat und wo er vielleicht Probleme hat und Hilfe benötigt.

5 Fußnoten

  1. 1,0 1,1 1,2 1,3 1,4 1,5 vgl. http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf
  2. vgl. Manifesto for Agile Software Development http://agilemanifesto.org/
  3. vgl. http://openviewpartners.com/team/jeff-sutherland/
  4. vgl. http://www.opitz-consulting.com/kompetenzen/agile_methoden_und_scrum.php
  5. Pull-System (pull engl. ziehen/holen):Hol-System
  6. 6,0 6,1 6,2 6,3 vgl. Berchez/Kapp: Kriterien für eine Entscheidung für Scrum oder Kanban
  7. vgl. http://tmi.pst.ifi.lmu.de/thesis_results/0000/0040/DA-WOLFM-QUALITAET-AGIL.pdf
  8. 8,0 8,1 vgl. http://www.it-agile.de/scrum.html
  9. vgl. http://www.awf.de/download/Kanban-Hilfsmittel-Weigang.pdf
  10. vgl. http://www.helmut-schiffer.de/homepage/kanban/kb_erlaeuterung_text.htm
  11. vgl. http://www.it-agile.de/kanban.html
  12. vgl. http://www.personalkanban.com/pk/primers/what-is-a-kanban/
  13. vgl. http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf
  14. vgl. http://leansoftwareengineering.com/ksse/scrum-ban/
  15. vgl. http://www.devcon-hamburg.de/wp-content/uploads/2011/05/2011-05-20-Scrumban.pdf
  16. vgl. http://www.infoq.com/presentations/kanban-for-software/
  17. vgl. http://if-blog.de/bf/scrum-vs-kanban-1-of-2/
  18. vgl. "Scrum mit USER STORIES", S. 123-125
  19. 19,0 19,1 vgl. "Scrum mit USER STORIES", S. 30-40
  20. vgl. "Scrum mit USER STORIES", S. 179-182
  21. vgl. Zu den Stakeholdern gehören z.B. Kunden, Marketing, Vertrieb und Technik
  22. vgl. Fertig-Definition(Definition of Done): Eine für jedes Projekt geltende, individuelle Definition als Basis für die Abnahme eines Codes, der Bestandteil des Vertrages zwischen Product Owner (oder dem Kunden) und dem Team ist. Sie hilft vor allem bei der Einhaltung von Qualitätsstandards und dient der Polaisierung von Code (Fertig<=>nicht fertig)
  23. 23,0 23,1 vgl. www.it-agile.de
  24. vgl. commit(engl. sich verpflichten)
  25. vgl. Bottleneck(engl. Flaschenhals):In Kanban: Stationen, bei denen sich Arbeit staut.

6 Quellen- und Literaturverzeichnis

Anderson (2009) Anderson , David J: Homepage von InfoQ.com, Vereinigte Staaten, A Kanban System for Software Engineering, http://www.infoq.com/presentations/kanban-for-software/, 13.06.2011, 18:10
Andrezak et al. (2010) Andrezak , Markus; Roock , Arne; Wolf, Henning: Gedämpfte Schritte; Evolutionäre Entwicklung mit Software-Kanban; in: iX 2010, Heft Nr. 1, S. 108
Beedle (2011) Beedle, Mike: Homepage der Agile Alliance, Manifest für Agile Softwareentwicklung, http://agilemanifesto.org/, 12.06.2011, 18:53
Bepple et al. (2011) Bepple, Alex et al.: Homepage der it-agile GmbH, Deutschland, Die Experten für agile Softwareentwicklung; Was ist Scrum?, Was ist Kanban? http://www.it-agile.de/, 05.06.2011, 18:55
Berchez et al. (2011) Berchez, Jean Pierre; Kapp, Uta: Homepage der HLSC UG, Deutschland, Kriterien für eine Entscheidung für Scrum oder Kanban, http://www.scrum-events.de/whatisscrum/index.php, 14.06.2011, 13:53
Eickmann (2011) Eickmann, Marion: Geregelte Selbstbestimmung, Ein Plädoyer für agile Softwareentwickung mit Scrum, in: iX Special, Programmieren heute, 2010, Heft Nr. 1, S. 82
Findeiss (2009) Findeiss, Bernhard: Scrum vs. Kanban (1/2), http://if-blog.de/bf/scrum-vs-kanban-1-of-2/, 14.06.2011, 15:57
Benson (2009) Benson, Jim: Homepage der Modus Cooperandi und Jim Benson, Vereinigte Staaten, What is a Kanban?, http://www.personalkanban.com/pk/primers/what-is-a-kanban/, 16.06.2011, 04:53
Jansson (2011) Jansson, Sven: Homepage der Softhouse Consulting, Schweden, Scrum in five Minutes, http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf, 30.05.2011, 21:53
Ladas (2008) Ladas, Corey: Homepage von Corey Ladas, Scrum-ban, Vereinigte Staaten, http://leansoftwareengineering.com/ksse/scrum-ban/, 2008, 16.06.2011, 01:02
Leopold (2011) Leopold, Klaus: Homepage von heise Developer, Deutschland, Software-Kanban im Einsatz - Das etwas andere Kochrezept, http://www.heise.de/developer/artikel/Software-Kanban-im-Einsatz-1235465.html/, 2011, 16.06.2011, 12:02
Kniberg (2009) Kniberg, Henrik: Homepage der Crisp AB, Schweden, Kanban vs Scrum, http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf, 2009, 16.06.2011, 00:02
Kniberg et al. (2010) Kniberg, Henrik; Skarin, Mattias: Kanban and Scrum – making the most of both, Lulu Enterprises Inc., 2010
Schiffer (2011) Schiffer, Helmut: Internetpräsenz von Helmut Schiffer, Erläuterungen zu Kanban, Deutschland, http://www.helmut-schiffer.de/homepage/kanban/kb_erlaeuterung_text.htm, 15.06.2011, 18:43
Schilling (2011) Schilling , Benny: Homepage der NetImpact Framework GmbH, Deutschland, Scrumban, http://www.devcon-hamburg.de/wp-content/uploads/2011/05/2011-05-20-Scrumban.pdf, 15.06.2011, 19:00
Sutherland (2011) Sutherland, Jeff: Homepage der OpenView Venture Partners, Vereinigte Staaten, http://openviewpartners.com/team/jeff-sutherland/, 15.06.2011, 19:15
Winterberg (2011) Torsten, Winterberg: Homepage der OPITZ CONSULTING GmbH, Deutschland, Agile Methoden und SCRUM, http://www.opitz-consulting.com/kompetenzen/agile_methoden_und_scrum.php, 12.06.2011, 14:47
Wolf (2009) Wolf, Matthias: Diplomarbeit, Sicherstellung von Qualität in der agilen Softwareentwicklung, http://tmi.pst.ifi.lmu.de/thesis_results/0000/0040/DA-WOLFM-QUALITAET-AGIL.pdf, 30.09.2009
Wirdemann (2009) Wirdemann, Ralf: Scrum mit USER STORIES, Carl Hanser Verlag München Wien, 2010
WEIGANG-Vertriebs-GmbH (2011) WEIGANG-Vertriebs-GmbH: Homepage der WEIGANG-Vertriebs-GmbH, Deutschland, KANBAN Ein Baustein zur wirtschaftlichen Fertigungssteuerung, http://www.awf.de/download/Kanban-Hilfsmittel-Weigang.pdf, 04.06.2011, 17:27
Persönliche Werkzeuge