+ All Categories
Home > Business > Agile intro module 1

Agile intro module 1

Date post: 10-May-2015
Category:
Upload: andre-heijstek
View: 565 times
Download: 4 times
Share this document with a friend
Description:
Second module of agile/scrum course. Agile philosophy and Scrum basics
Popular Tags:
73
Agile Introduction Module 1 - General introduction
Transcript
Page 1: Agile intro   module 1

Agile IntroductionModule 1 - General introduction

Page 2: Agile intro   module 1

Agile according to Dilbert

2

Page 3: Agile intro   module 1

Sprint 1 Backlog

3

TO-DO DOING DONE

What is Agile?

Scrum

XP

Kanban

Page 4: Agile intro   module 1

User Story

4

As a traineeI want to understand Agile principlesTo be able to apply Agile in various situations

Page 5: Agile intro   module 1

Agile Manifesto

5

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

That is, while there is value in the items on the right, we value the items on the left more.

That is, while there is value in the items on the right, we value the items on the left more.

MoreAgile Manifesto

by Geert Bossuyt

Teamwork & responsibility over Individuals and Interaction

Deliver Value over Working software

Partnership elaboration over Customer collaboration

Embrace change over Respond to Change

While we value the Agile Manifesto, we state that MoreAgile is more Agile.

Page 6: Agile intro   module 1

12 principles

6

Working software is the primary measure of progress.

Our highest priority is to satisfy the customerthrough early and continuous delivery of valuable software.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Continuous attention to technical excellence and good design enhances agility.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Simplicity--the art of maximizing the amount of work not done--is essential.

Business people and developers must work together daily throughout the project.

The best architectures, requirements, and designs emerge from self-organizing teams.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

1 7

2 8

3 9

4 10

5 11

6 12

Page 7: Agile intro   module 1

Agile - protest movement

• Against:

• waterfall development

• micro management

• disdain for craftsmanship of developers

7

Page 8: Agile intro   module 1

Principles no Rules• YAGNI - you ain’t gonna need it

• BDUF - big design up front

• BPUF - big planning up front

• Simplicity - the art of maximizing the amount of work NOT done

• Fail fast

• IKIWISI

8

Page 9: Agile intro   module 1

Other planning principles

9

FIX

EDES

TIM

ATE

Scope

Time Cost

Traditional

Scope

Time Cost

Agile

Page 10: Agile intro   module 1

Scrum in a Nutshell

10

Page 11: Agile intro   module 1

Kanban in a Nutshell• Visualise workflow

• Limit WIP

• Measure lead time

11

Page 12: Agile intro   module 1

XP in a Nutshell

12

Page 13: Agile intro   module 1

Comparing methods

13

prescriptive: more rules to followadaptive: less rules to follow

Page 14: Agile intro   module 1

Sprint 1 Backlog

14

TO-DO DOING DONE

What is Agile?

Scrum

XP

Kanban

Page 15: Agile intro   module 1

User Story

15

As a traineeI want to know what Scrum is and XPBecause I might start applying it

Page 16: Agile intro   module 1

Scrum

16

• PROJECT MANAGEMENT approach

• So, same goals as Prince2

• But, a completely different approach!

Page 17: Agile intro   module 1

The big picture

Image available at www.mountaingoatsoftware.com/scrum

Page 18: Agile intro   module 1

Three pillars

• Transparency

• Inspection

• Adaptation

18

Page 19: Agile intro   module 1

Scrum framework•Product owner•ScrumMaster•Team

Roles

•(Release planning)•Sprint planning meeting•Daily scrum meeting•Sprint review meeting•Sprint retrospective

Events

•Product backlog•Sprint backlog•(Burndown charts)•Definition of Done

Artifacts

19

Page 20: Agile intro   module 1

Scrum framework•Product owner•ScrumMaster•Team

Roles

•(Release planning)•Sprint planning meeting•Daily scrum meeting Sprint review meeting

•Sprint retrospective

Events

•Product backlog•Sprint backlog•(Burndown charts)•Definition of Done

Artifacts

20

Page 21: Agile intro   module 1

Mountain Goat Software, LLC

Product owner

• Define the features of the product

• Decide on release date and content

• Be responsible for the profitability of the product (ROI)

• Prioritize features according to market value

