Projektmanagement 2. Vorgehensmodelle

Slides:



Advertisements
Ähnliche Präsentationen
Themen Backlog V Psychologische Aspekte (T03) Beispielhafte Themenstellungen: IT ist meist nicht auf gleicher Augenhöhe wie Fachbereich.
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Integrations- und Funktionstests im Rahmen des V-Modelles
Das V - Modell - Überblick
V - Modell Anwendung auf große Projekte
Vorgehensmodell & Wasserfallmodell in der Programmierung
Phasen und ihre Workflows
Vorgehensmodell - Wasserfallmodell
Von David Keß, Heinrich Wölk, Daniel Hauck
Das „Vorgehensmodell“
V-Modell XT - Ein Überblick
Wirksames Projekt-Management.
Software-Lebenszyklus
Teamwork Teamarbeit, Gruppenarbeit
Konzeption und Realisierung eines Software Configuration Management Systems Autor: Alex Rempel Referent: Prof. Dr. Elke Hergenröther Korreferent: Prof.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Risiken und Chancen Risiko Beurteilung: Dazu gehört die Identifikationen von Risiken, ihre Analyse und das Ordnen nach Prioritäten. Risiko Kontrolle: Dazu.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
RUP-Elemente (Schlüsselkonzepte)
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Das V - Modell - Überblick
Rational Unified Process (RUP) - Definitionen
eXtreme Programming (XP)
Grundlagen und Konzepte zur Umsetzung
Erfahrungen der Profil 21- Schulen (nach 3 Jahren QmbS) Abfrage am Reflexionsworkshop
Einführung von Groupware
Software Design Patterns Extreme Programming (XP).
Konzept der Fort- und Weiterbildung für die SeelsorgerInnen im Bistum Münster Hauptabteilung 500, Seelsorge - Personal Gruppe 512, Fortbildung Hermann.
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Der Vertriebs-Check Nachhaltige Personalentwicklung
Ehrenamtliche Tätigkeit bzw. Freiwilligenarbeit in Wetter (Ruhr)
8.1 Planungscoaching: Wofür ist die Methode einsetzbar und wofür nicht
Vorgehensmodell mit Scrum-Elementen
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
WINTEGRATION®.
VORGEHENSMODELLE.
PM Camp Rhein-Main 28. und 29. Juni 2013 Facilitated by Tilman MoserCC-BY-3.0 Alexey Krivitsky
IKP Uni Bonn Medienpraxis EDV II Internet-Projekt
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
IT Kosten Reduzierung und effizientere Dienstleistungen Wir optimieren Strukturen und Prozesse und reduzieren dabei Ihre IT Kosten Ihr OPTICONSULT International.
Lernen durch Vergleiche
Rational Unified Process
Raphael Schatzmann, Christoph Bihr, Roger Hiestand, René Pelosi, 9
Melanie König 5Minds IT-Solutions GmbH & Co. KG
Melanie König 5Minds IT-Solutions GmbH & Co. KG
xRM1 Pilot Implementierung
Referat „Extreme Programming“
Agile Softwareentwicklung
Scrum Andreas Voraberger.
Scrum Christian Theisen.
Test-Driven Development
IPERKA 6 Schritt- Methode
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
Softwareentwicklungs - Vorgehensmodell
SCRUM Informatik IF1 A. Neck.
Projektmanagement 0. Vorbemerkungen 1 © Prof. Dr. Walter Ruf.
Projektmanagement 2. Vorgehensmodelle Dozentenversion!!!
Was sind Verbesserungs-Workshops?
Hero Quest Verwaltungstool -Projektmanagement Projektplanung für Softwareprojekte: KLips 2.0 Dozent: Prof. Dr. phil. Manfred Thaller Referent: Alexander.
On the edge, we need to soar or dive, or we will fall.
 Präsentation transkript:

Projektmanagement 2. Vorgehensmodelle © Prof. Dr. Walter Ruf

