Download - Applying Agile Methodology

Transcript
Page 1: Applying Agile Methodology

Applying Agile Methodology

- Harmeet Sudan, PMP

Page 2: Applying Agile Methodology

Waterfall vs. AgileThe Waterfall approach to product development may conflict with the goals of maximum speed and flexibility. Instead a holistic or “rugby” approach – where a team tries to go the distance as a unit, passing the ball back and forth – may better serve today’s competitive requirements.

Page 3: Applying Agile Methodology

The Agile Manifest – a Statement of Values

Process and toolsIndividuals and interactions over

Following a planResponding to change over

Comprehensive documentationWorking software over

Contract negotiationCustomer collaboration over

Page 4: Applying Agile Methodology

Rather than doing all of one thing at a time...

...Scrum teams do a little of everything all the time

Requirements Design Code Test

Sequential vs. overlapping development

Page 5: Applying Agile Methodology

Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.

It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).

The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.

Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.

Scrum in 100 words

Page 6: Applying Agile Methodology

Self-organizing teams Product progresses in a series of month-long

“sprints” Requirements are captured as items in a list of

“product backlog” No specific engineering practices prescribed Uses generative rules to create an agile

environment for delivering projects One of the “agile processes”

Characteristics of Scrum

Page 7: Applying Agile Methodology

CancelGift wrap

Return

Sprint2-4 weeks

ReturnSprint goal

Sprint backlog Potentially shippableproduct increment

Product backlogCouponsGift wrap

CouponsCancel

24 hoursScrum

Page 8: Applying Agile Methodology

Putting it All together

Page 9: Applying Agile Methodology

The Planning Onion

Agile teams plan on the innermost three levels.

Others (on the team in the company) plan on the outer three levels.

Strategy

Portfolio

Product

Release

Iteration

Daily

Page 10: Applying Agile Methodology

An Agile Approach to Planning

Release

Release planning

Conditions of Satisfaction

(scope, schedule, resources)

Iteration

Development

Iteration planning

Conditions of Satisfaction

(scope)

Product increment

Feedback

Feedback

Page 11: Applying Agile Methodology

Relating the Different Planning Levels

As a frequent flyer, I want to… 3

As a frequent flyer, I want to… 5

As a frequent flyer, I want to… 5

As a frequent flyer, I want to… 2

As a frequent flyer, I want to… 2

Itera

tion

1Ite

ratio

n 2

Product BacklogCode the UI 8

Write test fixture 6Code Middle tier 12

Write tests 5Automate Tests 4

Iteration Backlog

“Yesterday I started on the UI; I should finish before the end of today.”

Page 12: Applying Agile Methodology

Scrum projects make progress in a series of “sprints”◦ Analogous to Extreme Programming iterations

Typical duration is 2-4 weeks or a calendar month at most

A constant duration leads to a better rhythm Product is designed, coded, and tested during

the sprint

Sprints

Page 13: Applying Agile Methodology

• Plan sprint durations around how long you can commit to keeping change out of the sprint

No Changes During a SprintChange

Page 14: Applying Agile Methodology

•Product owner•ScrumMaster•Team

Roles

Scrum framework

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

Ceremonies

•Product backlog•Sprint backlog•Burndown charts

Artifacts

Page 15: Applying Agile Methodology

Scrum framework

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

Ceremonies

•Product backlog•Sprint backlog•Burndown charts

Artifacts

•Product owner•ScrumMaster•Team

Roles

Page 16: Applying Agile Methodology

Role DescriptionProduct Owner Define the features of the product

Decide on release date and contentBe responsible for the profitability of the product (ROI)Prioritize features according to market valueAdjust features and priority every iteration, as neededAccept or reject work results

ScrumMaster Represents management to the projectResponsible for enacting Scrum values and practicesRemoves impedimentsEnsure that the team is fully functional and productiveEnable close cooperation across all roles and functionsShield the team from external interferences

Team Typically 5-9 peopleCross-functional:

Programmers, testers, user experience designers, etc.Members should be full-time

May be exceptions (e.g., database administratorTeams are self-organizing

Ideally, no titles but rarely a possibilityMembership should change only between sprints

Scrum Roles

Page 17: Applying Agile Methodology

•Product owner•ScrumMaster•Team

Roles

Scrum framework

•Product backlog•Sprint backlog•Burndown charts

Artifacts

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

Ceremonies

Page 18: Applying Agile Methodology

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

Sprint Planning

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)

