Speed Grooming Requirements with SAFe

Post on 18-Dec-2014

165 views 1 download

description

Want your sprint/iteration planning to take less than fifteen minutes (excluding tasking)? The key is in the story writing we do during backlog grooming. Although the Scaled Agile Framework (SAFe) has little to say about story writing, this "speed grooming" practice makes iteration planning a breeze, and better software comes out of the process. André Dhondt shares stories of real-world agile teams using this technique and how they've moved to a customer-empathy mindset. How does it work? You need to develop great stories—customer-focused, just barely enough detail, in thin vertical slices, and collectively designed. André reviews story writing and describes how to do the three phases of grooming in under one team-hour a week (typically, two 25-minute meetings) by defining the phases—Exploring, Sizing, and Splitting, plus one off-line activity Naming the Universe. Learn to avoid the overhead of long pre-backlog sessions, reduce Product Owner prep time, and prevent hidden dependencies from bumping a story out to the next iteration.

Transcript of Speed Grooming Requirements with SAFe

 

AT6 Concurrent Session 11/14/2013 2:15 PM 

      

"Speed Grooming Requirements with SAFe"

   

Presented by:

André Dhondt Rally Software Development

        

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com

André Dhondt Rally Software Development

For more than a decade, André Dhondt has led agile adoptions, providing guidance to teams and organizations seeking shorter development cycles, higher quality, and more effective discovery of customer value. In various roles including developer, manager, product owner, and scrum master, André has done everything from hiring and building teams in startup environments to coaching teams for an organization with more than 100,000 employees. Some of his teams have seen cycle time reduced by half, practically bug-free code with daily deployments, and improved employee morale. André is active in the community, providing leadership in Agile Philly and Technically Philly Groups.

Backlog Grooming with SAFe

André Dhondt @adhondt

Scaled'Agile'Framework™'Big'Picture'

Sun' Mon' Tue' Wed' Thur' Fri' Sat'

9:00! 9:30!10:00 StandUp!10:30!11:00 !11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00 System! 1:30 System! 2:00!

9:00 Demo! 9:30 Retro!10:00 ItePlan!10:30 ItePlan!11:00 ItePlan!11:30 ItePlan! 1:00 ItePlan! 1:30 ItePlan! 2:00 ItePlan!

9:00 Ite-Tsk! 9:30 Ite-Tsk!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00 Prog.C.!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

Normal'Backlog'Grooming'Itera2on'Schedule'

ItePlan:'Backlog'Grooming'&'Itera2on'Planning'''Program:'P’Commi<ee,'1?2x/month''''Release'Planning:'quarterly'''''''''''''''''''''''''''''''''''''''System:'System'Team'

ripple'effects'/'dependencies'

stories'aren’t'ready'

few'people'speak'

Photo'Credit:'h<p://1.bp.blogspot.com/_I6VN2dvmOD4/S9l6tLBBb6I/AAAAAAAAACw/5WIZ5T_BXmM/s320/boring+mee2ng.jpg'

Sun' Mon' Tue' Wed' Thur' Fri' Sat'

9:00! 9:30!10:00 StandUp!10:30!11:00 !11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00 System! 1:30 System! 2:00!

9:00 Demo! 9:30 Retro!10:00 ItePlan!10:30 ItePlan!11:00 ItePlan!11:30 ItePlan! 1:00 ItePlan! 1:30 ItePlan! 2:00 ItePlan!

9:00 Ite-Tsk! 9:30 Ite-Tsk!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00 Prog.C.!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

A'waterfall'creates'pressure!'

ItePlan:'Backlog'Grooming'&'Itera2on'Planning'''Program:'P’Commi<ee,'1?2x/month''''Release'Planning:'quarterly'''''''''''''''''''''''''''''''''''''''System:'System'Team'

Sun' Mon' Tue' Wed' Thur' Fri' Sat'

9:00! 9:30!10:00 StandUp!10:30!11:00 !11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30 BklgGrm!11:00!11:30! 1:00 Tech.C.! 1:30 Tech.C.! 2:00!

9:00 Demo! 9:30 Retro!10:00!10:30!11:00!11:30! 1:00 ItePlan! 1:30 Ite-Tsk! 2:00 Ite-Tsk!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30 BklgGrm!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00 Prod.C.!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30 BklgGrm!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30!11:00!11:30! 1:00! 1:30! 2:00!

