agile scrum in theory and practice

34
Agile Scrum in Theory and Practice Application Development with The Agile Scrum Method Tom Pletzke, CSM

Upload: cara-vasquez

Post on 31-Dec-2015

32 views

Category:

Documents


0 download

DESCRIPTION

Application Development with The Agile Scrum Method. Agile Scrum in Theory and Practice. Tom Pletzke, CSM. Scrum Alliance. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Agile Scrum in Theory and Practice

Agile Scrum in Theory and Practice

Application Development with The Agile Scrum Method

Tom Pletzke, CSM

Page 2: Agile Scrum in Theory and Practice

Scrum Alliance

“Scrum is an agile framework for completing complex projects. Scrum originally was formalized for software development projects, but works well for any complex, innovative scope of work. The possibilities are endless. The Scrum framework is deceptively simple.”

http://www.scrumalliance.org/ http://www.youtube.com/watch?&v=XU

0llRltyFM

Page 3: Agile Scrum in Theory and Practice

Why Agile?

What are the Agile principles and practices that guide teams?

What are the roles of an Agile team? How do teams apply these Agile

practices? Maintain a high-level Product Backlog Conduct Release Planning Conduct Sprint Planning Track progress daily and stick to a heartbeat Deliver a demo with a review and retrospective

Page 4: Agile Scrum in Theory and Practice

Agile software development practices were introduced during 2007 to help improve productivity, cost and time to market

The IT industry widely recognizes that Agile practices help teams: Effectively manage changing requirements which leads to… Increased productivity (and Business Partner satisfaction) which

facilitates… Improved time to market therefore…

….driving cost down Agile practices address the typical IT project problems

through…. Developing usable software more quickly Providing timely and regular visibility of the software to the

Business Partner “Small to medium sized teams using Agile are on average

30-40% more productive than traditional teams” ****David Garmus – founder The David Consulting Group”

Page 5: Agile Scrum in Theory and Practice

Several popular variations of Agile Software Development exist, we will discuss the Scrum framework in this presentation

Methodologies all characterized by: Adaptive rather than predictive processes People oriented rather than process oriented Assume requirements will change Assume Business Partners do not know what

they want until they start using Short iterations or “builds” of 2 – 6 weeks Tight project planning for the short iterations Constant Business Partner interaction Integration/ regression testing as each build is

integrated into the whole

Page 6: Agile Scrum in Theory and Practice

At the heart of Agile, is a paradigm shift in the way projects are planned and managed

Constraints

Estimates

Requirements

ScheduleCost

ScheduleCost

Features

Plan Driven

Current PEP

Value /VisionDriven

Agile PEP

The Plan creates cost/schedule estimates The Vision creates feature estimates

Waterfall Agile

Page 7: Agile Scrum in Theory and Practice

The Waterfall method typically engages the Business Partner at specified touch points, with weeks of silence in between

Software SystemRequirements

Software SystemDesign

Detailed Design

Code & Unit Test

SystemRequirements

Review

PreliminaryDesign Review

Critical DesignReview

Test ReadinessReview

Business PartnerEngagement

System Concept

Business PartnerEngagement

Integration & Test

Page 8: Agile Scrum in Theory and Practice

Agile methods create a Business Partner feedback cycle with the project team which enables regular visibility of the software product

Product Owners

Define System

Plan Releases

Small Releases

Iterate Accept?

Track & Adjust

Release Roadmap

Product Backlog

Product Owner is a key role to this

process

Page 9: Agile Scrum in Theory and Practice

The success of Agile depends on the implementation of these guiding practices

Time-boxed development Establish a heartbeat through standup meetings, short

iterations and incremental releases Plan, design, build, test and review each iteration

Just in time elaboration of requirements Maximize work not done by avoiding unnecessary inventory

Highest priorities first Implement highest priorities to acceptance

Pull quality forward Reduce technical debt by building in quality early in the

lifecycle Collaborate, Inspect and Adapt

Visibility, reviews, demonstrations, retrospectives

Page 10: Agile Scrum in Theory and Practice

