agile an introduction for pmps. agile beginnings 1990 circa: many late schedules and death marches...

23
Agile An introduction for PMPs

Upload: emil-goodwin

Post on 27-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Agile

An introduction for PMPs

Page 2: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Agile beginnings

1990 circa: Many late schedules

and death marches to delivery

2001: Agile Alliance created

Page 3: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding 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.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham,

Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern,

Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas www.agileAlliance.org

The Agile Manifesto (2001)

Page 4: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Principles of Agile1. Our highest priority is to satisfy the customer through

early and continuous delivery of valuable software.

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

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

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

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

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

http://agilemanifesto.org

Page 5: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Principles of Agile7. Working software is the primary measure of

progress.

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

9. Continuous attention to technical excellence and good design enhances agility.

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

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

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

http://agilemanifesto.org

Page 6: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Why should we change to Agile?

Improve productivity with focused teams

Meet quality requirements by getting to “done done” at the end of each

iteration

Increase customer satisfaction by engaging endusers/beta sites early

Increase project transparency with demo’ing & delivering working software

early and often

Page 7: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Lots of Agile methods & practices

They are all similar!!! Scrum Dynamic System Development Method (DSDM) Extreme Programming (XP) Test Driven Development Lean Software Development Crystal Feature-driven development (FDD) etc

Page 8: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Lots of Agile methods & practices

Scrum – popular (US) project management method

Dynamic System Development Method (DSDM) – popular (Europe) project management method

Extreme Programming (XP) – pair programming, and more developer best practices + story driven

Test Driven Development – design the test framework before writing all the code

Lean Software Development – learnings from manufacturing’s lean six sigma

Crystal – a set of maturity models

etc

etc

Page 9: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Agile Practice Penetration @Microsoft

Source: Usage and Perceptions of Agile Software Development in an Industrial Context, Begel & Nagappan, Sept 2007, n=487

Page 10: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Let’s talk about Scrum

Page 11: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Scrum Framework

Small cross-functional teams 7 people +/- 2 Series of Sprints (iterations), 2-4 weeks in duration Each Sprint produces a working increment of software To start a Sprint the team selects & commits to

stories from the Product Backlog in priority order To close of a Sprint, we demo/evaluate progress Between Sprints, the Product Owner can modify &

reprioritize the Product backlog

Page 12: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Product backlog Prioritized list of features represented as stories Can adjust between iterations as needed Managed by Product Owner Priorities are driven by business value ROI Some stories may be for technical infrastructure

Priority

Title User Story

1 Agile for PMP FAQ

As a PMP new to agile, I need a FAQ to answer my basic questions around agile and how to get started based upon a ‘common’ agile issue or question (e.g. What PMBOK processes does Agile replace or modify? )

2 Scrum Master Definition

As a PMP, I need introductory material for the Scrum Master new to agile so that I understand this new role, how to best contribute in this role, and what is expected of me.

Page 13: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Sprint Backlog

A prioritized list of stories taken from the top of the product backlog based on the team’s estimate of what can be completed during the next iteration

Created at the start of an iteration/sprint A story can be de-scoped (move back to product

backlog) New stories should not be added during the

Sprint

Page 14: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Burndown chart

One of many “information radiators,” ie dashboard pieces

During Scrum, progress on tasks are tracked then reported publicly

Manage tasks, estimates and burndown charts

Page 15: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Scrum Meetings Estimation Meeting

Team meets with product Owner to discuss Backlog Items and assign a relative size value to each.

Planning Meeting Occurs at the start of each sprint (iteration). Two parts.

1. Product manager and team meet and agree the next product increment.

2. Team then determines the tasks for each backlog item.

Daily Scrum Meetings aka Daily Standup Maximum 15 minutes. Team meets to update the task chart and

report on progress and impediments. What did you do yesterday, today, issues?

Review Team meet with Product Owner at the end of the sprint to

demonstrate the working software from the sprint.

Retrospective Team meets with Scrum Master to inspect and adapt on their

process.© 2006, Tobias Mayer/Agile Thinking - http://agilethinking.netSlide Credit:

Page 16: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Agile Iteration Cadence

Dem

o &

Retro

Iteration N Iteration N+1Iteration N-1

Deta

iled

Itera

tion

P

lan

nin

g &

Desig

n

Dev Feature Priority 1

Auto. TestsFeature 1Dev Feature

Priority 2

Dev Feature Priority 3

Auto. TestsFeature 3

Dev Feature Priority 4

Auto. TestsFeature 4Dev Feature

Priority 5

Auto. TestsFeature 5

Accep

t

Accep

t

Accep

tAuto. TestsFeature 2

Accep

t

Accep

t

Requirements Are Refined

Initial Elaboration Requirements

With Tests

Slide Credit:

Page 17: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Scrum on One Page

Page 18: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Done Done Done

Coded – it works on the developer’s box Verified – Unit tested and they work on

Integration box Validated – accepted by ProductOwner as

being what was needed

http://danube.com/blog/dan_rawsthorne/done_done_done_done

Page 19: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Technical Debt

By not enforcing high quality standards in the definition of “Done.” Cutting corners to achieve a higher velocity and meet impossible timelines leads to build up of low quality, unmaintainable code. Death spiral: As the maximum velocity of system goes down, even more corners are cut to compensate until the velocity approaches 0. Key people move on to make new messes elsewhere.

* Ref: http://danube.com/blog/kanemar/technical_debt_and_the_death_of_design_part_1.html

Page 20: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Scrum Roles

Responsible for managing and prioritizing the Product Backlog, and for accepting the software

at the end of each iteration

Responsible for shepherding the team, removing impediments,

keeping the process moving, and socializing scrum to the greater

organization

Responsible for estimating size of backlog items, committing to

increments of deliverable software – and delivering it. Tracks own

progress (with Scrum Master). Is self-organizing – but accountable

to the product owner for delivering as promised.

CONSTANT COLLABORATION AND COMMUNICATION ARE

KEY

Product Owner or PO team

Scrum Master The Team

ChickensUsersStakeholders/SponsorsManagers

Page 21: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Requirements process

Progressive elaborationThemes

Marketing/Customer Requirements

Headlines

Epic User Stories

User Stories

Product Backlog / Features

Page 22: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

Headlines (Epic)

As a user, I want to schedule a service appointment.

Breakdown into user stories: As a returning user, I want to login to the service

department website As a user, I want to view recommended service

for my vehicle As a user, I want to select an appointment date

and time for service As the system, I want to send the user a

confirmation email once service is scheduledSlide Credit:

Page 23: Agile An introduction for PMPs. Agile beginnings 1990 circa: Many late schedules and death marches to delivery 1995 circa: Many new SW development methods

What’s Different about Testing in Agile?

Just-In Time Requirements Elaboration No Functional Spec waterfall docs to drive test

planning Requirements and Test Cases developed in

parallel or test first strategy

More Frequent Iterations, More Frequent Releases Testing needs to happen Early and Often Frequent to continuous regression testing High need to automate nearly everything Everyone needs to Test

Two Levels of Testing Iteration Vs. Release testing patterns

Slide Credit: