Sie sind hier
E-Book

Scrum. Schnelleinstieg (3. Aufl.)

AutorDr. Andreas Wintersteiger
Verlagentwickler.press
Erscheinungsjahr2015
Seitenanzahl256 Seiten
ISBN9783868023411
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis15,99 EUR
Scrum ist ein sehr einfaches Framework für die agile Softwareentwicklung, dennoch ist es mitunter schwer einzuführen. Die Praxis hat gezeigt, dass Unternehmen, die Scrum in ihren Entwicklungsabteilungen umsetzen wollen, immer wieder vor denselben Herausforderungen stehen. Dieses Buch gibt zunächst eine ausreichend kurz gefasste Einführung und beschreibt das Wesen von Scrum, beschränkt auf den Kern. Basierend auf mehrjährigen Coaching- und Trainingserfahrungen gibt Andreas Wintersteiger eine Starthilfe, um einfach mal loslegen zu können. Dabei werden jene Gesichtspunkte nicht vernachlässigt, auf die es ankommt, um mit Scrum erfolgreich zu werden. Neben Hinweisen auf gute und etablierte Praktiken gibt das Buch auch Antworten auf häufig gestellte Fragen. Die kompakte Form wurde absichtlich gewählt, um auch mit wenig Zeitaufwand die relevanten Informationen für einen Start mit Scrum zu erfassen, zum Beispiel an einem Wochenende. Das Buch zeigt damit nicht die gesamte Welt von Scrum auf, sondern vermittelt, gemäß den agilen Prinzipien, den kleinsten gemeinsamen Nenner an Wissen und Hinweisen, um mit Scrum zu starten. Das erfolgreiche Buch liegt in der dritten aktualisierten und erweiterten Auflage vor und beleuchtet auch die aktuellen Trends bei der Skalierung von Scrum mit einem eigenen Kapitel.Zielgruppe Dieses Buch ist für Personen gedacht, die sich über Scrum informieren möchten oder Scrum in der Organisation einführen wollen und hierfür eine kompakte Informationsquelle suchen. Es ist ebenso zur Vorbereitung auf ein Zertifizierungstraining, wie zum Beispiel den Certified Scrum Master, geeignet.

Dr. Andreas Wintersteiger ist Certified Scrum Coach und Certified Scrum Trainer und als solcher bei der Objectbay GmbH in Österreich tätig. Er ist Informatiker mit über 20 Jahren beruflicher Erfahrung, war selbst in kleinen Start-ups und internationalen Großkonzernen tätig und hilft Unternehmen bei der Einführung von Scrum, Lean und agilen Praktiken. Er beschäftigt sich seit über zehn Jahren mit agiler Softwareentwicklung und war als Coach und Trainer an den Scrum-Implementierungen bei vielen großen, mittleren und auch kleinen Unternehmen maßgeblich involviert. Neben seiner beratenden Tätigkeit entwickelt er selbst in Java mit JBoss und Ruby.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

1 Einleitung

Agile Softwareentwicklung hat es in den Mainstream geschafft. Nach beinahe fünfzehn Jahren nach dem Agilen Manifest sind agile Vorgehensweisen keine exotischen Modelle mehr von Eigenbrötlern, die sich ihre eigene Welt schaffen, sondern eine anerkannte und bewiesenermaßen erfolgreiche Art und Weise, Software zu entwickeln1. Agile Entwicklung ist heute nicht nur erfolgreich, sondern deutlich erfolgreicher als klassische, wasserfallorientierte Vorgehensmodelle – dafür haben wir heute Evidenz.

Mussten wir vor zehn Jahren immer wieder den Beweis antreten, so sind wir heute einen bedeutenden Schritt weiter: Es ist nicht nur die Akzeptanz im breiten Feld vorhanden, ein großer Teil der Unternehmen strebt agile Entwicklungspraktiken und -methoden initiativ an. Darunter ganz besonders Scrum, das aus heutiger Sicht sicherlich das erfolgreichste Framework2 unter den agilen Vorgehensweisen ist. Scrum erfreut sich zunehmender Beliebtheit und Verbreitung. Immer mehr Unternehmen und Teams setzen Scrum und agile Entwicklungspraktiken ein oder behaupten das zumindest.

Als Scrum Coach komme ich zu vielen Unternehmen, und als Trainer führe ich viele Gespräche mit Teammitgliedern oder Vertretern von Organisationen, die Scrum – oft schon seit Jahren – verwenden. Dabei stelle ich manchmal fest, dass es viele Missverständnisse gibt, was Agil und Scrum ausmacht und was nicht.

1.1 Agile Softwareentwicklung