2. Vorgehensmodelle in IT-Projekten 2.1 Grundlagen für Vorgehensmodelle 2.2 Sequentielle Vorgehensmodelle 2.3 Inkrementelles Vorgehensmodell 2.4 Iterative, inkrementelle Entwicklung 2.5 Agile Softwareentwicklung 2.5.1 Kennzeichen und Ziele der Agilität 2.5.2 Werte der agilen Softwareentwicklung 2.5.3 Die 12 Prinzipien des agilen Manifestes 2.5.4 Vergleich „klassisches PM“ vs „agiles PM“ 2.5.5 Überblick zu agilen Methoden 2.6 Ausgewählte agile Methoden 2.6.1 Exterme Programming (kurze Whlg.) 2.6.2 Scrum 2.6.3 Software-Kanban 2.6.4 Fazit © Prof. Dr. Walter Ruf

2. Vorgehensmodelle in IT-Projekten Lernziele von Kapitel 2 In diesem Kapitel wird die fundamentale Bedeutung von Vorgehensmodellen beschrieben. Der Leser lernt die Grundstrukturen kennen und kann später konkrete Vorgehensmodelle auf ein eigenes IT-Projekt hin anpassen. Zu allen Modellen werden die immanenten Vor- und Nachteile erkannt. Zusammengefasst: Das sollten Sie nach diesem Kapitel wissen: Was sind Vorgehensmodelle und woraus setzen sie sich zusammen? Wie wird ein sequentielles Vorgehensmodell gebildet? Welche Kennzeichen hat das Wasserfallmodell? Über welche Struktur verfügt ein inkrementelles Vorgehensmodell? Was verbirgt sich hinter einem iterativen, inkrementellen Vorgehensmodell? Sie können die Funktionsweise von agilen Methoden und hier speziell von Extreme Programming darstellen. Wie kann eine Softwareentwicklung nach dem V-Modell XT erfolgen? © Prof. Dr. Walter Ruf

2.1 Grundlagen für Vorgehensmodelle © Prof. Dr. Walter Ruf

2.2 Sequentielle Vorgehensmodelle © Prof. Dr. Walter Ruf

Kennzeichen der sequentiellen Vorgehensmodelle Am Ende einer Phase steht ein Phasenprodukt, das geprüft werden kann. Die Nachfolgephase wird gestartet, wenn die Vorgängerphase abgeschlossen ist. Die erstellten IT-Systeme können nach Abschluss der Entwicklung gegen die in der Spezifikation aufgestellten Anforderungen geprüft werden. © Prof. Dr. Walter Ruf

Wasserfallmodell © Prof. Dr. Walter Ruf

2.3 Inkrementelles Vorgehensmodell Die inkrementelle Softwareentwicklung ist dadurch gekennzeichnet, dass ein komplexes IT-System in sinnvolle, selbständig entwickelbare Teile, die nacheinander oder parallel erstellt werden, aufgeteilt wird. © Prof. Dr. Walter Ruf

2.3 Inkrementelles Vorgehensmodell © Prof. Dr. Walter Ruf

2.4 Iterative, inkrementelle Softwareentwicklung © Prof. Dr. Walter Ruf

2.5. Agile Softwareentwicklung agil [lat.], von großer Beweglichkeit; geistig wendig; schnell; flink Idee: Optimierung der Softwareentwicklung durch „leichtgewichtige“ (ligthtweight) Methoden 2001 Agiles Manifest 17 Berater und Entwickler treffen sich in Utah www.agilemanifesto.org Es wurden zentrale Werte und Prinzipien festgeschrieben, die bei einer agilen Softwareentwicklung zu beachten sind. © Prof. Dr. Walter Ruf

2.5.1 Kennzeichen und Ziele agiler Verfahren bauen auf dem Grundmodell der inkrementellen Entwicklung auf während der Entwicklung kommt es immer wieder zu Modifikationen Modifikationen und die Auslieferung lauffähiger Softwareversionen laufen parallel zueinander ab Auftraggeber und Entwickler arbeiten eng zusammen wenig Dokumentation Anwendung in kleinen Teams (< 10 MA) © Prof. Dr. Walter Ruf