Page 19: Applying Agile Methodology

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 unnecessary meetings

The Daily Scrum

Page 20: Applying Agile Methodology

These are not status updates for the ScrumMaster◦ These are commitments in front of peers

Everyone Has Three Questions

What did you do yesterday?1

What will you do today?2

Is anything in your way?3

Page 21: Applying Agile Methodology

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

The Sprint Review

Page 22: Applying Agile Methodology

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

Sprint retrospective

Page 23: Applying Agile Methodology

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.

Page 24: Applying Agile Methodology

•Product owner•ScrumMaster•Team

Roles

Scrum framework

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

Ceremonies

•Product backlog•Sprint backlog•Burndown charts

Artifacts

Page 25: Applying Agile Methodology

Product backlog

•The requirements

•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

•Prioritized by the product owner

•Reprioritized at the start of each sprintThis is the

product backlog

Page 26: Applying Agile Methodology

A Sample Product BacklogBacklog item Estimate

Allow a guest to make a reservation 3As a guest, I want to cancel a reservation. 5As a guest, I want to change the dates of a reservation. 3As a hotel employee, I can run RevPAR reports (revenue-per-available-room) 8Improve exception handling 8... 30... 50

Page 27: Applying Agile Methodology

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

on during the sprint

Database Application

Financial services

Life SciencesSupport features necessaryfor 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.

Page 28: Applying Agile Methodology

Individuals sign up for work of their own choosing◦ Work is never assigned

Estimated work remaining is updated daily Any team member can add, delete or change the

sprint backlog Work for the sprint emerges If work is unclear, define a sprint backlog item with a

larger amount of time and break it down later Update work remaining as more becomes known

Managing the Sprint Backlog

Page 29: Applying Agile Methodology

A sprint backlog

TasksCode the user interfaceCode the middle tierTest the middle tierWrite online helpWrite the foo class

Mon8

168

128

Tues4

1216

8

Wed Thur

411

84

Fri

8

8Add error logging

81016

88

Page 30: Applying Agile Methodology

A sprint burndown chart

Hour

s

Page 31: Applying Agile Methodology

Hour

s

403020100 Mon Tue Wed Thu Fri

TasksCode the user interfaceCode the middle tierTest the middle tierWrite online help

Mon8

168

12

Tues Wed Thur Fri4

1216

711

81016 8

50

Page 32: Applying Agile Methodology

Typical individual team is 7 ± 2 people◦ Scalability comes from teams of teams

Factors in scaling◦ Type of application◦ Team size◦ Team dispersion◦ Project duration

Scrum has been used on multiple 500+ person projects

Scalability

Page 33: Applying Agile Methodology

Scaling through the Scrum of scrums

Page 34: Applying Agile Methodology

Scrum of scrums of scrums

Page 35: Applying Agile Methodology

Recap

Page 36: Applying Agile Methodology

Product Owner explains the Scope

Page 37: Applying Agile Methodology

Team estimates the complexity and task details

Page 38: Applying Agile Methodology

Sprint Review

Page 39: Applying Agile Methodology

Sprint Demo

Page 40: Applying Agile Methodology

Daily Scrum

Page 41: Applying Agile Methodology

Daily Scrum – Contd…

Page 42: Applying Agile Methodology

Product Backlog

Page 43: Applying Agile Methodology

Sprint Backlog

Page 44: Applying Agile Methodology

Typical Scrum Board

Page 45: Applying Agile Methodology

Typical Scrum Board – Contd…

Page 46: Applying Agile Methodology

Agile Tool Demo

Page 47: Applying Agile Methodology

https://vtv.v1host.com/11/?edition=enterprise&release=11.3&page=MainMenu.MyHome

Enterprise Product Tour Video – VersionOne

Page 48: Applying Agile Methodology

Next Steps

Page 49: Applying Agile Methodology

Effective User Stories for Agile Requirements Estimation Techniques Agile for Testing Agile for Program Management Office

Presentations and Discussion

Page 50: Applying Agile Methodology

Appendix

Page 51: Applying Agile Methodology

www.mountaingoatsoftware.com/scrum www.agilemanifest.com “The New New Product Development Game” by

Takeuchi and Nonaka. Harvard Business Review, January 1986.

Sources

Page 52: Applying Agile Methodology

Product Backlog TemplateProduct Backlog Template