9:00! 9:30!10:00 StandUp!10:30 BklgGrm!11:00!11:30! 1:00! 1:30! 2:00!

Speed%Grooming%Schedule'

ItePlan:'Speed'Grooming'&'Itera2on'Planning'''Program:'P’Commi<ee,'1?2x/month''''Release'Planning:'quarterly'''''''''''''''''''''''''''''''''''''''System:'System'Team'

Core Concepts •  Sign-up •  Strict Decoupling of What vs How •  Progressive Elaboration

SignBup'

WHAT' HOW'Product'Owner' Delivery'Team'

Strict'Decoupling'of:'

Cone of Uncertainty

Concept'''''Requirements 'Detailed'Design''''''''Complete ' 'Complete'

'

'''Swag'Es2mate'''''''''UX'Design ' 'Socware'Complete'' ''''''''''''Complete'

EsHmaHon'''''Error'

Progressive Elaboration

Inspect & Adapt

PSI

Respect our People

Grooming

5-minute rule Do we know enough to:

size slice …this story?

Soft warning at 3, 4, and 5 minutes.

black'box'sizing:''''•  does'it'fit'in'an'iteraHon?'•  does'it'fit'in'4B12'hours'of'effort?'

OUTPUTS INPUTS

dependencies

Does'it'meet'our'''''''''''?'DoR'

Exploring

Sizing Splitting

Know enough to size it? no yes

Take it Offline

or

Explore Offline

Exploring

What is it? How does it work? How will it affect other systems? How will we implement it? Do we have time left? Are we still exploring?

PO: Delivery Team: ScrumMaster:

What similar stories are done? How big is it? Do we have time left? Are we still sizing? Did everyone vote?

PO: Delivery Team: ScrumMaster:

Sizing

What has to be done first? What’s the essence? How can I make this easier? Will this slice reduce the effort? Do we have time left? Are we still splitting? Is this a vertical slice?

PO: Delivery Team: ScrumMaster:

Splitting

What is it? Name the universe of related verticals. Prioritize new stories Description (who/what/why) Acceptance Criteria Estimate

PO: All:

Exploring Offline

Research what you need to get the story ready for the next speed grooming session

Volunteer:

Take it Offline

Speed Grooming: Practice with Legos

Lego Zoo •  Lemur •  Giraffe •  Zebra •  Lion •  Emu •  Wolf

As'a'shopper,'I'want'to'pay'with'a'credit'card'so'that'I'don’t'have'to'use'PayPal'or'send'a'check.'Assume'we’ve'already'got'an'online'shopping'site;'focus'on'integra2on'of'the'site'with'the'credit'card'vendor(s).

http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/

Workflow Steps Here’s a story from a content management system one of my clients was creating: …I can publish a news story directly to the corporate website. …I can publish a news story with editor review. …I can publish a news story with legal review. …I can view a news story on a staging site. …I can publish a news story from the staging site to production. Business Rule Variations As a user, I can search for flights with flexible dates. …as “n days between x and y.” …as “a weekend in December.” …as “± n days of x and y.” Major Effort As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express. …I can pay with one credit card type (of VISA, MC, DC, AMEX). …I can pay with all four credit card types (VISA, MC, DC, AMEX) (given one card type already implemented). Simple/Complex As a user, I can search for flights between two destinations. …specifying a max number of stops. …including nearby airports. …using flexible dates.

Variations in Data As a user, I can search for transportation providers by trip origin and destination. …by trip origin and destination as counties. …by trip origin and destination as counties, cities, towns, or neighborhoods. As a content manager, I can create news stories. …in English. …in Arabic. Data Entry Methods As a user, I can search for flights between two destinations. …using simple date input. …with a fancy calendar UI. Defer Performance As a user, I can search for flights between two destinations. …(slow—just get it done, show a “searching” animation). …(in under 5 seconds). Operations (e.g. CRUD) As a user, I can manage my account. …I can sign up for an account. …I can edit my account settings. …I can cancel my account. Break Out a Spike As a user, I can pay by credit card. -Investigate credit card processing. -Implement credit card processing.