The Art of Scrum! - SQuAD

69 downloads 163 Views 2MB Size Report
(n) scrum, scrummage (rugby) the method of beginning play in which the ... How Scrum Fits into Testing… ..... Various Scrum definitions, flow, and tutorial type of.
The Art of Scrum! (n) scrum, scrummage (rugby) the method of beginning play in which the forwards of each team crouch side by side with locked arms; play starts when the ball is thrown in between them and the two sides compete for possession)

(…And How to Apply it to Testing) -by Kevin Kilburg

Who Am I? Better yet- why am I qualified to bring this material to you? • Scrum Implementer x 2 • Certified Scrum Master • Avid Scrum Student

Overview: • What is Scrum? • How Scrum Works! – Self Organization – People, Places, & Things – Process Guidelines

• How Scrum Fits into Testing…

What is Scrum? • What Scrum is Not! – A “silver bullet solution” to your organization’s disorganization – A process “on rails” – A means of keeping management from changing direction – A front-line only change

What is Scrum? • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality at the end of every iteration. -Ken Schwaber (Father of Scrum)

– It operates on the basis that projects using small, cross-functional teams historically produce the best results. – Scrum enhances team interaction and places guidelines around what we already do!

Self Organization • Traditional Software Development Quality

3 Disparate functional units, singularly tasked.

Development

BA’s / PM’s

Self Organization • Agile/Scrum Software Development

People, Places, and Things • Things! Interface Update

– Product Backlog • • • •

Defects Enhancements Technological Initiatives Corporate Vision/Strategy

• UNIQUELY PRIORITIZED! • Owned and Maintained by… …the Product Owner!

Reporting Defects

Orders Defects

.Net Conversion

SQL 2K5 Upgrade

Data Model Changes

People, Places, and Things • More Things…! – Sprint Backlog • List of items a team will complete in a SPRINT. • Broken down to individual tasks by hours.

Update Data Dict.

Data Model Changes

Incorp. Changes in Test Data Conversion Testing

People, Places, and Things • Even More Things! – Sprint Backlog / Burndown • Daily updated list of sprint backlog tasks, with hours remaining being the key indicator • Hours may go UP as tasks could be bigger than initially anticipated • Helps the Scrum Master determine if the team is on pace to be successful

People, Places, and Things • Sprint Backlog /Burndown Sprint Burndown 1200

1000

800

600

Series1

400

200

0 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

People, Places, and Things • Yes, One More Thing! – Sprint • An increment of time in which a team has to complete the selected backlog of work

People, Places, and Things • People! – Product Owner • Must be an individual, not a committee • Maintains the Product Backlog constantly • Sets the Goals for the Teams

People, Places, and Things • People! – Scrum Master • • • •

Ensures Scrum values, practices, and rules are adhered to Helps team to focus on goal by evaluating progress Removes impediments Facilitates Daily Scrums

People, Places, and Things • People! – Team Members • • • • •

Manages the work the team has selected Reports on the work the team has selected Collaborates among themselves to overcome obstacles Obviously, they perform the work Communicate frequently and effectively

People, Places, and Things • Places! – Sprint Planning Meeting, Part I • With a ready and complete product backlog, the team will meet with the Product Owner • The Product Owner will state the objective or goal for the team as it relates to the upcoming sprint • The team will select tasks from the Product Backlog that are relative to that goal

People, Places, and Things • Places! – Sprint Planning Meeting, Part II • The team will break down the high level backlog items into individual tasks, and estimate the effort • The team members will select the items they will work on • The team will manage it’s time, ensuring that no individual is over-allocated in time • The result will be a complete team sprint backlog

People, Places, and Things • Places Everybody! – Daily Scrum Meeting • A meeting that occurs with all of the team members, as well as the Scrum Master, every day of the sprint, same time, same place • Team Members answer 3 Questions: – What did I work on since the last meeting? – What will I work on since we meet again? – What impediments are preventing me from getting my tasks done?

• Team Members will have updated their hours on the sprint backlog / burndown prior to the daily scrum