Im Gegensatz zu den klassischen Vorgehensweisen stützen sich agile Prozesse auf frühes und häufiges Feedback aufgrund von fertiggestellten Teillieferungen. Diese Teile müssen jedoch voll funktionsfähig sein, um den Anspruch an wertvolles Feedback zu erfüllen. Nur wirklich funktionierende Software erzeugt realistisches Feedback. Pläne, Diagramme oder Folienpräsentationen im Kontrast dazu verlangen danach, dass sich Menschen immer etwas vorstellen müssen, denn das Ergebnis ist (noch) nicht real. Je nach Komplexität und Vorstellungsvermögen der Beteiligten entsteht damit auch realistisches oder eben unrealistisches Feedback. Im klassischen Vorgehen entsteht reales Feedback oft erst nach Durchlauf vieler Phasen, was oft mehrere Monate, manchmal sogar mehr als ein Jahr dauert.

Iteratives Vorgehen

Im Kern einer jeden agilen Vorgehensweise stehen so genannte Iterationen, das sind Zyklen fixer Dauer, die zum Ziel haben, Feedback zu liefern. In iterativen Vorgehensweisen werden sämtliche Aktivitäten, die wir aus den klassischen Vorgehensmodellen kennen, wie Analyse, Design, Implementierung, Testen, Integrieren, Systemtest etc., durchgeführt, jedoch mehrmals. Wir durchlaufen diese Phasen in Zyklen.

Inkrementelles Vorgehen

Bei der inkrementellen Entwicklung wird das iterative Vorgehen verwendet, jedoch auf andere (neue) Teile des Systems angewendet (manchmal wird hierfür auch der Terminus „iterativ-inkrementell“ verwendet). Es handelt sich also um eine Erweiterung des Produkts, und die Iteration betrachtet damit eine neue Entwicklung3 Bei der inkrementellen Entwicklung wird auch der Prozess verbessert. Das Ergebnis einer Iteration ist ein Inkrement des Produkts, es wird damit ausgehend von einem kleinen, funktionierenden Durchstich ständig erweitert und funktional gehalten.

Inkremente sind beispielsweise Features oder Teile der Produkt­funktionalität. Es ist wesentlich, festzustellen, dass bei der inkrementellen Entwicklung ein vertikal durch die Systemarchitektur liegender Querschnitt geliefert wird. In klassischen Vorgehensweisen geschieht oft das exakte Gegenteil, es werden dabei horizontale Schichten sequenziell und oft gänzlich geliefert. Ein funktionaler und damit feedbackfähiger Querschnitt ist erst nach Lieferung der letzten Schicht möglich. Aus diesem Grund erfolgt bei klassischer Entwicklung das Testen der Funktionalität sehr spät.

In der inkrementellen Entwicklung konzentriert man sich auf kleine (vertikale) Teile, die auch sehr früh getestet werden können. Alle anderen Aktivitäten können damit auch beinahe zeitgleich in einer Iteration erledigt werden (Details dazu werden in Kapitel 6 vertieft).

Das Entwicklungsvorhaben wird nicht mehr für den gesamten Umfang und damit auch nicht für die gesamte Zeit im Detail geplant. Eine Planung mit hohem Detailgrad beschränkt sich hier auf die kommende Iteration. Planung und Entwicklung und damit auch die Validierung der Planung wechseln sich in raschen Rhythmen ab.

Mit einem deutlich geringerem Detailgrad beschäftigt sich der nächsthöhere Planungshorizont, der der unmittelbar folgenden Iterationen: Hier werden nur mehr gröbere Ziele auf Basis der Erkenntnisse aus den bisherigen Iterationen geplant.

Mehr Kundenwert in kürzerer Zeit

Agile Prozesse liefern schneller bessere Ergebnisse und sind fokussiert auf die frühe Bereitstellung von Kundenwert. Es wird bei der Priorisierung auf die Auslieferung von Features mit hohem Kundenwert geachtet. Mit jedem Inkrement steht so nach wenigen Wochen ein lieferbarer Teil des Produkts zur Verfügung, das im Idealfall vom Kunden bereits genutzt werden kann.

In einem typischen Scrum-Projekt wird z. B. alle zwei Wochen ein voll funktionsfähiger Teil der Software geliefert und steht für Feedback durch Kunden, Anwender oder Management zur Verfügung. Durch den Fokus auf die frühe Auslieferung von Features mit hohem Kundenwert entsteht deutlich früher ein bereits einsetzbares Produkt, das auf die Problemstellung fokussiert ist.

1.2 Agile Werte und Prinzipien

Die Bewegung in Form einer Ablehnung von klassischen, schwerfälligen Methoden und Vorgehensmodellen begann in den frühen 90er Jahren damit, dass einzelne Produktentwicklungsteams die bisher bekannten Prozesse der Softwareentwicklung wie iterativ und inkrementelles Vorgehen weitergetrieben haben. Darunter fallen auch Ken Schwaber und Jeff Sutherland, die Scrum entwickelt haben. Neben ihnen gab es eine Reihe weiterer, heute bekannter Persönlichkeiten, die ähnliche Praktiken einsetzen und damals noch „leichtgewichtig“ genannte Methoden entwickelten. Viele von ihnen haben dazu auch auf wissenschaftlichen Konferenzen publiziert. Die zweite Hälfte der 90er Jahre war geprägt von vielen alternativen teilweise sehr revolutionären Ansätzen, die allesamt gegen die schwergewichtigen Methoden ankämpften.

