Introduction to Planning the XP model Logic puzzles








































- Slides: 40
Introduction to Planning – the XP model
Logic puzzles l l l A story Some information Fill in the missing information
Puzzle: Who does what? l Problem: Davis, Edwards, and Jones are an astronaut, a computer programmer, and a skin diver. What does each person do? – – Davis is not the astronaut or the computer programmer. Jones is not the astronaut.
Puzzle: Who does what? l Problem: Davis, Edwards, and Jones are an astronaut, a computer programmer, and a skin diver. What does each person do? – – Davis is not the astronaut or the computer programmer. Jones is not the astronaut. Solution: Davis – Skin Diver Edwards – Astronaut Jones – Computer Programmer
Planning
Why we should plan? l l The most important question to ask when you are about to undertake something major is, “Why? ” Without understanding why we need to do something, how will we be able to tell if we have succeeded?
We plan because… l l l We need to ensure that we are always working on the most important thing We need to coordinate with other people When unexpected events occur, we need to understand the consequences for the first two
What do we plan? l Planning is done at various scales – – Your day’s activities Businesses lay out plans for the next year Basketball teams lay out plans for the next couple of minutes, or even the next few seconds If you’re driving from Memphis to Atlanta, you won’t plan every curve in the road. You will plan, which roads to take and when to switch from one to another.
The planning trap l l Plans must be honest, and include all the available pertinent information Sometimes people plan in order to demonstrate that they are in control of events – this is an oxymoron! Events happen. Plan to change your plans The worst thing that can happen to any project is a divergence between the plan and reality
Why do we need a process? l We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness. -That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed
Why do we need a process? l We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness. -That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed
Why do we need a process? l l We institute governments, because we are afraid of losing our rights We institute a software process for the same reason
Fear l Customers fear: – – – – They won’t get what they ask for They’ll ask for the wrong thing They pay too much for too little They must surrender control of their career to techies who don’t care They won’t know what’s going on They’ll be held to their first decision No one will tell them the truth
Developers Fears – – – – – Told to do more than they know how Told to do things that don’t make sense They are too stupid They are falling behind technically Responsibility without authority No clear definitions of what to do Sacrifice quality for deadlines Must solve hard problems without help Won’t have enough time to succeed
Customer’s Rights l l l Overall plan – know what can be accomplished at what cost Get most possible value out of a programming week See progress in a running system Ability to change your mind Be informed of schedule changes in time to choose a resolution
Programmer’s Rights l l l Know what is needed with clear indications of priority Produce quality work at all times Ask for and receive help from peers, managers, customers Make and update your own estimates Accept responsibilities instead of having them assigned to you
Continuous Aiming l l The “Plan” is not important - “Planning” is critical Planning must be done frequently – adjustments every few days as needed Progress tracked in a way that’s visible to all Problems are caught early
Four Variables l l Cost – How many developers? (adding more developers may not help) Quality – Want to keep at highest setting Time – When are the releases? Scope – What features go into each release?
Shopping for Stories l Selecting stories is like shopping – – l The items (stories) The prices (time estimates) The budget (the allotted time & manpower) The constraints (business and technology constraints) Customers pick the items whose prices fit into the budget and satisfy the constraints.
Yesterday’s Weather l l l How do you estimate how long it will take to implement stories? Measure how many features you implemented in the last iteration Estimate that the next iteration will implement the same number of features
Stories l l Written on 5 x 7 index cards Describes the interaction with the system from the user’s perspective. “The user presses the New Instrument button, selects bond instruments, then enters the bond details into the system. On completion, he presses Accept. ” l Associate a title and contact customer for each story.
Scoping – The Big Plan l l Create high-level stories and estimate (usually in months) Want an answer to “should we invest more time in the project? ” – – – l Break problem into pieces Estimate pieces Defer less valuable pieces Don’t spend more than a few hours on the first rough plan
Release Planning l l l Need to synchronize date and scope of releases. If the date is fixed, adjust scope Break “big plan” stories into smaller stories Estimate smaller stories Defer less valuable stories until what’s left fits in the time available.
Customer Activities l l l Define user stories Decide on business value of the stories Decide which stories to include in this release
Programmer Activities l l l Estimate how long it will take for each story Warn customer about significant technical risks Measure team progress to provide customer with an overall budget
How Far Ahead Do We Plan? l l Plan one or two iterations ahead Plan one or two releases ahead
Team Velocity l l l Estimate stories in “ideal days” When stories are finished, record ideal days required for it For each developer, their velocity is the number of ideal days they spent on stories in the last iteration
Estimation l l Track time spent on stories to nearest ideal week Use history to help estimate future stories
Ordering the Stories l l l Order stories by business value High risk stories may be done earlier Slot stories into iterations using velocity
The First Plan l l Use an estimate of team velocity to start Start with stories that the team is most comfortable estimating Choose iteration length – 2 weeks is typical Choose start day of iteration. You may start on Tuesday’s (“Monday’s suck, Planning sucks – why put them on the same day? ”)
Iteration Planning l Iterations start with an “Iteration Planning Meeting” – – l l Break stories into tasks (1 -3 ideal days long) Programmers sign up for tasks Someone takes on responsibility of tracking the iteration Never slip the date – defer functionality instead (need to raise this with the customer)
Iteration Planning Meeting l l l Read out stories for this iteration Write on whiteboard tasks for each story Add technical tasks that need to be done Developers sign up and estimate tasks up to their individual velocity If any story isn’t completely signed up for, ask customer to defer some stories If there is extra time, add stories
Iteration Tracking l l A few times a week, the tracker visits each programmer For each task, find out: – – l l How many ideal days have you worked on this? How many more ideal days do you need to finish? Falling behind? Try to find other team members to take over tasks (re-estimate) If no other solutions are available, go back to the customer.
Stand-up Meetings l l l Daily meetings Everyone has to stand for the whole meeting What did you do yesterday? What are you doing today? Problems or announcements of interest to the team are raised Don’t try to solve problems – take it offline
Word-o-grams
Word-o-grams Partly cloudy over head
Word-o-grams
Word-o-grams He’s over the hill
Word-o-grams
Word-o-grams Four-car garage