• Adjust features and priority every iteration, as needed 

• Accept or reject work results

Page 22: Agile intro   module 1

Mountain Goat Software, LLC

The ScrumMaster

• Represents management to the project

• Responsible for enacting Scrum values and practices

• Removes impediments

• Ensure that the team is fully functional and productive

• Enable close cooperation across all roles and functions

• Shield the team from external interferences

Page 23: Agile intro   module 1

The Super Scrum Master

23

Page 24: Agile intro   module 1

Mountain Goat Software, LLC

The team• PO, SM, Development Team

• Typically 3-9 people (excl. PO/SM)

• Cross-functional:

• Programmers, testers, user experience designers, etc.

• Members should be full-time

• May be exceptions (e.g., database administrator)

• Teams are self-organizing

• Ideally, no titles but rarely a possibility

• Membership should change only between sprint

Page 25: Agile intro   module 1

Roles in Scrum

25

Product Owner Team Scrum Master

Responsible for VALUE the team delivers

Responsible for QUALITY of delivery

Responsible to remove Impediments

Responsible for WHAT Responsible for HOW (Content)

Responsible for HOW (Scrum process)

Owner of Product Backlog

Owner of Sprint Backlog

Facilitates Sprint Planning Meeting

One person, no committee Optimal size 6 ± 3 Servant leader

Is, or represents, the customer

Cross-functional, self-organising

Introduces Scrum in Project and Organisation

Page 26: Agile intro   module 1

Scrum framework•Product owner•ScrumMaster•Team

Roles

•(Release planning)•Sprint planning meeting•Daily scrum meeting•Sprint review meeting•Sprint retrospective

Events

•Product backlog•Sprint backlog•(Burndown charts)•Definition of Done

Artifacts

26

Page 27: Agile intro   module 1

Release Planning

27

Product Vision

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

User Story

Epic

User Story

User Story

Epic

User Story

Epic Epic

1 2 3 4 5 6 7 8

User stories are the Agile way of documenting

requirements.As a <user role>

I want <something>So I can achieve <value>

Page 28: Agile intro   module 1

Sprint planning meeting

Sprint prioritization

• Analyze and evaluate product backlog

• Select sprint goal

Sprint planning

• Decide how to achieve sprint goal (design)

• Create sprint backlog (tasks) from product backlog items (user stories / features)

• Estimate sprint backlog in hours

Sprintgoal

Sprintbacklog

Business conditions

Team capacity

Product backlog

Technology

Current product

28

Page 29: Agile intro   module 1

Sprint planning• Team selects items from the product backlog they can

commit to completing

• Sprint backlog is created

• Tasks are identified and each is estimated (1-16 hours)

• Collaboratively, not done alone by the ScrumMaster

• High-level design is considered

As a vacation planner, I want to see photos of the hotels.

Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)

29

Page 30: Agile intro   module 1

The daily scrum• Parameters

• Daily

• 15-minutes

• Stand-up

• Not for problem solving

• Whole world is invited

• Only team members, ScrumMaster, product owner, can talk

• Helps avoid other meetings30

Page 31: Agile intro   module 1

Everyone answers 3 questions

• These are not status for the ScrumMaster

• They are commitments in front of peers

What did you do yesterday?1

What will you do today?2

Is anything in your way?3

31

Page 32: Agile intro   module 1

The sprint review• Team presents what it accomplished during

the sprint

• Typically takes the form of a demo of new features or underlying architecture

• Informal

• 2-hour prep time rule

• No slides

• Whole team participates

• Invite the world

32

Page 33: Agile intro   module 1

Sprint retrospective• Periodically take a look at what is and is not

working

• Typically 15–30 minutes

• Done after every sprint

• Whole team participates

• ScrumMaster

• Product owner

• Team

• Possibly customers and others

33

Page 34: Agile intro   module 1

Start / Stop / Continue

• Whole team gathers and discusses what they’d like to:

Start doing

Stop doing

Continue doingThis is just one of many ways to

do a sprint retrospective.

34

Page 35: Agile intro   module 1

•Product owner•ScrumMaster•Team

RolesScrum framework

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ceremonies

•Product backlog•Sprint backlog•Burndown charts•Definition of Done

Artifacts

35

Page 36: Agile intro   module 1