2.5.2 Werte der agilen Softwareentwicklung linke Seite rechte Seite 1. Individuen und Interaktionen sind mehr als Prozesse und Werkzeuge 2. Funktionierende Software ist mehr als umfassende Dokumentation 3. Zusammenarbeit mit dem Kunden ist mehr als Vertragsverhandlung 4. Reagieren auf Veränderung ist mehr als das Befolgen eines Plans Die Bedeutung der linken Seite wird höher eingeschätzt als die Bedeutung der rechten Seite (in Anlehnung an das Agile Manifest) http://agilemanifesto.org/iso/de/manifesto.html © Prof. Dr. Walter Ruf

2.5.3 Die 12 Prinzipien des agilen Manifestes Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden. Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne. Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten. Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteam zu übermitteln, ist im Gespräch von Angesicht zu Angesicht. © Prof. Dr. Walter Ruf

Die 12. Prinzipien des Agilen Manifestes (Fortsetzung) Funktionierende Software ist das wichtigste Fortschrittsmaß. Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können. Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität. Einfachheit ist essenziell. Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams. In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an. Agile Manifest http://agilemanifesto.org/iso/de/manifesto.html © Prof. Dr. Walter Ruf

2.5.4 Vergleich „klassisches PM“ vs. „agiles PM“ Äderungen nur durch Change Reques-Verfahren. Ein priorisierter Arbeitsvorrat (Backlog) enthält Teilaspekte. Umsetzung durch Planung und Ausführung von kleinen, abgeschlossenen Teilprojekten. Änderungen im Ablauf jederzeit möglich. Pröpper, N.: Agile Techniken für klassisches Projektmanagement, S. 33 © Prof. Dr. Walter Ruf

„klassischer“ Projektverlauf: „agiler“ Projektverlauf © Prof. Dr. Walter Ruf

2.5.5 Überblick zu agilen Methoden Extreme Programming Gefordert wird Software mit einem langfristigen Nutzen. Man will auf sich ändernde Anforderungen schnell und präzise reagieren. SCRUM Es wird akzeptiert, dass der Softwareentwicklungsprozess eigentlich nicht genau vorhersehbar ist. Software Kanban Feature Driven Development (FDD) … © Prof. Dr. Walter Ruf

Linkliste Websites von Autoren: Wolf, H.; Bleek, W.-G.: Agile Softwareentwicklung – Werte, Konzepte und Methoden; dpunkt-Verlag, 2. Auflage 2011 www.henningwolf.de www.wolfgideonbleek.de © Prof. Dr. Walter Ruf

2.6 Ausgewählte agile Methoden Extreme Programming Scrum Software-Kanban © Prof. Dr. Walter Ruf

2.6.1 Extreme Programming (kurze Whlg.) „Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation“ (Jeffries, R.: (2001), Abruf am 7.5.2007). © Prof. Dr. Walter Ruf

Wertestruktur beim Extreme Programming Kommunikation Einfachheit Feedback Mut © Prof. Dr. Walter Ruf

Wertestruktur beim Extreme Programming © Prof. Dr. Walter Ruf

Techniken im Extreme Programming Managementtechniken Kunde vor Ort (customer on site) Planungsspiel (planning game) Kurze Releasezyklen (short releases) Retrospektive (retrospective) Teamtechniken Metapher (metaphor) gemeinsame Verantwortlichkeiten (common ownership) Fortlaufende Integration (continuous integration) Programmierstandards (coding standards) Nachhaltiges Tempo (sustainable pace) Programmiertechniken Test (testing) Einfaches Design (simple design) Refactoring Programmieren in Paaren (pair programming) © Prof. Dr. Walter Ruf

Beispiel zu Stories Bei Extreme Programming beschreibt der Auftraggeber die Anforderungen für Stories. Jede Story beschreibt einen konkreten Vorfall, der für den Betrieb des Produktes notwendig ist. Beispiel: Parkhaus“-Story: Der Fahrer bleibt an der geschlossenen Schranke stehen und fordert einen Parkschein an. Hat er diesen entnommen, ¨offnet sich die Schranke Der Fahrer passiert die Schranke, die sich wieder schließt. Weitere Situationen (volles Parkhaus, Stromausfall. . . ) werden ebenfalls durch eigene Stories beschrieben. © Prof. Dr. Walter Ruf

Typische Rollen bei XP Programmierer Kunde Projektleiter © Prof. Dr. Walter Ruf