Das Agile Manifest

Im Februar 2001 trafen sich diese Personen und versuchten zusammenzutragen, was ihre Vorgehensweisen gemeinsam haben, und kamen – obwohl sie es zuvor nicht glaubten – am letzten Tag zu einer Menge an Werten, die sie gleichermaßen hochhielten, und einem Dutzend Prinzipien sowie zu einem Konsens über deren Formulierung. Sie erschufen ein Manifest aus Werten, basierend auf Vertrauen und Respekt für einander, die die Organisationsmodelle fördern, die auf Individuen und Zusammenarbeit fußen. Übersetzt klingt das Manifest in etwa so:

Wir entdecken dadurch bessere Wege, Software zu entwickeln, indem wir es selber tun und andere dabei unterstützen, es zu tun. Durch diese Arbeit sind wir dazu gekommen,

  • Individuen und deren Interaktionen über Prozesse und Werkzeuge,
  • funktionierende Software über umfassende Dokumentation,
  • die Zusammenarbeit mit dem Kunden über Vertragsverhandlungen und
  • das Eingehen auf Veränderung über das Befolgen eines Plans

zu stellen. Während die Dinge auf der rechten Seite durchaus einen Wert darstellen, schätzen wir die Dinge auf der linken Seite mehr.

Sehr oft wurde dieses Manifest missverstanden und fehlerhaft interpretiert. Keineswegs war damit gemeint, dass es von nun an gar keine Dokumentation mehr geben sollte, sondern lediglich hinterfragt werden muss, wie viel Dokumentation nun wirklich notwendig ist und dass es besser ist, eine funktionierende Software zu haben, als schöne Dokumente, aber keine Software dazu.

Diese Aussagen wurden durch zwölf Prinzipien gestützt, die den Kern der agilen Softwareentwicklung definieren. Diese Prinzipien greifen ineinander und wirken als Ganzes:

  1. Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Lieferung werthaltiger Software zufriedenzustellen.
  2. Wir begrüßen veränderte Anforderungen auch in einer späten Entwicklungsphase. Agile Prozesse nutzen Veränderungen für den Wettbewerbsvorteil des Kunden.
  3. Liefere funktionierende Software häufig, von wenigen Wochen bis zu wenigen Monaten, mit einer Präferenz für kürzere Intervalle.
  4. Anwender und Entwickler müssen täglich zusammenarbeiten.
  5. Entwickle Projekte um motivierte Personen herum. Schaffe die Umgebung und Unterstützung, die sie benötigen, und vertraue ihnen, dass sie ihre Arbeit machen.
  6. Die effizienteste und effektivste Methode, Informationen in ein und innerhalb eines Entwicklungsteams zu übermitteln, ist von Angesicht zu Angesicht.
  7. Funktionierende Software ist das primäre Maß für Projektfortschritt.
  8. Agile Prozesse fördern nachhaltige Entwicklung. Die Sponsoren, Entwickler und Anwender sollen unendlich lang ein konstantes Entwicklungstempo beibehalten können.
  9. Kontinuierliche Aufmerksamkeit für technische Exzellenz und gutes Design unterstützt Agilität.
  10. Einfachheit – die Kunst, unnötige Arbeit zu vermeiden – ist essenziell.
  11. Die besten Architekturen, Anforderungen und Designs entstehen in selbstorganisierenden Teams.
  12. Das Team reflektiert in...