Product backlog

This is the product backlog

36

•The features, functions, requirements, enhancements and fixes

•A list of all desired work on the project

•Ideally expressed such that each item has value to the users or customers of the product

•Ordered by the product owner

•Re-ordered at the start of each sprint

Page 37: Agile intro   module 1

A sample product backlogBacklog item Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a reservation. 5

As a guest, I want to change the dates of a reservation.

3

As a hotel employee, I can run RevPAR reports (revenue-per-available-room)

8

Improve exception handling 8

... 30

... 50

37

Or use T-Shirt sizes (S/M/L)

Page 38: Agile intro   module 1

The sprint goal• A short statement of what the work will be

focused on during the sprint

Database Application

Financial services

Life Sciences

Support features necessary for population genetics studies.

Support more technical indicators than company ABC with real-time, streaming data.

Make the application run on SQL Server in addition to Oracle.

38

Page 39: Agile intro   module 1

The Sprint Backlog

Definition

• subset of product backlog

• selected for this sprint

• plan for delivering the increment and realising the sprint goal

39

Page 40: Agile intro   module 1

Managing the sprint backlog

• Individuals sign up for work of their own choosing

• Work is never assigned

• Any team member can add, delete or change the sprint backlog

• Work for the sprint emerges

40

Page 41: Agile intro   module 1

Definition of Done

• Wanneer is een taak (een stuk code) af?

41

From a presentation by Ken Schwaber:1. I can readily understand the software and where and how things

happen;2. When I change or add to part of the software, there are no

unintended or poorly designed dependencies;3. I can read the code without lookin for tricks or poorly defined and

labeled variables or data;4. I don’t need the person(s) who wrote the code to explain it to me;5. There are a full set of (automated) tests to check that the function

works as expected;6. When I change something and add to the test, I can check that the

entire change and product continuous to work;7. How thing work and hang together is transparent, and8. Standard, well-known design principles have been adhered to.

Page 42: Agile intro   module 1

Definition of Done• Ten behoeve van de test wordt een voorstel voor een testaanpak opgeleverd.

• Een oplevering moet volledig zijn getest (door middel van een functionele en een regressietest) en de testresultaten moeten zijn beschreven / bevindingen zijn geregistreerd in een testrapport.

• Issues worden geregistreerd zoals beschreven in bijlage 1. Een oplevering mag per ernstcategorie niet meer dan het aantal bij de betreffende categorie vermeldde maximum toegestane open bevindingen bevatten.

• 80% van alle pagina’s moet binnen 2 seconden volledig zichtbaar zijn, de overige pagina’s moeten binnen 5 seconden zichtbaar zijn.

• Rapporten en overzichten welke dagelijks kunnen worden opgevraagd door teamleiders moeten binnen 15 seconden in beeld verschijnen, voor de overige rapporten is geen performance eis gesteld.

• Er moeten meerdere mensen tegelijk kunnen raadplegen en muteren.

• Coding guidelines van Microsoft worden gehanteerd.

• Per oplevering wordt een installatiehandleiding met release notes meegeleverd waarin o.a. het datamodel en de samenhang van de technische modules staan vermeld. Daarnaast wordt een set met User Stories die in de betreffende oplevering zitten meegeleverd.

• Elke oplevering moet op zowel de acceptatie- als productieomgeving geïnstalleerd kunnen worden, wat betekent dat iedere oplevering na de eerste oplevering een upgrade moet zijn in plaats van een full install. Deze moet voldoen aan de eisen van de beheerorganisatie van <klant>.

• Helpteksten dienen in de applicatie te staan om zodoende een gebruikershandleiding overbodig te maken, maar het is niet vereist dat deze ook middels een beheerscherm in de applicatie beheerd kunnen worden.

• Voor elke oplevering wordt er een architectuurcontrole uitgevoerd waaruit blijkt dat men zich gehouden aan de voorgeschreven architectuur.

• Voor elke oplevering wordt een installatie-test uitgevoerd waaruit blijkt dat de software succesvol installeerbaar op de infrastructuur zoals in gebruik bij <klant>

42

Page 43: Agile intro   module 1

Definition of Done

• Tested & bugfree• Deployed to test server,

so PO can test• All user actions• All supported browsers•IE7/8•Chrome•Firefox•Safari on Mac• Comments in code