Zusammenfassung und Wertung XP wird in die Gruppe der iterativen, inkrementellen Vorgehensmodelle eingeordnet. Das Modell weist Merkmale von Prototypingmodellen auf. Eignet sich wenn Anforderungen am Anfang nur „vage“ sind oder sich schnell ändern. Ein Release erstreckt sich über 1 – 3 Monate Nachteile © Prof. Dr. Walter Ruf

Besondere Vorteile von XP Testfälle vor der Implementierung / kontinuierliche Tests Mut für Neues Programmierung in Paaren hat zur Folge, dass: Paare produzieren bessere Qualität Paare sind schneller fertig vgl. Williams et al., Strengthening the Case for Pair-Programming, IEEE Software, 2000 http://www.st.cs.uni-saarland.de/edu/lehrer/xp.pdf © Prof. Dr. Walter Ruf

2.6.2 Scrum Scrum = Gedränge; Begriff aus dem Rugby Mit Scrum verbindet man die Namen Ken Swaber, Jeff Sutherland und Mike Beedle 2001 veröffentlichten Swaber / Beedle das Buch „Agile Software Development with SCRUM“ © Prof. Dr. Walter Ruf

2.6.2.1 Rollen 1. Product Owner 2. Team 3. Scrum Master Formulierung, Auswahl und Priorisierung der Anforderungen an ein neues Softwareprodukt => Produktverantwortliche (verantwortlich für das Produkt-Backlog) Im Idealfall steht er dem Projekt in Vollzeit zur Verfügung. 2. Team überwiegend Entwickler, die für die Umsetzung der Anforderungen eigenverantwortlich zuständig sind. Das Team verhandelt mit dem Product Owner welche Anforderungen in welcher Zeit erledigt werden. selbstorganisiertes, eigenverantwortliches Team 3. Scrum Master unterstützt den Product Owener und das Team bei der Projektdurchführung. (Er sollte kein Teammitglied sein – „Diener“ des Teams) verantwortlich für die Prozesse bei der Umsetzung © Prof. Dr. Walter Ruf

Scrum – Rollen und deren Beziehungen Wirdemann, R.: SCRUM mit User Stories; 2. Auflage, S. 37 © Prof. Dr. Walter Ruf

2.6.2.2 Scrum Prinzipien Transparenz Beobachten und Anpassen sämtliche Aspekte, die den Prozess oder das Ergebnis beeinflussen sollen, sichtbar dargestellt werden. Umsetzung u.a. mit Sprint Backlog, Daily Scrum, … Beobachten und Anpassen der Prozess, das Team und die produzierten Ergebnisse werden ständig beobachtet. Umsetzung u.a. mit Codereviews, Unit Tests, Sprint Reviews Bei relevanten Abweichungen muss sofort reagiert werden. Timeboxing Managementtechnik, bei der ein bestimmtes Zeitbudget für alle Tätigkeiten zugeordnet wird. Das Zeitende „ist in Stein gemeisselt“. Umsetzung u.a. Sprints mit fixer Dauer; Daily Scrum = 15 Min.; Sprint Planning Meeting = 1 Tag; © Prof. Dr. Walter Ruf

Scrum Prinzipien Dinge abschließen Maximierung vom Geschäftswert abgeschlossene Stories werden als „done“ bezeichnet. Stories, die am Sprintende nicht fertig sind, wandern zurück ins Produktbacklog Umsetzung durch Product Backlog, Taskboard Maximierung vom Geschäftswert von Anfang an soll der Kunde von dem kontinuierlich geschaffenen Mehrwert profitieren die Planungsphase wird auf ein Minimum reduziert Umsetzung durch Product Backlog; Priorisierung von User Stories Team scheitert nicht keiner macht Fehler freiwillig. Aus Fehlern will man lernen. Umsetzung durch reduzierte Entwicklungsgeschwindigkeit und die Frage: „Was geht noch?“ Ergebnisorientierung es zählt, was am Ende herauskommt! Umsetzung durch: Produktvision wird durch Sprints umgesetzt. Innerhalb der Sprints werden User Stories umgesetzt © Prof. Dr. Walter Ruf