Program/Product Management with Scrum relies on multiple levels of planning with ever increasing detail

High Level (Less detail)

Release 1 Release 2 Release 3

Sprint 1 Sprint 2 Sprint 3 Sprint 4

Task 1 Task 2 … Task n

Who, What, How Long

Who, What, How LongWhat’s leftto do?

Product Roadmap

Release Plan

Sprint Plan

DailyVery Detailed

Burndown Chart

Product Vision

Page 11: Agile Scrum in Theory and Practice

At the lowest level of planning is the Sprint or iteration – this is where the task level details are elaborated and executed

Daily Scrum Meeting• Done since last meeting• Plan for today• Obstacles?

24 hours

14 days

Product Backlog Prioritized product featuresDesired by Business Partner

Backlog tasksexpandedby team

Sprint Planning Meeting• Review Product Backlog• Estimate Sprint Backlog• Commit to 14 days

Potentially ShippableProduct Increment

Sprint Review Meeting• Demo features to all• Retrospective on the Sprint

Sprint BacklogFeatures assigned to SprintEstimated by team

15 mins

3-4 hrs1-2 hrs

Sprint = iteration

Scrum Framework

Page 12: Agile Scrum in Theory and Practice

Agile encourages “cake slice” development and testing…

So the Product Owner has visibility to functionality earlier

and provide feedback often…

…as opposed to the traditional “cake layer” approach in waterfall methods

Page 13: Agile Scrum in Theory and Practice

Collaboration and Consensus

High performance teams rely on collaboration to create and respond to change

Collaboration – team makes decisions, project manager only guides the decision process

Consensus – “I can live with and support that.” Fist of five:

▪ 5 = wild, unbridled support▪ 4 = this is a fine idea, wish I’d thought of it▪ 3 = I can live with and support it▪ 2 = I have reservations I’d like to think about▪ 1 = I am very opposed; we shouldn’t move forward

Page 14: Agile Scrum in Theory and Practice

Pigs and Chickens

Pigs are fully committed (Development Team, Product Owner/Business Partner, Project Manager/Scrum Master)

Chickens can make contributions (Team Advisors) Only the fully committed can speak in daily

meetings Contributors only get to observe in Daily Standup They are active contributors in Planning and

Review meetings

Page 15: Agile Scrum in Theory and Practice

Six Step Approach for Applying Agile Practices

Create a Product Vision Define a Product Backlog Conduct Release Planning Conduct Sprint Planning Track Daily Progress and Maintain

Heartbeat Deliver a Sprint Demo, Review, and

Retrospection

Page 16: Agile Scrum in Theory and Practice

Define a Product Backlog

Product Backlog – what are all the desired features for this product?

Product Owner defined and prioritized though others contribute items (Architect, Team, Stakeholders)

Team estimate at the gross level Story Points - tells the team how large a story is

Prioritization and estimation: First best guess, high order Fluid and organic

New items can be added at any time to the Product Backlog

Page 17: Agile Scrum in Theory and Practice

Story Points

A story point is a number that tells the team how large a story is

1 2 3 5 13 10040

Complexity

Effort

Unknowns

A typoThe largest new feature

Story points == actual hours

8 21

Page 18: Agile Scrum in Theory and Practice

Actual Backlog From iPhone Project

Story ID Story Priority Points Release Sprint Status

1.1 Download and Install Software 1 2 1 1 Complete

1.2 Procure Mac 2 2 1 1 Complete

1.3 Program simple "hello world" app in xcode4 3 5 1 1 Complete

1.4 Design Meeting with Sponsor 4 5 1 1 Complete

1.5 Research web service connectivity to iPhone 5 2 1 1 Complete

1.6 LCB app icon graphic completed 6 3 1 1 Complete

1.7 Place "hello world" app on personal iPhone 7 2 1 1 Complete

1.8 Screen menu display complete 8 13 1 1 Complete

1.11 Complete bio iPhone page 9 5 1 1 Complete

1.12 Link Core Data database to iPhone bio page 10 3 1 1 Complete

1.15 Complete Event listings display 11 8 1 1 Complete