43

• Refactoring• Code reviewed when

needed• Remember to check

the Style_guideline• Maintain wiki page• Maintain ERD document• Versions of components• License overview• Check the constraints

Page 44: Agile intro   module 1

ResponsibilitiesPO

Team

Scrum Master

Page 45: Agile intro   module 1

Scrum

• Lightweight

• Simple to understand

• Extremely difficult to master

45

Page 46: Agile intro   module 1

Sprint 1 Backlog

46

TO-DO DOING DONE

What is Agile?

Scrum

XP

Kanban

Page 47: Agile intro   module 1

XP - eXtreme Programming

47

• DEVELOPMENT approach

Page 48: Agile intro   module 1

XP Practices

48

Page 49: Agile intro   module 1

Sprint 1 Backlog

49

TO-DO DOING DONE

What is Agile?

Scrum

XP

Kanban

Page 50: Agile intro   module 1

On day in Kanban land

50

Page 51: Agile intro   module 1

On day in Kanban land

51

Page 52: Agile intro   module 1

On day in Kanban land

52

Page 53: Agile intro   module 1

On day in Kanban land

53

Page 54: Agile intro   module 1

On day in Kanban land

54

Page 55: Agile intro   module 1

On day in Kanban land

55

Page 56: Agile intro   module 1

On day in Kanban land

56

Page 57: Agile intro   module 1

On day in Kanban land

57

Page 58: Agile intro   module 1

On day in Kanban land

58

Page 59: Agile intro   module 1

On day in Kanban land

59

Page 60: Agile intro   module 1

On day in Kanban land

60

Page 61: Agile intro   module 1

On day in Kanban land

61

Page 62: Agile intro   module 1

Sprint 1 Backlog

62

TO-DO DOING DONE

What is Agile?

Scrum

XP

Kanban

Page 63: Agile intro   module 1

Sprint 2 Backlog

63

TO-DO DOING DONE

XP Game

Context

Page 64: Agile intro   module 1

Sprint 2 Backlog

64

TO-DO DOING DONE

XP Game

Context

Page 65: Agile intro   module 1

65

Page 66: Agile intro   module 1

The Rhineland Way

66

Anglo-american RhinelandBoss has authority Expert has authority

Individualism Solidarity

Unlimited growth Human limits

Soll as starting point Ist as starting point

Heroes Teamplay

Rule driven Principle-driven

Specialists Craftsmanship

Measuring = knowing Measuring is knowing

Quarterly reports Long term

Page 67: Agile intro   module 1

Cynefin

67

Visible Order C&E obvious

Hidden Order C&E discoverable

Complex Un-order C&E coherent in retrospect

Chaotic Un-order No perceivable C&E

Sense Categorise Respond

Act Sense

Respond

Page 68: Agile intro   module 1

68

Visible Order C&E obvious

Hidden Order C&E discoverable

Complex Un-order C&E coherent in retrospect

Chaotic Un-order No perceivable C&E

Novel Practice

Best Practice

Good Practice

Worst Practice

Page 69: Agile intro   module 1

69

Page 70: Agile intro   module 1

Intervention types

70

Empirically Known The domain of

the actual Legitimate best practice

STANDARD PROCEDURES PROCESS RE-ENGINEERING

Empirically Knowable The domain of the probable

Analytical/Reductionist SCENARIO PLANNING SYSTEMS THINKING

Complex The domain of many

possibilities Pattern Management

PERSPECTIVE FILTERS COMPLEX ADAPTIVE SYSTEMS

Chaos The domain of the

inconceivable Stability focused intervention

ENACTMENT TOOLS CRISIS MANAGEMENT

Page 71: Agile intro   module 1

House of commons

71

RhinelandersAnglo-americans

Cynefin observers

Position: current Anglo-american management

style is the best for our companies

Position: we definitely need to change to The Rhineland

Way

Observe the debate:were the solutions

(interventions) in line with the 4 Cynefin domains?

Page 72: Agile intro   module 1

Sprint 2 Backlog

72

TO-DO DOING DONE

XP Game

Context

Page 73: Agile intro   module 1

Credits• Several slides have been taken from the

Redistributable Scrum Introduction - Scrum Alliance

73


Recommended