Begriffe Product Backlog User Story zentrales Werkzeug für die Planung und Priorisierung von Anforderungen im Scrum-Projekt User Story beschreibt eine Anforderung an ein Softwaresystem wird in der „Sprache des Kunden“ formuliert Beisp. Entwicklung eines Personalinformationssystems: Beschäftigte können ihr eigenes Profil erfassen und verwalten Falsch: Die Software wird in Java geschrieben Falsch: Die Anwendung muss auf zwei Applikationsservern laufen © Prof. Dr. Walter Ruf

2.6.2.3 User Story eignen sich für eine iterative Entwicklung besteht aus 3 Teilen Story-Karte 1 Satz zur Anforderungsbeschreibung Konversation (Abstimmung mit den Entwicklern) Konversation eignen sich für eine iterative Entwicklung © Prof. Dr. Walter Ruf

User Story Karteikarten (z.B. A5-Format) werden am Whiteboard platziert können Details durch Aufzählungen beinhalten handschriftliche Karten können einfach ergänzt / verändert werden auf der Rückseite können Akzeptanzkriterien (vom Product Owner und Team) aufgetragen werden Während der Entwicklung dürfen Vorder- und Rückseite verändert werden Mitarbeiter soll sein eigenes Profil verwalten. PDF-Formular-Upload Welche Felder? Freischaltung vom Admin Anschrift und Kommunikations- parameter sind Pflichtfelder Wahlfelder für Hobby und berufliche Interessen Wahlfelder für Erfahrungen Vorderseite Rückseite © Prof. Dr. Walter Ruf

User Story Qualitätseigenschaften guter User Stories Begriff User Stories sollen: I Independent - unabhängig voneinander sein N Negotiable - verhandelbar sein V Valuable - einen Wert für den Kunden haben E Estimatable - schätzbar sein S Small - klein und übersichtlich sein T Testable - selbständig testbar sein © Prof. Dr. Walter Ruf

2.6.2.4 Projektablauf bei Scrum Scrum im Überblick © Prof. Dr. Walter Ruf

2.6.2.4 Projektablauf bei Scrum Ausgangspunkt ist die Vision von einem Produkt Projektanforderungen können von allen Projektbeteiligten erstellt werden. Produkt-Backlog Sprint Backlog © Prof. Dr. Walter Ruf

Sprint Abarbeitung der Anforderungen aus dem Sprint Backlog Sprintdauer immer von gleicher Länge (z.B. 30 Tage) keine neuen oder geänderten Anforderungen während eines Sprints tägliche Abstimmung innerhalb des Teams (15 Minuten, festgelegter Ort); „Daily Scrum Meeting“ Jeder beantwortet die Fragen: Was habe ich seit dem letzten Daily Scrum Meeting getan? Was werde ich bis zum nächsten Meeting machen? Was behindert mich? es findet keine Diskussion statt (nur Klärung von Verständnisfragen) Präsentation der Ergebnisse nach dem Sprint beim Product Owner Durchführung eines Sprintreviews. daraus können sich neue Anforderungen für das Backlog ergeben „Lessons Learned“ gewonnene Erkenntnisse für die nächste Sprintplanung (z.B. Aufwandschätzungen) © Prof. Dr. Walter Ruf

Sprint Planung jeder Sprint beginnt mit einem eintägigen Sprint-Planning Meeting Product Owner stellt dem Team die Stories vor, die im nächsten Sprint bearbeitet werden.l Sprint-Planning setzt sich zusammen aus: Sprint-Planning 1 (Dauer: 4 h; Vormittag) es geht um die Frage „WAS“ wird im nächsten Sprint gemacht Sprint-Planning 2 (Dauer: 4 h; Nachmittag) es geht um die Frage „WIE“ werden die Aufgaben umgesetzt die zur Umsetzung erforderlichen Tasks werden ermittelt. Die Tasks werden im Sprint-Backlog festgehalten (To-do-Liste für den nächsten Sprint) Der Zeitaufwand für die einzelnen Tasks wird geschätzt. © Prof. Dr. Walter Ruf