1.16 Link Core Data database to event listing page 12 5 1 1 Complete

1.13 Complete web links iPhone page 13 3 1 1 Complete

1.14 Link Core Data database to web links page 14 3 1 1 Complete

1.17 Link and add app to personal iPhone 15 3 1 1 Complete

1.18Testing phone app 16

3 1 1Complete

1.10

Write program to fill Core Data database from XML web page file for ( event listing, web links, bio)

17

13 1 1

Complete

1.9 Test HTTP GET calls to XML Web Page 18 5 1 1 Complete

1.19 Add event button to home page to go to events page. 19 2 2 1 Blocked

1.20

Add email button to detailed events page that will send event details via iPhone mail client.

20 8 2 1

Blocked

1.21 Use RSS feed from ReverbNation instead of Lost City Band XML. 21 5 2 1 Blocked

Page 19: Agile Scrum in Theory and Practice

Actual Release Plan From iPhone Project

RELEASE PLAN

Release: 1.0  Theme: Apple iPhone App for the Lost City Band  Updated: 10/14/2011  Release Start Date: 9/30/11  Release End Date: 12/2/11  Release Story Points: 85Number of Sprints: 1   Total Story Points Expected: 85Total Story Points Planned: 85Total Story Points Completed: 85Expected Percent Complete (EPC)100%Actual Percent Complete (APC) 100%Sprint #: 1Theme Apple iPhone App for the Lost City BandStatus CompleteStart Date 9/30/2011End Date 12/2/2011Story Points Planned  85Story Points Completed  85

