Anda di halaman 1dari 34

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 organizations 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 Development BAs / PMs

3 Disparate functional units, singularly tasked.

Self Organization
Agile/Scrum Software Development

People, Places, and Things


Things!
Interface Update

Product Backlog
Defects Enhancements Technological Initiatives Corporate Vision/Strategy

Reporting Defects

Orders Defects

.Net Conversion

UNIQUELY PRIORITIZED! Owned and Maintained by the Product Owner!

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 its 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 PPTs, 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 didnt 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. Incorp. Changes in Test Data Conversion Testing

Data Model Changes

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
Traditional Waterfall
Specification

Agile / Scrum
Sprint 1 Sprint 2 Sprint 3 Sprint 4

Home Quote: New Business Review and Signoff First Customer / Management Review
Home Quote: New Business Home Application: New Business Home Quote: New Business Home Application: New Business Home Quote: New Business Home Application: New Business Farm Quote: New Business Farm Quote: New Business Home Application: New Business Change Farm Quote: New Business Home Application: New Business Change

Home Quote: New Business

Design / Dev

Home Quote: New Business Auto / Test

Home Quote: New Business UAT / Beta / Release

Home Application: Existing Business Change

Home Quote: New Business

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? Isnt 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?


Coding until the 11th Hour:
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 Change Farm Umbrella Application: New Business

Sprint 8

Sprint 9

Farm Umbrella Application: New Business Change

Farm Umbrella Application: New Business

Farm Umbrella Application: Existing Business Change

INTEGRATION SPRINT (COMPLETE CODE FREEZE)

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?


Isnt 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

Anda mungkin juga menyukai