Übersicht zum Scrum-Projektablauf Wolf, H.; Bleek, W.-G.: Agile Softwareentwicklung; 2011, S. 164 © Prof. Dr. Walter Ruf

Burndown Chart Sprintverlauf tägliche Aktualisierung © Prof. Dr. Walter Ruf

Retrospektive nach dem Sprint Ziel: Schrittweise und kontinuierliche Verbesserung des Entwicklungsprozesses Zentrale Fragen: Was haben wir gut gemacht? Was können wir das nächste Mal verbessern? Teilnehmer: Scrum Master (Leiter), Team und möglichst Product Owner Dauer: 3 h wird oft am letzten Tag des Sprints durchgeführt Ergebnis: Aktionspläne und geordneter Abschluss © Prof. Dr. Walter Ruf

Taskboard Story to do in process to verify done © Prof. Dr. Walter Ruf Entwicklungs-umgebung einrichten done Benutzerprofil verwalten Login und Identifikation Lohnabrech-nungsdaten einsehen Benutzerprofil verwalten Benutzerprofil verwalten Domainaus- wahl und Re-gistrierung Steuerbe- scheinigungen erstellen © Prof. Dr. Walter Ruf

Tools für Scrum Scrumwise https://www.scrumwise.com/scrum/ © Prof. Dr. Walter Ruf

2.6.3 Software-Kanban Kanban = [jap.] Karte Änderungen in Softwaresystemen sollen „evolutionär“ und nicht „revolutionär“ erfolgen. Änderungen in kleinen Schritten in Abstimmung mit den Teammitgliedern. Die Anzahl an paralleler Arbeit soll vermieden werden. Kanban enthält keine Iterationsschritte Kanban verwendet kein Rollenkonzept © Prof. Dr. Walter Ruf

Prinzipien von Software-Kanban Visualisierung Darstellung der Prozessschritte (z.B. Analyse, Entwicklung, Test, Deployment) auf einem Kanban-Board. Board enthält „Haftzettel“ oder „Karteikarten“, die als Tickets das Board durchlaufen. Auf den Tickets kann man den Bearbeiter festhalten. Durch die Visualisierung hat man einen transparenten Überblick und erkennt Überlaststellen. Wolf, H.; Bleek, W.-G.: Agile Softwareentwicklung; 2011, S. 172 © Prof. Dr. Walter Ruf

Beispiel 2: Kanban-Board Rook, A.: Software-Kanban, in: ProjektMagazin; http://www.projektmagazin.de/node/996703/#visualisierung; abgerufen am 2.1.2013 © Prof. Dr. Walter Ruf

Prinzipien des Software-Kanban (Fortsetzung) Pull statt Push die Tickets sollen vom Ende her betrachtet und von dort aus „gezogen“ werden. Ein Entwickler nimmt sich das nächste Ticket, wenn er eine Aufgabe erledigt hat. Vorteile: Entwickler werden nicht mit offenen Aufgaben überhäuft. Dadurch lassen sich „Stress-“Fehler vermeiden. keine dauerhafte Überlastung © Prof. Dr. Walter Ruf

Prinzipien des Software-Kanban (Fortsetzung) Begrenzung paralleler Arbeit Will man den Durchsatz steigern, so muss man die Anzahl an parallel ablaufenden Aufgaben begrenzen. Damit die Tickets möglichst schnell durchlaufen wird eine Begrenzung der Tickets in den Prozessschritten festgelegt. An der aktuellen Spaltensumme erkennt man gut Engpassprobleme. max: 6 6 6 6 © Prof. Dr. Walter Ruf

Prinzipien des Software-Kanban (Fortsetzung) Erhebung solider Daten Es wird großen Wert auf die Erhebung von verlässlichen Daten gelegt. Die eingesetzten Metriken sind abhängig vom Projektkontext. Beisp. für Metriken: Durchlaufzeiten, Durchsatz, Fehlerraten häufig verwendet: Cumulative Flow Diagramme LT = Lead Time (beschreibt „Time to Market“) WIP = Work in Progress http://www.google.de/imgres?imgurl=http://open.bekk.no/wp-content/uploads/2009/11/CFD-annotated.001.png&imgrefurl=http://open.bekk.no/cumulative-flow-diagrams-with-google-spreadsheets/&h=582&w=750&sz=64&tbnid=wjbhGejCLzrl1M:&tbnh=91&tbnw=117&zoom=1&usg=__i6lLHJAxqb4u-AGEjqW06keKj6U=&docid=cM0Z7dkZTJD9qM&sa=X&ei=L4PkULXiJYfcsgbQ9IGoDQ&ved=0CDkQ9QEwAA&dur=47; abgerufen am 2.1.2013 © Prof. Dr. Walter Ruf

