IT-Projektmanagement bei basecom Manuel Wortmann, Patrick Rolefs Vorstellrunde „Mein Name ist ___, ich bin ___ Jahre alt und mache meine Ausbildung bei ___.“ Übersicht • wir sprechen internet • Wasserfall - schön linear • Scrum - durchs Gedränge • Kanban - mit Signalkarte • Unser Weg • Ein Projekt wir sprechen internet Projektgeschäft Entwicklung Grafik QS Support Technik Wasserfall schön linear Wasserfall-Modell schrittweiser Ablauf in sequentielle Phasen • vorwärtsorientiert • vordefinierte Start- und Endpunkte • dokumentgetrieben Wasserfall-Modell Wasserfall-Modell nach Royce Einschub - Agile Vorgehensmodelle • agil bedeutet, flink oder beweglich • Spezifikationen während der Umsetzung • enge Zusammenarbeit mit dem Kunden • Abbau bürokratischer Strukturen Das Ziel agiler Softwareentwicklung ist es, den Softwareentwicklungsprozess flexibler und schlanker zu gestalten, als das bei den klassischen Vorgehensmodellen der Fall ist. Einschub - Agiles Manifest [Wir] haben folgendes schätzen gelernt: • Individuen und Interaktionen mehr als Prozesse und Tools • Funktionierende Software mehr als umfassende Dokumentation • Zusammenarbeit mit Kunden mehr als Vertragsverhandlungen • Reaktion auf Änderungen mehr als einen Plan befolgen • Obwohl auch die Dinge auf der rechten Seite ihren Wert haben, schätzen wir die auf der Linken höher ein. Scrum durchs Gedränge Scrum Scrum beruht auf der Ansicht, dass die meisten modernen Entwicklungsprojekte zu komplex sind, um durchgängig planbar zu sein. Scrum versucht, die Komplexität durch drei Prinzipien zu reduzieren: Transparenz, Überprüfung, Anpassung Scrum bedeutet übersetzt Gedränge und gehört zur Familie der Pull-Systeme. Scrum Überblick • ein Team besteht aus einer begrenzten Anzahl an sich selbstorganisierenden Mitgliedern • Aufgaben werden in zeitlich begrenzte, auslieferbare Pakete geteilt und in einer priorisierten Liste sortiert • Zeit und Aufgaben werden so eingeteilt, dass in einem regelmäßigen Intervall ein Release stattfinden kann • nach jedem Release und dessen Erkenntnissen wird das nächste Intervall vorbereitet • nach jedem Release wird versucht den Prozess zu verbessern Scrum Ablauf Scrum Rollen • Product Owner - ist der Produkt Manager für das Projekt • SCRUM-Master - übernimmt die organisatorische Verantwortung für das Team • Entwicklungsteam - organisieren sich selbst und teilt die Aufgaben optimal auf Scrum Meetings • Planning Meeting – es wird über die nächsten Inhalte des Sprints entschieden • Daily Scrum – 15m Standup Meeting – 3 Fragen • Sprint Review – die Ergebnisse werden dem PO präsentiert • Retrospektive - es wird darüber diskutiert, was zukünftig anders gemacht werden soll Scrum Burndown Chart Kanban mit Signalkarte Kanban Kanban stellt einen Mechanismus dar, der dem Toyota-Produktions-system und dessen Kaizen-Ansatz der kontinuierlichen Verbesserung zugrunde liegt. Kanban bedeutet übersetzt Signalkarte und gehört wie Scrum zur Familie der PullSysteme. Kaiserliche Gärten in Tokio, Parkhaus, Druckzentrum In der Softwareentwicklung arbeitet man mit einem virtuellen Kanban-System und beschränkt die unfertige Arbeit (WIP: Work in Progress). Kanban Ansätze I • schlechte Qualität kann die größte Verschwendung in der Softwareentwicklung darstellen • Qualität lässt sich erhöhen, indem man den Work in Progress reduziert • verbesserte Qualität erhöht das Vertrauen zum Kunden und Projektmanger • häufige Releases zeigen einen kontinuierlichen Fortschritt und ermöglichen frühzeitige Anpassungen Kanban Ansätze II • in einem Pull-System können Nachfragen gegenüber dem Durchsatz ausbalanciert werden • Pull-Systeme zeigen Engpässe und schaffen Freiräume außerhalb der Engpässe • durch Freiräume werden Möglichkeiten zur Verbesserung geschaffen • Prozessverbesserungen führen zu höherer Produktivität und bessere Vorhersagbarkeit Kanban Land I Kanban Land II Unser Weg Entwicklung bis Ende 2009 • ein paar Entwickler / Grafiker • 1 Teamleiter / 2 Projektleiter • Vorgehensmodell: ?? Anforderungen • „Ich habe da ein bisschen was zusammengeschrieben…“ • „Fang schon mal an! Design kommt später...“ • „Der Marktplatz soll in ca. drei Monaten fertig sein…“ Das Prinzip „mach mal“ „mach mal“ Folgen • es war „gemütlich“ • wir haben viel ausprobiert • es hat ein bisschen länger gedauert, wir wurden aber fertig • Ergebnisse waren sehr unterschiedlich • es hat zu Frust geführt • am Markt konnten wir so nicht mithalten Ein bisschen Wasserfall + Wasserfall-Modell Folgen • späte Änderungen sind sehr aufwendig • eine flexible Reaktion ist nicht möglich • Projekte dauern zu lange Das Internet funktioniert so nicht! Einschub - Problem Kommunikation Entwicklung ab 2010 • 2 verschiedene Entwicklerteams • 2 Produkt Owner • 1 Teamleiter • 1 Qualitätsbeauftragten und Usabilityexperten • ca. 80% interne Projekte, 20% externe Projekte • Vorgehensmodell: ?? Anforderungen • Produktivität steigern • Qualität verbessern • schneller auf den Markt reagieren • Strukturen schaffen • professioneller werden System Scrummaster Feststellung: Bislang funktionierte es. Deadlines wurden eingehalten. Entwicklung ab Sommer 2011 • 1 großes Team • viele Produkt Owner • 1 Teamleiter • 1 Qualitätsbeauftragten und Usabilityexperten • ca. 10% interne Projekte, 90% externe Projekte • Vorgehensmodell: ?? Anforderungen • • Absprachen und Priorisierungen notwendig • • unterschiedliche Kernkompetenzen • mehr Verantwortung bei den Entwicklern • • Fristen einhalten vs. flexibel agieren • • Qualität verbessern Aufgaben verschieben sich Know-how muss aufgebaut/ verteilt werden Produktivität bewahren und ausbauen Team halten, motivieren, ausbauen Chuck Norris Problem: Die bisherigen Vorgehensmodelle funktionieren so nicht mehr! yes we kanban Scrum vs. Kanban - Board Scrum vs. Kanban - Iteration Scrum vs. Kanban - Charts Scrum brundown chart Kanban cumulative flow chart Entwicklung ab Morgen Kanban - Probleme Anforderungen • iOS, Android, Typo3, Magento, Symfony2, Ruby on Rails • wachsendes Entwicklungsteam • wachsendes Projektleiterteam • ungleichmäßige Auslastung • langfristige große Projekte und eigene Produkte • viele kleine Projekte • starkes Tagesgeschäft Mögliche Lösungen • Scrum bei langfristigen Projekten und Neuentwicklungen • Aufteilung in Teams mit mehreren Kanban-Boards • Ausbau eines Supportteams für das Tagesgeschäft • Optimierung der vorgelagerten Abläufe Ein Projekt Urlaubs-Workflow-System Angebotsphase • Grobanforderung mit Lastenheft • Schätzung des Entwicklungsaufwand • Kapazitätsplanung • Erstellung eines Angebots Vorbereitungsphase Analyse + Design • Usability-Konzept mit Wireframes, Personas, Use-Cases und Interviews • Definition von Meilensteinen zur Zwischenpräsentation beim Kunden • grafische Umsetzung • technisches Konzept Iterative Umsetzung Analyse + Design + Codierung + Test • Ausarbeitung der Detailkonzepte • regelmäßige Aufwandsschätzung • permanente QS • Zwischenpräsentation der Meilensteine beim Kunden Auslieferung Codierung + Test • Feature-Freeze • Betaphase beim Kunden • Schulung (für Administratoren; Nutzer brauchen keine Schulung) • Go-Live von Version 1.0 Betrieb Software lebt • Das Projekt ist ein Produkt! • Version 1.1, Version 1.2, ... • Wartung Vielen Dank! Wir freuen uns auf Eure Fragen...