Blick ins Buch
Inhaltsverzeichnis
Impressum4
Inhaltsverzeichnis7
Vorwort zur 3. Auflage13
Vorwort zur 2. Auflage14
Vorwort zur 1. Auflage16
Danksagung17
Kapitel 1 – Einleitung19
1.1 Agile Softwareentwicklung20
1.2 Agile Werte und Prinzipien22
1.3 Agile Vorgehensweisen24
1.3.1 Extreme Programming24
1.3.2 Scrum26
1.3.3 Lean und Kanban29
1.4 Was es bedeutet, agil zu sein32
1.5 Agil ist eine Geisteshaltung42
1.6 Ziele dieses Buchs46
Kapitel 2 – Die Rollen in Scrum47
2.1 Der Product Owner48
2.2 Das Umsetzungsteam52
2.3 Der Scrum Master55
2.4 Andere Rollen58
Kapitel 3 – Das Produkt-Backlog61
3.1 Agiles Anforderungsmanagement64
3.1.1 Produktvision65
3.2 Erstellen eines Backlogs68
3.3 Geschäftswert und ROI69
3.4 User Stories70
3.4.1 Gute User Stories74
3.5 Beispiel eines Produkt-Backlogs76
3.6 Nicht funktionale Anforderungen78
3.7 Technische Arbeiten79
3.7.1 Fehler80
3.8 Werkzeuge81
Kapitel 4 – Das Scrum-Framework83
4.1 Sprints83
4.2 Scrum-Meetings88
4.2.1 Sprint-Planung89
4.2.2 Daily Scrum90
4.2.3 Sprint-Review91
4.2.4 Sprint-Retrospektive91
4.2.5 Weitere Meetings92
4.3 Weitere Meetings92
4.4 Wirkung95
Kapitel 5 – Sprint-Planung97
5.1 Vorbereitung zur Sprint-Planung97
5.1.1 Definition of Ready98
5.1.2 Definition of Done98
5.2 Sprint-Planung I100
5.2.1 Sprint-Ziel101
5.2.2 Diskussion detaillierter Anforderungen102
5.2.3 Sprint-Backlog105
5.2.4 Commitment und Forecast106
5.2.5 Fehler und übrig gebliebene Arbeit107
5.2.6 Ergebnisse116
5.3 Sprint-Planung II109
5.3.1 Aufgaben planen109
5.3.2 Gemeinsames Design110
5.3.3 Das Taskboard entsteht113
5.3.4 Schätzen im Planungsmeeting115
5.3.5 Ergebnisse116
5.4 Eine alternative Variante117
Kapitel 6 – Während des Sprints121
6.1 Gemeinsames Arbeiten121
6.2 Agile Entwicklungspraktiken125
6.3 Featurebasiertes Arbeiten128
6.4 Sprint-Inhalte verändern132
6.5 Sprint „Null“137
Kapitel 7 – Daily Scrum139
7.1 Modus141
7.2 Inspektion143
7.2.1 Das Taskboard143
7.2.2 Burndown Chart145
7.2.3 Flow150
7.3 Adaption152
Kapitel 8 – Sprint-Review155
8.1 Feedback161
8.2 Modus157
8.2.1 Demonstration der Software158
8.2.2 Feedback161
8.2.3 Ergebnisse163
8.2.4 Velocity164
8.3 Berichterstattung164
Kapitel 9 – Sprint-Retrospektive165
9.1 Verbesserungen165
9.2 Modus168
9.2.1 Set the Stage168
9.2.2 Set the Stage168
9.2.3 Generate Insights170
9.2.4 Decide what to do170
9.2.5 Close171
Kapitel 10 – Produkt-Backlog-Pflege173
10.1 Der Produkt-Backlog-Eisberg174
10.2 Das Backlog-Refinement-Meeting176
10.2.1 Modus177
10.2.2 Ablauf178
10.3 Der Lebenszyklus einer User Story179
Kapitel 11 – Agile Schätztechniken183
11.1 Relative Schätzung184
11.2 Planning Poker187
11.3 Schätzungen sind nicht Wissen192
Kapitel 12 – Releaseplanung193
12.1 Beobachtung des Fortschritts195
12.2 Fixierter Umfang196
12.3 Fixiertes Datum198
12.4 Fixierung von Datum und Umfang201
12.4.1 Technische Schuld202
12.5 Reporting205
Kapitel 13 – Scrum einführen209
13.1 Vor dem ersten Sprint211
13.2 Scrum und die Organisation213
13.3 Der Scrum-Pilotbetrieb217
13.4 Roll-out auf weitere Teams218
13.5 Roll-out auf den Rest der Organisation220
14 Scrum skalieren223
14.1 Product-Owner-Hierarchie223
14.1.1 Komponententeams224
14.1.2 Feature Teams225
14.1.3 Synchrone Sprints226
14.1.4 Synchrone Sprints226
14.1.5 Communities of Practice229
14.2 Transition Team230
14.3 Skalierung über mehrere Ebenen230
14.4 Scrum-Meetings skalieren232
14.4.1 Sprint-Planung skalieren232
14.4.2 Daily Scrums234
14.4.3 Backlog Refinement234
14.4.4 Sprint-Review236
14.4.5 Sprint-Retrospektiven236
14.5 Sprint-Review236
14.5.1 Scaled Agile Framework (SAFe)238
14.5.2 Large Scale Scrum (LeSS)240
14.5.3 Disciplined Agile Delivery (DAD)242
Literaturverzeichnis247
Stichwortverzeichnis251

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

filmdienst#de

filmdienst#de

filmdienst.de führt die Tradition der 1947 gegründeten Zeitschrift FILMDIENST im digitalen Zeitalter fort. Wir begleiten seit 1947 Filme in allen ihren Ausprägungen und Erscheinungsformen.  ...