crawl before you leap handout
DESCRIPTION
Crawl Before You Leap HandoutTRANSCRIPT
Crawl Before you Leap: An Introduction to Agile
Matt Gould and Mark Stringer
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
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
“Writing software is a creative process, like painting or writing or architecture” - Ken Schwaber (Scrum)
Artistic Making
Industrial Making
Big Design Up-Front
Agile ManifestoIndividuals and interactions
over processes and tools
Working softwareover comprehensive documentation
Customer collaborationover contract negotiation
Responding to changeover following a plan
Traditional Waterfall Project Management
Specification
Design
Code
Test
Final Product?
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
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
Stories
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.
PriorityEffort
Scope
Stories: scope, priority, effort
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
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!
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
PriorityEffort
Scope
Stories: scope, priority, effort
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 - *
PriorityEffort
Scope
Stories: scope, priority, effort
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
PriorityEffort
Scope
Stories: scope, priority, effort
Iterations
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
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 - *
Tests
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’
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-**
Velocity
Know your velocity
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?
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
Ceremonies
Types of ceremonies
• Story extraction• Daily stand ups• Iteration planning meetings• Client demo• Client feedback meetings
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)
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?
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)
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
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
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)
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
REFLECTIONS AND NEXT STEPS
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)
Further reading
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
Always happy to talk more
Matt Gould: 0771 363 [email protected]
Mark Stringer: 07736 807 [email protected]
www.agilelab.co.uk