47
Lessons Learned from Practical Application Presented to NM Women In Technology June 28, 2012 Ana Lopez, Certified Scrum Master Lisa Milmine, Certified Scrum Master Software Application Engineering Sandia National Laboratories Agile Implementation

Practical application of scrum final

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Practical application of scrum final

Lessons Learned from Practical Application

Presented to NM Women In Technology

June 28, 2012

Ana Lopez, Certified Scrum Master Lisa Milmine, Certified Scrum Master

Software Application Engineering

Sandia National Laboratories

Agile Implementation

Page 2: Practical application of scrum final

Presentation Overview

• Agile Development

• The Scrum Framework

• Lessons Learned and Recommendations (So what)

Page 3: Practical application of scrum final

What is Agile?

Frequently delivering business value while adapting to change

Agile is a philosophy

Agile is applied through a method (like XP or Scrum)

See: Shore, James and Shane Warden. The Art of Agile Development, Sabastopol, CA: O’Reilly Media, Inc. , 2008. Print.

Page 5: Practical application of scrum final

Agile Manifesto

“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.” See: Manifesto for Agile Software Development: http://agilemanifesto.org/

Page 6: Practical application of scrum final

12 Principles

Satisfy the customer through early and continuous delivery of valuable software.

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

Welcome changing requirements, even late in development.

Regular adaptation to changing circumstances

See: Manifesto for Agile Software Development: http://agilemanifesto.org/principles.html

Page 7: Practical application of scrum final

12 Principles (Cont.)

Build projects around motivated individuals.

Self-organizing teams

Continuous attention to technical excellence and good design

Working software is the primary measure of progress.

See: Manifesto for Agile Software Development: http://agilemanifesto.org/principles.html

Page 8: Practical application of scrum final

12 Principles (Cont.)

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

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

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

Agile processes promote sustainable development.

See: Manifesto for Agile Software Development: http://agilemanifesto.org/principles.html

Page 9: Practical application of scrum final

Why everyone likes agile

• Executives and Senior Management − Return on investment − Software longevity

• Users and Stakeholders − Influence the direction of software development − Teams focus on delivering useful and valuable software − Increased delivery frequency

• Project Managers − Change direction as business needs change, − Make and meet commitments − Improved stakeholder satisfaction

• Developers − Increased technical quality − Greater influence over estimates and schedules and team autonomy

• Testers − Part of the team − Influence quality at all stages of the project

See: Shore, James and Shane Warden. The Art of Agile Development, Sabastopol, CA: O’Reilly Media, Inc. , 2008. Print.

Page 10: Practical application of scrum final

What is Scrum?

An agile framework focused on delivering business value in short incremental periods (sprints)

Created in the early 1993 at Easel Corporation

Specifically suited for complex problems

Defined in The Scrum Guide: The Definitive Guide to Scrum: The Rules of the Game

- Developed and Sustained by Ken Schwaber and Jeff Sutherland

Term “scrum” inspired by a Rugby formation for players used to restart the play of a game usually after an infraction. A team approach.

Origins: http://scrum.jeffsutherland.com

Page 11: Practical application of scrum final

• Software development is - Complex

- Always Broken

• A proven method for meeting customer needs is to use the ideas of Agile, including empirical process control.

• Empirical Process Control: • Inspection

• Adaptation

• Transparency

Scrum Philosophy

Empirical Process: http://en.wikipedia.org/wiki/Empirical_process_(process_control_model)

Page 12: Practical application of scrum final

The Process

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Process: http://www.scrumalliance.org/learn_about_scrum

Page 13: Practical application of scrum final

The Product Backlog

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 14: Practical application of scrum final

The Sprint Planning

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 15: Practical application of scrum final

The Sprint Planning Tasks

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 16: Practical application of scrum final

The Sprint

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 17: Practical application of scrum final

The Daily Standup

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 18: Practical application of scrum final

The Sprint Objective – Working Software

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 19: Practical application of scrum final

The Review

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 20: Practical application of scrum final

The Retrospective

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 21: Practical application of scrum final

The Iterative Process

User Story

Two Questions

Three Questions

Sprint Backlog Tasks

Page 22: Practical application of scrum final

Scrum Roles

• Product Owner (PO) Responsible for the success/business value of project

Empathetically represents customers

Uses insight to prioritize essential/incidental requirements

• Scrum Master (SM) A process facilitator, NOT a project/people manager

Resolves impediments, helps team focus on value

• Team Self managed, self organizing to get the work done

Owns/takes responsibility for process

Scrum recommends 7 +/- 2 team members at most

Page 23: Practical application of scrum final

Scrum Artifacts

• Product backlog Prioritized list of desired project requirements Founded from product Vision

• Sprint backlog/Task backlog Set of work from the product backlog that the team agrees to complete in a sprint, broken into tasks

Follow a clearly defined Definition of Done

• Burn-down or Burn-up chart At-a-glance look at the work remaining

• Release set Minimally marketable release

Page 24: Practical application of scrum final

Ceremonies (aka meetings)

• Sprint planning The team and product owner estimate and negotiate a set of work to deliver during a sprint

• Daily scrum The team meets each day to report progress, next steps, and impediments Facilitated by SM – team reports to each other

• Sprint reviews The team demonstrates to the product owner and stakeholders what it has completed during the sprint (working software)

• Sprint retrospectives The team looks for ways to improve the process. Facilitated by SM

Page 25: Practical application of scrum final

User Stories

• Describes functionality that is valuable to a user/stakeholder

The “what” not the “how”

• Written from the customers perspective

• Represents customer priorities

• Reminders to have a conversation

• A user story is NOT a contract or agreement Everything can go in the backlog

Page 26: Practical application of scrum final

Backlog Grooming

• A regular meeting to manage the backlog of stories Grooming activities include: • Creating /Removing stories in response to newly discovered

needs

• Re-assessing the relative priority of stories

• Assigning estimates to stories which have yet to receive one

• Correcting estimates in light of newly discovered information

• Splitting large user stories into multiple sprint sized stories

• Development of acceptance criteria

Page 27: Practical application of scrum final

Project Status/Information Radiators

• Level of Effort Story Points, T-shirt sizes, etc.

• Rate of Production Velocity (velocity = story pts completed per sprint)

Basis for planning/projecting

• Sprint Burn-Down Chart Daily display of work remaining in a sprint

Pitfall: fails to show effect of changing

• Release Burn-Up Chart Tracks how much work is done wrt product backlog

Projections give insight for release planning goals

Page 28: Practical application of scrum final

Team Velocity w.r.t. Sprints

Page 29: Practical application of scrum final

Team Velocity w.r.t. Sprints

Page 30: Practical application of scrum final

Cumulative Story Points

Page 31: Practical application of scrum final

Sprint Burn-Down Chart

Day of Sprint

Uni

ts o

f Wor

k

Page 32: Practical application of scrum final

Release Burn-Up Chart

Page 33: Practical application of scrum final

So…

What have we learned in practice? What wont the textbooks tell you?

Page 34: Practical application of scrum final

People

• Development Team Members − Elicit team-oriented characteristics − Comfortable with not knowing all details up front − Appropriately sized

− Trained on agile method

• ScrumMaster − Posses or acquire good facilitation skills

− Focus on facilitating and not managing the process

− Try to develop good coaching skills

− Should be independent of development and customer responsibilities

Page 35: Practical application of scrum final

People (Cont.)

• Project Manager − Responsible for managing process areas not called out by Scrum

(risk management, communications, etc.)

− Empower self management of your team

− Report frequently to build management confidence

• Product Owner

− Fully committed to project

− Product owner trained/certified

− Empowered by management to have decision authority

− Understands that they have ultimate authority

Page 36: Practical application of scrum final

People (Cont.)

• Management − Knowledgeable of process at a high level

− Supportive of team’s empowerment to manage

• Customers and Stakeholders

− Flexible on scope

− Committed and engaged through the duration of the project

Page 37: Practical application of scrum final

Practices