People, Places, and Things • More Places! – More on the Daily Scrum Meeting… • Team Members need to be on time, or the cost is $1 • Scrum Masters must facilitate the meeting to begin and end on time, or the cost is $5 • There are two categories of Daily Scrum Attendees: – Chickens (Not Team Members – May not talk during the scrum) – Pigs (Team Members – May talk during the scrum

People, Places, and Things • Places Still! – Sprint Review • A meeting that occurs on the last day of the sprint with the entire team present as well as any interested management members, other teams’ members, customers, etc. • A working session of the completed work is demonstrated – No elaborate PPT’s, flip charts, etc.

• The team will begin with citing the team goal, and will give a brief synopsis that speaks to whether or not they accomplished it, and to what percent. • The Product Owner, Customer, and Management will determine if course corrections need to be made, and will incorporate them into the Product Backlog

People, Places, and Things • Places to Go! – Sprint Retrospective • A meeting that occurs day after the sprint with the entire team present – nobody else. • The team will review what they worked on, with the focus lying in two areas: – What worked (process-wise) ? – What didn’t work- or could be done better?

People, Places, and Things • The Whole Enchilada!

Product Backlog Interface Update

Reporting Defects

Orders Defects

.Net Conversion

SQL 2K5 Upgrade

Sprint Backlog Update Data Dict.

Data Model Changes

Incorp. Changes in Test Data Conversion Testing

Process Guidelines • Scrum Rules – – – – – – –

Have teams set- try not to swap personnel Plan what you want to do for the next sprint Have a daily scrum, and stick to brief, relevant status Communicate in meetings, backlogs, etc. – Truthfully The Team manages the Team Sprints cannot be interrupted One Person maintains the Product Backlog

Process Guidelines • Scrum Values – Do what makes sense (Absolutely #1) – Traditional roles do not apply, but help – Team members are responsible to the entire team for the iteration to be successful (i.e. How can I help?) – Frequent, if not instant communication to remove impediments – Responsiveness and Adaptation to change – Working software is more important than exhaustive documentation

Pause for Exercise?

Benefits… Agile / Scrum

Traditional Waterfall Specification

Sprint 1

Sprint 2

Sprint 3

Sprint 4

Home Quote: New Business Home Quote: New Business

Review and Signoff

Home Application: New Business

First Customer / Management Review

Home Quote: New Business

Farm Quote: New Business

Home Quote: New Business Home Application: New Business

Design / Dev Home Quote: New Business

Home Quote: New Business

Home Application: New Business

Auto / Test

Home Quote: New Business UAT / Beta / Release

Home Quote: New Business

Farm Quote: New Business Home Application: New Business Change Farm Quote: New Business Home Application: New Business Change

Home Application: Existing Business Change

What About Testing? • Doubts, Misconceptions, etc? – How will this prevent QA from the squeeze? – If Developers code until the last day of the sprint, when do we test? – How will QA stay busy during the whole sprint? – Isn’t Scrum and other Agile methods Development Methodologies?

What About Testing? • The Squeeze: – Scrum is implemented from the top down, soThis is an issue to address right up front: • “What does DONE” mean for your organization? • For most, it means the increment of code completed has been unit tested and acceptance tested • In the subsequent sprint, folks testing may take on a task of functional, integration, system testing, etc. (i.e. Shadow Testing)

What About Testing? Hour:

Sprint 8

Sprint 9

– Again, on a larger project that may require some serious integration, this is a topic to address right at the beginning • For us, it means that all teams will partake in an “Integration Sprint” – Testers will Test – Coders will Test / Unit Test / Write utilities to aid in testing / Fix bugs – All others will test, document, prepare for release

Farm Umbrella Application: New Business

Farm Umbrella Application: New Business

Farm Umbrella Application: New Business

Farm Umbrella Application: New Business Change

Farm Umbrella Application: New Business Change

Farm Umbrella Application: Existing Business Change

INTEGRATION SPRINT (COMPLETE CODE FREEZE)

• Coding until the

11th

What About Testing? • Up Front Work: – Traditionally, QA will not have much work up front in a project – In Scrum, all team members are called to step up and do something that will help the team be successful • • • •

Pre-Test Planning Specs / Reqs Review / Draft Estimation of tasks that are several sprints away Support / Training / etc.

What About Testing? • Isn’t this just for Development?: – Scrum Defined: • “Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality at the end of every iteration” – Any work being the operative words here…

Observations • • • • • • •

Awareness of roles Uncomfortable at first Slower before faster Teams underestimate up front It only works if it is supported from the top Account for ‘normal duties’ People like to have something to say!

Questions?

References Agile Alliance www.agilealliance.com Controlled Chaos www.controlchaos.com Jeff Sutherland's Technology jeffsutherland.com Various content related to software programming and technology, with specialties in objects, components, and Scrum. Very up to date and educational Mike Cohn's Scrum Site www.mountaingoatsoftware.com/scrum/ Various Scrum definitions, flow, and tutorial type of information Ron Jefferies' Extreme Programming www.xprogramming.com Updated site with the best information, talk, and commentary on Agile Methods www.objectmentor.com Training, mentoring, and consulting for the agile methods, particularly Extreme www.agiledata.org Use modeling techniques appropriate to agile methods, generally hosted by Scott Ambler, and anyone interested in agile database techniques. Martin Fowler www.martinfowler.com Good information from a great mind Crystal alistair.cockburn.us/crystal/crystal.html Alistair Cockburn's information on Crystal and sufficient processes