wasserfall, «death march», scrum undagile methoden€¦ · manifest für agile...

33
Wasserfall, «Death March», Scrum und agile Methoden 08. Dezember 2011 Embedded Software Engineering Kongress Urs Böhm

Upload: others

Post on 15-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Wasserfall, «Death March», Scrum und

agile Methoden

08. Dezember 2011 Embedded Software Engineering Kongress

Urs Böhm

Page 2: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Übersicht

• Warum Projektmanagement?

• Gängige SW Entwicklungsprozesse

Wasserfall

V-Modell

„Death March“

Iteratives / Imperatives Modell

Scrum

• Vergleichstabelle / Übersicht /

• Wie wähle ich das richtige SW Entwicklungsmodel?

• Visualisierungen

• Diskussion

Urs Böhm, 08.Dezember 2011

Page 3: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Worum geht es eigentlich?

Urs Böhm, 08.Dezember 2011

Do the right things

Speed

Do the things right

Page 4: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Was ist Projektmanagement?

• Erreichen eines Ziels

Beschränkte Ressourcen

On Time

On Budget

• Projektmanagement ist nicht Ressourcenmanagement

Urs Böhm, 08.Dezember 2011

Page 5: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Projektmanagement

• Software wird heute oft in einem oder mehreren Projekt(en) hergestellt

• Projektmanagement ist sinnvoll – gerade auch für Software

• Software ist jedoch – irgendwie – anders

• Vervielfältigungskosten sind vernachlässigbar

• Kein Verschleiss aber "Software Alterung"

• Lizenz-Chaos (Rechtliche Situation ist bei Software ein Drama)

• Konfigurierbar

• Leicht und schnell Änderbar

• Software enthält Fehler. Das ist akzeptiert und Fehlerfreiheit ist nicht zu erreichen

Urs Böhm, 08.Dezember 2011

Page 6: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Prozesse erleichtern das Steuern und Regeln!

• Positionsbestimmung!

Wo bin ich fachlich im Projekt? Was ist getan und was muss noch

getan werden?

Welchen Aufwand hatte das Projekt bisher?

Welchen Aufwand erwarte ich noch?

• Weiteres Vorgehen bestimmen:

Ist mein Projekt auf Kurs?

Muss regelnd / korrigierend eingegriffen werden?

Kann es wie geplant weitergehen?

Welche Risiken liegen im Projekt vor mir?

Urs Böhm, 08.Dezember 2011

Ziemlich viele ?

Page 7: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Embedded SW Challenges

• Wir haben in der Embedded SW-Entwicklung einige „Challenges“

• Grössere und leistungsfähigere Hardware als jemals zuvor

• Riesige Codebasis gerade auch für Embedded Systeme

• Teamgrössen und Zusammensetzung

• Qualität

• Testabdeckung

• Produktivität

• Effizienz und Effektivität

• Funktionale Sicherheit wird mehr und mehr auf Software

ausgedehnt EN ISO 61508 und abgeleitete Normen

Urs Böhm, 08.Dezember 2011

Page 8: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Projekt Überwachung

Urs Böhm, 08.Dezember 2011

Page 9: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Am Projektanfang ist die

Schätzung sehr ungenau.

Am Projektende weiss

man„s dann besser!

Schätzungen verfeinern sich im Projektablauf

Urs Böhm, 08.Dezember 2011

Achtung: Bitte nicht an

falschen Schätzungen

festhalten und die

Projektrealität ignorieren!

Page 10: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Beispiele von SW-Prozessen

• Waterfall

• „Death March“

• V-Modell

• Agile Methoden

Code and fix

Iteratives Vorgehen

Scrum

Urs Böhm, 08.Dezember 2011

Page 11: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Waterfall

Urs Böhm, 08.Dezember 2011

Requirements

Design

Implementation

Testing

Maintenance

Page 12: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Und in der Original Darstellung

Urs Böhm, 08.Dezember 2011

Quelle: Dr. Winston W. Royce

MANAGING THE DEVELOPMENT OF LARGE

SOFTWARE SYSTEMS

Und wenn man weiterliest – liest man

etwas von Iterationen.

Wenn man weiterliest!

Page 13: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

V-Modell basiert auf dem Wasserfallmodell

Urs Böhm, 08.Dezember 2011

Requirements

Design

Implementation

Testing

Maintenance

Analyse

Page 14: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

V Modell

Urs Böhm, 08.Dezember 2011

Requirements

Grob-Entwurf

Fein-Entwurf

Implementation Modultest

Integrations-Test

System-Test

Abnahme-Test

Page 15: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Big Design Up Front

Urs Böhm, 08.Dezember 2011

Fehlervermeidung in frühen

Phasen ist günstiger

Starkes Requirement

Engineering

Passende SW-Architektur

und SW-Design

Klare Phasen zum

Fortschrittstracking

Aufwändiger Umgang mit

unbekannten oder fehlenden

Requirements

Analysis Paralysis

Späte Sichtbarkeit

des Ergebnisses

Keine

Projektabbruchstrategie

Page 16: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

„Death March“ in Project Management

Urs Böhm, 08.Dezember 2011

Ungenügendes Training

Unrealistischer SW-Umfang

Unrealistische Termin-Planung Das Projekt ist zum

Scheitern verurteilt!

Aber die Beteiligten

sind zum Erfolg

verdammt!

Page 17: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Nachteile von „Death March“-Projekten

• Projektmanagement Methode der „Steuerung durch Verknappung einer Ressource.“