Release No

Sprint No

Req No

Functional/Non-Functional

Feature Name

User Description Priority

Business Value (BV)

Estimate

Estimation Risk

Error Severity

Originator

Creation Date

Created By Status

Closed Date

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

                               

Total Points 0 0

Page 53: Applying Agile Methodology

Sprint Plan TemplateSprint Planning from 5-Oct-2009 to 30-Oct-2009

Week1Onsite Team Offshore Team

Sl.No Phase NameTask Description PSD PED

Assigned To

Efforts Status T1 T2 T3 T4 T5 T6 T7 T8 T9

T10 T11 T12

T13

T14 T15 T16 T17 T18 T19 T20 T21 T22 T23

WEBSITE REDESIGN - DESKTOP VERSION - POST DEPLOYMENT TASKS Total Efforts 1 0 8 24 0 0 39.5 0 0 8 0 0 0 0 0 17 35 0 0 0 0 0 0

1 Design SEO 22-Oct-09 26-Oct-09 ALL 20 Closed      

2 Design Progress bar, Button and Form design for User registration 22-Oct-09 26-Oct-09 ALL 20 Closed      

3 Roll Out Virginia and Tenesse  zips not launching those site 5-Oct-09 6-Oct-09 ALL 24 Closed 4  5  

4 Roll Out Change Label Coler from Red to Blue 5-Oct-09 7-Oct-09 ALL 3 Closed 1   

5 Roll Out Shows Incorrect in Safari on Mac 5-Oct-09 7-Oct-09 ALL 5 In Progress 4  2  

6 Roll Out Sometimes get error on page warning when going back 5-Oct-09 7-Oct-09 ALL 32 Closed 12  2 6  

7 Roll OutCopyright should be Changed to Copyright(mark) 2009 Alfa Mutual Insurance Company 5-Oct-09 7-Oct-09 ALL 16 Closed 2.5  4  

8 Roll Out Requirement missed as part of project execution 5-Oct-09 21-Oct-09 ALL 80 Closed 1   

9 Roll Out Need to be able to press enter instead of clicking execute button 5-Oct-09 7-Oct-09 ALL 5 Closed 3  1 6  

10 Roll Out FAQ, if you click on multiple FAQ's - Error on Page 5-Oct-09 7-Oct-09 ALL 32 Closed 3  1 3  

11 Roll Out Tracking Script is Commented Out 5-Oct-09 6-Oct-09 ALL 20 Closed 3  4  

12 Roll Out Billmatrix page is centered in IE7 but is left aligned in other browsers 5-Oct-09 8-Oct-09 ALL 30 In Progress 4   

13 Roll OutThe mouse pointer no longer changes when you mouse over the action button 12-Oct-09 13-Oct-09 ALL 6 In Progress      

14 Roll Out All banners have to load before site starts 5-Oct-09 14-Oct-09 ALL 64 Closed     4  

15 Roll Out If you select as state then do agent locator and come back text is gone? 5-Oct-09 14-Oct-09 ALL 40 Closed     1 6  

16 Roll Out All tickers have to load before site starts 5-Oct-09 14-Oct-09 ALL 64 Closed     3  

17 Roll OutApplication urls and emails need to be looked UP From Table by Environment, Not Hard Coded. For example customer stories email 5-Oct-09 14-Oct-09 ALL 64 In Progress 1   

18 Roll Out These are high maintenance, need to pull from common file 5-Oct-09 28-Oct-09 ALL 80 In Progress 1   

19 Roll Out

"FARMS" to be re-located from underHome to Top of the menu list. Should reflect in all pages which has left handside navigation menu. "Auto, Home, Life, Farm" to be the order.  

"Farm" to be renamed as "Farms" - Will confirm this

15-Oct-09 28-Oct-09

ALL 60 Closed      

20 Roll Out Review efforts on Roll Out tasks 5-Oct-09 30-Oct-09 ALL 100 In Progress 1 8 24     8 4  

WEBSITE REDESIGN - MOBILE SITE Total Efforts 0 0 8 0 0 0 0 0 0 8 0 0 0 0 0 45 0 0 24 0 0 0 0

21 Design Creation of iPhone New Application design 28-Oct-09 29-Oct-09 ALL 20 Closed      

22 Construction

iPhone to Non-iPhone HTML Migration for New design

7-Oct-09 16-Oct-09 ALL 20 Closed     10 24