Stories Included (ID#)

1.1 Download and Install Software1.2 Procure Mac1.3 Program simple "hello world" app in xcode41.4 Design Meeting with Sponsor1.5 Research web service connectivity to iPhone1.6 LCB app icon graphic completed1.7 Place "hello world" app on personal iPhone1.8 Screen menu display complete1.9 Test HTTP GET calls to XML Web Page1.10 Write program to fill SQLite database from XML web page file for ( event listing, web links, bio)1.11 Complete bio iPhone page1.12 Link Core Data database to iPhone bio page1.13 Complete web links iPhone page1.14 Link Core Data database to web links page1.15 Complete Event listings display1.16 Link Core Data database to event listing page1.17 Link and add app to personal iPhone1.18 Testing phone app

Page 20: Agile Scrum in Theory and Practice

Sprint Planning Meeting

Sprint Planning

Meeting

Product Backlog

Team Capabilities

Business Conditions

Technology

Current Product

Produ

ct O

wner

Devel

opm

ent T

eam

Man

agem

ent

Busin

ess

Partn

ers

• Priorities• Detailed Tasks• Detailed Estimates• Assignments

Sprint Goal

Sprint Backlog

Inputs

Participants

Outputs

Page 21: Agile Scrum in Theory and Practice

Sprint Planning Meeting

Review the current Product/Release Backlog Estimate team velocity Select an initial Sprint Backlog with theme Task out stories and provide estimates

using story points Finalize priorities Complete task definitions and assignments Commit team Alert stakeholders

Page 22: Agile Scrum in Theory and Practice

Daily Standup

Purpose: To collect status and set the day in motion

Participants: All team members: developers, testers, Business Partners, project manager

Agenda: 15 minutes (1-2 min/participant)▪ “What did I do yesterday?”▪ “What I am doing today?” ▪ “What is getting in my way?”

Outcomes: Team commits to tasks for the day Re-assignments as necessary Updates to Burndown Chart, task status, and story

status

Page 23: Agile Scrum in Theory and Practice

Daily Standup—The “Gotchas”

Same place/same time every day (What works for the team?)

Always start on time – honor each other’s time

NO PROBLEM SOLVING! Everyone is responsible for keeping to

the agenda and time box This is the TEAM’S meeting.

Page 24: Agile Scrum in Theory and Practice

Actual Burndown From iPhone Project

Sta

rt

30

-Se

p

7-O

ct

14

-Oct

21

-Oct

28

-Oct

4-N

ov

11

-No

v

18

-No

v

25

-No

v

2-D

ec

9-D

ec

16

-De

c

23

-De

c

30

-De

c

6-Ja

n

-

20

40

60

80

100

120

140

Sprint 1 Burndown Chart

Remaining Resource Capacity Remaining Hours of Work

Page 25: Agile Scrum in Theory and Practice

Sprint Burndown Spreadsheet – iPhone Project

 

         

Hours of Work Remaining @  

     

Task Description ID Priority Responsible

Status Actuals Start 30-Sep 7-Oct 14-Oct 21-Oct

Remaining Capacity (hours left)           126

126

112

98

84

Sprint Total           121

121

107

99

89

          

        

Download and Install Software 1.1 1

Tom Completed 8 4 4 0 0 0

Procure Mac 1.2 2

Tom Completed 3 3 3 0 0 0

Program simple "hello world" app in xcode4 1.3 3

Tom Completed 5 3 3 0 0 0

Design Meeting with Sponsor 1.4 4

Tom Completed 5 2 2 0 0 0

Research web service connectivity to iPhone 1.5 5

Tom Completed 10 2 2 0 0 0

LCB app icon graphic completed 1.6 6

Tom Completed 3 4 4 4 0 0

Place "hello world" app on personal iPhone 1.7 7

Tom Completed 2 2 2 2 0 0

Screen menu display complete 1.8 8

Tom Completed 35 20 20 20 18 8

Complete bio iPhone page

1.11 9

Tom Completed 6 4 4 4 4 4

Link Core Data database to iPhone bio page

1.12 10

Tom Completed 8 4 4 4 4 4

Page 26: Agile Scrum in Theory and Practice

Issue Log – iPhone – UAT / Meetings

Issue Log  

ID Issue Originator Issue DateAction for Status Comment1.5Raised issue that web

service may be difficult.Tom 10/7/2011 Tom Closed Will research in more detail this week.

Solution: Will be using SQLite, XML, and HTTP GET to retrieve data.

1.15Raised issue that event listing is a critical part of the project and may need attention earlier

Tom 10/13/2011Tom Closed Will research the difficulty of event listing from SQLite. Spent many hours researching and feel I can do the project using sqlite most likely using something called core data.

2Presentation date for Walsh project is the same date as a big update at job.

Tom 28-Oct-11 Tom Closed Tom will let work know that he is not available the morning of December 10. Tom's work was notified and has agreed that it is ok for Tom to be unavailable the morning of December 10.

2.4No backup for mini mac Tom 21-Nov-11 Tom Closed Investigate options if min-mac fails. Will see if a laptop with xcode4 loaded will be available at the fair.

Page 27: Agile Scrum in Theory and Practice

User Stories

Show Actual User Story

Page 28: Agile Scrum in Theory and Practice

Design Document

Show Actual Design Document

Page 29: Agile Scrum in Theory and Practice

Release Workbook

Show Actual Release Workbook

Page 30: Agile Scrum in Theory and Practice

Sprint Demo

Sprint Demo Potentially shippable functionality Development team conducts DEMO for Product

Owner and Stakeholders Team gathers feedback Product Owner uses demo to guide future

decisions Spend no more than 2-3 hours preparing the

demoNO POWERPOINT!

Page 31: Agile Scrum in Theory and Practice

Sprint Retrospective

The team’s chance to build in learning and adjustment

Retrospection is at the heart of the agile principles – creating and responding to change about how the team will perform

Sprint Retrospective: What worked well in this Sprint that we

would do again? What caused us difficulty? What new things do we want to try in the

next Sprint? Celebrate!

Page 32: Agile Scrum in Theory and Practice

Success Factors for Agile

Co-located teams are better Small team size – 8 or less ideally Product owner involvement No multiplexing of team members Sustainable pace Continuous integration of builds Concurrent and automated testing Power of the retrospective

Page 33: Agile Scrum in Theory and Practice

Rally Software

Web Based Scrum Management Software

http://www.rallydev.com/

Page 34: Agile Scrum in Theory and Practice

Agile Scrum in Theory and Practice

Application Development with The Agile Scrum Method

Tom Pletzke, CSM

?