• Unerwünschte Begleitergebnisse:

Abstriche an der Qualität

Abstriche am Funktionsumfang

Geringere Testtiefe

Mehr SW-Bugs

Burnout / Fluktuation / Innere Kündigungen

• Auf einer solchen SW kann ohne massives Refactoring nicht weiter aufgebaut werden

• Grosse Gefahr des Scheiterns

Urs Böhm, 08.Dezember 2011

Page 18: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Code and fix

• Ist kein agiles Vorgehensmodell

• Geeignet aber trotzdem wenn Nutzer und Programmierer

dieselbe Person sind

• Kleine Projekte / Kleine Software

Urs Böhm, 08.Dezember 2011

Früher mal so:

Page 19: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Manifest für Agile Softwareentwicklung

Wir erschließen bessere Wege, Software zu entwickeln,

indem wir es selbst tun und anderen dabei helfen.

Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

Individuen und Interaktionen mehr als Prozesse und Werkzeuge

Funktionierende Software mehr als umfassende Dokumentation

Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung

Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden,

schätzen wir die Werte auf der linken Seite höher ein.

Urs Böhm, 08.Dezember 2011

Page 20: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Zu

entwickelnde

Software

Iteratives Vorgehen „Divide Et Impera“

Urs Böhm, 08.Dezember 2011

Iteration 2

Iteration 1

Iteration 3

Iteration 4

Iteration 2

Iteration 1

Iteration 3

Iteration 4

Page 21: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Scrum Schlagworte

• Scrum ist eine agile Projektmanagement Methode

• Besonders, aber nicht ausschliesslich für komplexe Software

geeignet

• Setzt stark auf eigenverantwortliche Teams

• Bietet & verlangt grosse Transparenz

• Deklariert klare Rollen mit Rechten und Pflichten

• Greift tief in die Firmen und das Zusammenarbeiten miteinander

ein – wenn komplett angewendet

• Guter Umgang mit ändernden Anforderungen

• Bei erfolgreichem Einsatz starke Fortschritte möglich.

Urs Böhm, 08.Dezember 2011

Page 22: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Kommunikation

Daily Scrum

Sprint Planning Meeting

Sprint Review Meeting

Sprint Retrospective

Besprechungen sind:

• Klar strukturiert

• Inhaltlich festgelegt

• Timeboxed

• Ergebnis

Page 23: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

SCRUM Prozess

Urs Böhm, 08.Dezember 2011

Sprint Review Sprint Retrospektive

Burndown Chart

Burndown Chart

Produkt

Backlog

Sprint

Backlog

Potentiell

Lieferbares

Produkt-Inkrement

Page 24: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Scrum Rollen

Urs Böhm, 08.Dezember 2011

Produkt Owner

Scrum Master

Entwicklungs-

Team Management

Kunden

User

Page 25: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Entwicklungs-Team:

• Implementiert User Stories

• Garantiert die vereinbarte Qualität

• Entscheidet wie viel im Sprint

entwickelt wird Produkt Owner:

• Auslieferungszeitpunkt

• Funktionalität

• Kosten

• Backlog Verantwortung

• Priorisierte User Stories

Verantwortlichkeiten

Urs Böhm, 08.Dezember 2011

Scrum Master:

• Prozessverantwortung

• Eliminiert Störungen

• Impediments „Probleme“

Page 26: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Tracking des Projektfortschritts

Urs Böhm, 08.Dezember 2011

Page 27: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Vergleich

Urs Böhm, 08.Dezember 2011

Wasser-

fall

Death

March

V-Modell Code &

Fix

Scrum

Flexibilität -- -- - ++ ++

Change -- -- - + ++

Planbarkeit ++ --- ++ -- +

Abbruchs-

möglichkeiten

-- - - + ++

Quick and Dirty -- ++ -- ++ --

Umgang mit

formalen

Anforderungen

++ - ++ -- -

Skalierung ++ -- ++ - Team

Mindestgrösse

Page 28: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Metriken & Messungen aus der Praxis 1

Urs Böhm, 08.Dezember 2011

Sprechen Sie die Sprache der

Stakeholder

Page 29: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Metriken & Messungen aus der Praxis 2

Urs Böhm, 08.Dezember 2011

Page 30: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Metriken & Messungen aus der Praxis 3

Urs Böhm, 08.Dezember 2011

Page 31: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Kanban Board

Urs Böhm, 08.Dezember 2011

Backlog To Do

(5)

In Progress

(3)

Done

Page 32: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

Links

• Ein paar interessante Links zum Thema

• Wikipedia & das passende Suchwort http://de.wikipedia.org/wiki/Liste_von_Softwareentwicklungsprozessen

• Wasserfall [Royce, 1970] "Managing the Development of Large Software Systems“

“The Rise And Fall Of Waterfall” (Youtube)

• V-Modell http://v-modell.iabg.de/

• Scrum „Scrum in under 10 minutes“ (Youtube)

http://www.scrumalliance.org/

http://www.scrum.org/

„State of Agile Development“ survey

• Hermes http://www.hermes.admin.ch/welcome?set_language=de&cl=de

Urs Böhm, 08.Dezember 2011

Page 33: Wasserfall, «Death March», Scrum undagile Methoden€¦ · Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun

NOSER ENGINEERING AG

Talackerstrasse 99

CH-8404 Winterthur

+41 52 234 56 48 direct

+41 52 234 56 11 phone

[email protected]

www.noser.com