44
Crawl Before you Leap: An Introduction to Agile Matt Gould and Mark Stringer

Crawl Before You Leap Handout

Embed Size (px)

DESCRIPTION

Crawl Before You Leap Handout

Citation preview

Page 1: Crawl Before You Leap Handout

Crawl Before you Leap: An Introduction to Agile

Matt Gould and Mark Stringer

Page 2: Crawl Before You Leap Handout

Today’s workshop• Context to Agile• Iterations - minimum working function• Stories – plan in terms of client-visible outcome• Prioritisation – what really matters?• Tests – how do you know when you're done?• Velocity - what are you actually capable of• Ceremony – meetings of a specific length for a

specific purpose• The role of the Project Manager

Page 3: Crawl Before You Leap Handout

Agile: its all about change

“the problem isn’t change because change is going to happen, the problem is our inability to cope with change” – Kent Beck, Extreme Programming

Page 4: Crawl Before You Leap Handout

“Writing software is a creative process, like painting or writing or architecture” - Ken Schwaber (Scrum)

Artistic Making

Page 5: Crawl Before You Leap Handout

Industrial Making

Big Design Up-Front

Page 6: Crawl Before You Leap Handout

Agile ManifestoIndividuals and interactions

over processes and tools

Working softwareover comprehensive documentation

Customer collaborationover contract negotiation

Responding to changeover following a plan

Page 7: Crawl Before You Leap Handout

Traditional Waterfall Project Management

Specification

Design

Code

Test

Final Product?

Page 8: Crawl Before You Leap Handout

Of the important things, choose some that you think you can finish during the iteration

One at a time, work through the things you choose until time is up

Look at the list of things to do and decide which are most important

Those things that you didn’t get done go back on the list of things to do along with any new things to do that you noticed during the iteration

Iterative project approach

Page 9: Crawl Before You Leap Handout

An iterative approach• Don't try to do everything at once• Don’t think you need to know everything

before you start• Do the most important things first• Set a (short) time limit• Learn from each iteration• This is nothing new – it is common to

both artistic making and scientific enquiry

Page 10: Crawl Before You Leap Handout

Stories

Page 11: Crawl Before You Leap Handout

Stories“List all of the things that the system should include and address, including functionality, features and technology.”Ken Schwaber - Scrum

Stories then form the basis of an ongoing dialogue between the client and the development team NOT a concrete specification.

Page 12: Crawl Before You Leap Handout

PriorityEffort

Scope

Stories: scope, priority, effort

Page 13: Crawl Before You Leap Handout

Stories

• Things to do are listed in terms of stories• Each story describes a want or need,

visible to the client• Stories ideally produced with the client

Page 14: Crawl Before You Leap Handout

Stories: Client Brief

DREEMHOLS.COM making it easier than ever before to make your DREEM Holiday come true. DREEM flights to DREEM locations and DREEM hotels at the lowest prices in a couple of clicks!

Page 15: Crawl Before You Leap Handout

Stories: Story writing

Book a hotelPurchase ticketReview itinerariesShow hotel availabilityFind lowest fareCancel itineraryShow hotelsOffer sophisticated hotel searchDo simple customer profileShow available flightsSort available flights by convenience

Possible stories for dreemhols.com

Page 16: Crawl Before You Leap Handout

PriorityEffort

Scope

Stories: scope, priority, effort

Page 17: Crawl Before You Leap Handout

Stories: Prioritisation*** Must haves** Nice to haves* Icing on the cake

Show available flights - ***Show hotels - ***Show hotel availability -***Book a hotel - **Purchase ticket - **Review itineraries - **Find lowest fare - **Cancel itinerary - **Offer sophisticated hotel search - *Do simple customer profile - *Sort available flights by convenience - *

Page 18: Crawl Before You Leap Handout

PriorityEffort

Scope

Stories: scope, priority, effort

Page 19: Crawl Before You Leap Handout

Stories: EffortEstimated in points: 1 point = 0.5 days

Show available flights - *** - 2Show hotels - *** - 3Show hotel availability -*** - 2Book a hotel - ** - 1Purchase ticket - ** - 2Review itineraries - ** - 2Find lowest fare - ** - 3Cancel itinerary - ** - 2Offer sophisticated hotel search - * - 3Do simple customer profile - * - 2Sort available flights by convenience - * - 3

Page 20: Crawl Before You Leap Handout

PriorityEffort

Scope

Stories: scope, priority, effort

Page 21: Crawl Before You Leap Handout

Iterations

Page 22: Crawl Before You Leap Handout

Identify an Iteration

• What is the minimum useful things you can complete in a specified time period?

• Whole team negotiates which stories should be completed in the next iteration

• Client negotiates with team members about scope, priority and effort of stories

• Iteration meeting is a ceremony – more on this later

Page 23: Crawl Before You Leap Handout

Iteration 1

Example: Identify an Iteration