Prinzipien des Software-Kanban (Fortsetzung) Kaizen Durchführung von kontinuierlichen Verbesserungsmaßnahmen Alle Teammitglieder dürfen Verbesserungsvorschläge einbringen. weitere Basiselemente tägliche Standup-Meetings regelmäßige Retrospektive (Operations Reviews) © Prof. Dr. Walter Ruf

2.6.4 Fazit Software-Kanban ist nicht eine eigenständige Methode, sondern wird in Zusammenhang mit anderen Methoden (Scrum, Extreme Programming, oder sogar dem Wasserfallmodell) verwendet. Scrumban = Kombination von Scrum und Kanban (C. Ladas 2008) Kanban stellt damit eine gute Möglichkeit dar, eine traditionelle Softwareentwicklung mit agilen Aspekten zu ergänzen. gute Eignung für Wartungs- oder Systemadministrationsprojekte © Prof. Dr. Walter Ruf

2.6.4.1 Was spricht gegen den Einsatz von agilen Methoden? Kontraindikation im Bereich des Kunden Projektziel ist nicht SMART (spezifisch, messbar, angemessen, relevant, terminiert) zu beschreiben. Prozess wird vom Kunden vorgegeben (z.B. Behörden) Nice-to-have-Projekte (Kunde muss ein vitales Interesse an der Entwicklung haben) lange Entscheidungswege beim Kunden langwierige Change-Request-Verfahren kein Anwenderkontakt möglich Erstellung von lebenskritischen Softwaresystemen (Systeme mit max. Sicherheit) keine Arbeit vor Ort möglich Festpreisprojekte vgl. Wolff, H.; Bleek, W.-G.: Agile Softwareentwicklung, 2011, S. 176 ff. © Prof. Dr. Walter Ruf

Was spricht gegen den Einsatz von agilen Methoden? Kontraindikation im Bereich der Entwickler keine Erfahrung mit agilen Projekten und kein Coach vorhanden Lernunfähigkeit und Lernunwillen Kultur von Befehl und Gehorsam Entwickler wollen keinen Anwenderkontakt hohe Fluktuation keine Arbeit vor Ort gewünscht Kontraindikation im Bereich der Technologie Lange Build-Zeiten vgl. Wolff, H.; Bleek, W.-G.: Agile Softwareentwicklung, 2011, S. 180 ff. © Prof. Dr. Walter Ruf

2.6.4.2 Was spricht für den Einsatz von agilen Methoden? Indikationen im Bereich des Kunden Start-ups (besonders Internet Start-ups) Innovative Projekte Neue Anwendungsbereiche schnelle Auslieferung ist notwendig (time-to-market) kleine Projekte … Indikationen im Bereich der Entwickler neugierige, jedoch eigenverantwortlich arbeitende Entwickler keine oder wenige externe Dienstleister im Entwicklungsbereich Arbeit beim Kunden vor Ort ist gegeben Konkrete Probleme können benannt werden Indikationen im Bereich von Technologien Verwendung von inkrementellen Compilern (z.B. für Java) Interpretierende Scriptsprachen Nutzung von Testframeworks vgl. Wolff, H.; Bleek, W.-G.: Agile Softwareentwicklung, 2011, S. 182 ff. © Prof. Dr. Walter Ruf

Interessante Links zu SCRUM GPM http://www.gpm-infocenter.de/PMMethoden/SCRUM Wirdemann, R.: SCRUM Mit User Stories 2. Auflage, Hanser-Verlag ISBN 978-3-446-42660-3 Scrum Kompakt http://www.scrum-kompakt.de/ © Prof. Dr. Walter Ruf