• Definition of Done − Do it for task, story, and sprint

− Revisit Often

− Adapt as necessary

• Backlog Grooming − Conduct regularly throughout project

− Project owner representation is required

• Reporting (progress/status) − Use the Scrum terminology/measurements

− Familiarize Management ahead of time

Page 38: Practical application of scrum final

Structure

• Sprint Tasks − Allow the team to develop a method that adds value to them

− Preserve differentiation of stories and tasks

− Maintain goal of transparency of work at hand

• Execution of Development within Process

− Remember: Failed acceptance tests or unfinished work equal additional backlog or defect work

− Plan for adequate testing/acceptance within sprint

− Prevent scope creep! Only work on planned work

Page 39: Practical application of scrum final

Structure

• Planning − Come prepared!

− Conduct sufficient discussion of stories with dev team

− Obtain verbal commitment to sprint backlog

• Review − Maintain consistent forum for demonstrating work/obtaining

feedback

− Keep reviews efficient

− Plan for review “demo” preparation time

• Retrospective − Revisit previous retro notes

− Ensure all team members have opportunity to contribute

Page 40: Practical application of scrum final

Tips for Getting Started

• Select an agile method that suits your team

• Get management’s commitment/trust

• Ensure PO is empowered and can respond rapidly

• Get your team and customers trained and motivated

• Clearly define roles and responsibility

• Obtain acceptance from all team members

• Establish your sprint schedule & logistics

• Establish communication lines for distance separated teams

• Set up your team room/workspace

• Create a vision for your product

• Spend just enough time on architecture & design to avoid disjointed components

• Have a kickoff

Have Fun and Explore – Be Agile!

Page 41: Practical application of scrum final

Questions and Discussion

Contact Information: Lisa Milmine, (505) 284-4103, [email protected] Ana Lopez, (505) 284-1873, [email protected]

Page 42: Practical application of scrum final

Backup Slides

Page 43: Practical application of scrum final

Velocity Statistics

|Velocity Min| 19.00 |Velocity Max| 49.00 |Velocity Avg| 30.18 |Velocity Std Dev| 7.29 |Cum. SP Slope| 31.55 |SP/Story| 3.88 |Vel Avg Last 3| 31.00

Page 44: Practical application of scrum final

Sprint Backlog Task Board

Page 45: Practical application of scrum final

As a <who: insert role or persona> I want <what: insert functionality> So that <why: for what business value>

Acceptance Criteria: ◦ verifies the story works as the customer expected ◦ Specifies tests

General Story Format

Page 46: Practical application of scrum final

Agile References

Shore, James and Shane Warden. The Art of Agile Development, Sabastopol, CA: O’Reilly Media, Inc. , 2008. Print.

What is Agile Software Development?. 2012. Agile Alliance. 27 June 2012. < http://www.agilealliance.org/the-alliance/what-is-agile/>

Agile Software Development. 2012. Wikipedia. 27 June 2012. <http://en.wikipedia.org/wiki/Agile_software_development >

Manifesto for Agile Software Development. 2001. Ward Cunningham. 27 June 2012. <http://agilemanifesto.org/>

Page 47: Practical application of scrum final

Additional Scrum References

Schwaber and Sutherland, The Scrum Guide (“The official Scrum Body Of Knowledge” – scrum.org, “Canonical Scrum” - Dan Mezick)

http://www.scrum.org/scrumguides/

Schwaber, Agile Project Management with Scrum, 2004, ISBN-13: 978-0735619937 (The “Scrum Bible”)

Amazon link

Scrum In 5 Minutes

http://www.infoq.com/news/2006/11/scrum-in-five-minutes

WikiPedia Scrum Page

http://en.wikipedia.org/wiki/Scrum_(development)

Shalloway and Trott, Lean-Agile Pocket Guide for Scrum Teams

Amazon Link

Scrum For Team System’s web page FAQ

http://www.scrumforteamsystem.com/ProcessGuidanceOld/v2/FAQ/FAQ.aspx

Scrum Alliance web page

http://www.scrumalliance.org/