Show available flights - 2 -***Show hotels - 3 -***Show hotel availability - 2-***Book a hotel - 1-**Purchase ticket - 2-**

Review itineraries - 2-**Find lowest fare - 3-**Cancel itinerary - 2 -**Offer sophisticated hotel search - 3 - *Do simple customer profile - 2 - *Sort available flights by convenience - 3 - *

Page 24: Crawl Before You Leap Handout

Tests

Page 25: Crawl Before You Leap Handout

Types of tests• What is a test?

– It is the thing that allows you to know when you are done

• Teams may contain dedicated testers whose job is to run the tests

• Technical– Pass or fail test (can be automated)

• Non-technical– Pass or fail criteria (e.g. client sign off)

• What if a test fails?– If a task hasn’t passed it’s test by the end of the

iteration then it is counted as ‘not done’

Page 26: Crawl Before You Leap Handout

Example: Iterations and testsIteration 1

• Show available flights - 2 -***– Test: type flight details into form and get correct list of

flights returned

• Show hotels - 3 -***• Show hotel availability - 2-***• Book a hotel - 1-**• Purchase ticket - 2-**

Page 27: Crawl Before You Leap Handout

Velocity

Page 28: Crawl Before You Leap Handout

Know your velocity

Page 29: Crawl Before You Leap Handout

Velocity

• Velocity is project specific and can change from iteration to iteration

• Calculate velocity: how many story points did you actually deliver in the last iteration?

• How does this compare to what you said you would do?

Page 30: Crawl Before You Leap Handout

Example: Estimated vs. Actual Velocity

Start of iteration

Show available flights – 2Show hotels – 3Show hotel availability – 2Book a hotel – 1Purchase ticket – 2

Estimated velocity = 10 points

End of iteration

Show available flights – 2 - DONEShow hotels – 3 - DONEShow hotel availability – 2 - DONEBook a hotel – 1 - STARTEDPurchase ticket – 2 – NOT STARTED

Actual velocity = 7 points

Page 31: Crawl Before You Leap Handout

Ceremonies

Page 32: Crawl Before You Leap Handout

Types of ceremonies

• Story extraction• Daily stand ups• Iteration planning meetings• Client demo• Client feedback meetings

Page 33: Crawl Before You Leap Handout

Ceremonies: story extraction

• Story extraction initiates the project and continues throughout

• Must be done with the product owner• There should be a single product owner,

the person who gets client agreement over what the stories are and has the power to prioritise for the client (they can be client or delivery side)

Page 34: Crawl Before You Leap Handout

Ceremonies: daily stand up

• Time boxed – 15 minutes• Same time, same place, everyday• Everybody talks• What did I do yesterday?• What am I doing today?• What obstacles are there?

Page 35: Crawl Before You Leap Handout

Ceremonies: iteration planning meetings

• Time-boxed – to be agreed by team• Reschedule if not complete when time box

finishes• Product owner must be present

– If the client can’t be there, appoint a product owner

• Outcome: prioritised, effort estimated stories to be delivered in a fixed time scale (iteration)

Page 36: Crawl Before You Leap Handout

Ceremonies: pigs and chickens

• Fry up: the chicken is involved but the pig is committed

• Ideally you only want pigs• If pigs and chickens are

present, only pigs can contribute, chickens can listen in

Page 37: Crawl Before You Leap Handout

Ceremonies: client demo

• Demo working software or completed (task pass) non-software tasks (e.g. mood boards)

• Figure out how to demo deep technical functions and ‘invisible’ technical work

• If it can’t be demonstrated it is not finished

Page 38: Crawl Before You Leap Handout

Ceremonies: client feedback meetings

• Can be at the end of a demo meeting or at the start of a new iteration meeting but must be time-boxed

• Listen carefully• Feedback may lead to new stories (scope,

priority, effort)

Page 39: Crawl Before You Leap Handout

Role of project manager

• Run ceremonies• Keep the chickens at bay• Keep people focused on iteration stories• Make sure that if a story is finished, it is

really finished• Deal with obstacles that distract team

members

Page 40: Crawl Before You Leap Handout

REFLECTIONS AND NEXT STEPS

Page 41: Crawl Before You Leap Handout

Getting things done is about people and communication

• “People develop software. This simple inescapable fact invalidates most of the available methodological advice.”

• Understand your velocity, aim to work normal hours

• What's the least you could do? (The simple stupid rule)

Page 42: Crawl Before You Leap Handout

Further reading

Page 43: Crawl Before You Leap Handout

Further training from Agilelab

• Agile for programme and project managers– Selling Agile to clients– Selling Agile internally– Agile and risk– Agile and Prince2™

• Technical Agile– Pair programming– Test driven development– Refactoring

Page 44: Crawl Before You Leap Handout

Always happy to talk more

Matt Gould: 0771 363 [email protected]

Mark Stringer: 07736 807 [email protected]

www.agilelab.co.uk