An Introduction To Software
Development Using Python
Spring Semester, 2015
Class #6:
Gathering
Requirements,
Part 3
Manage Your Iterations
• Keep ‘em Short
– Strange things always happen, short iterations give you the time needed to deal with them.
– Short iterations will get you feedback sooner. This brings issues to the surface faster
– Helps to keep the team motivated and focused
• Keep ‘em Balanced
– Each iteration needs to do many things: deal with changes, add new features, deal with bugs, account for people doing other work.
– A 30-day iteration really means 20 days of work.
Image Credit: www.polyvore.comsweetclipart.com
Does Your Development Plan Account For Reality?
• “No Battle Plan Survives Contact With the Enemy” -German military strategist Helmuth von Moltke
• What issues do you have to account for when you are creating your software devleopment plan?
Doing paperwork
Sickness
Equipment Failure
Software Upgrades
Holidays
Vacations
Car Problems
What Is Velocity?
• Velocity is a percentage.
• Velocity is how much of your time is being spent doing productive work.
• Start with a velocity of 0.7 (your team works 7 out of 10 days)
• You’ll adjust your velocity at the end of each iteration – short iterations allow you to do this quicker!
Image Credit: www.clker.com
How Do You Use Velocity?
• You apply your velocity to the amount of work that you have to do in order to get a realistic estimate of how long it is going to take you.
Days Of Work
VelocityDays required to get work done=
30 calendar days →20 working days → 15 actual days of real work
You can be confident in this numberImage Credit: www.clker.com
Apply Velocity To Your Estimates
Title: Show Current Deals
Estimate:
Title: Book Packages
Estimate: 15
Title: Arrange Travel
Estimate: 5
Title: Book A Room
Estimate: 10
Title: Book a Boat Tour
Estimate: 5Title: Pay with Visa/MC/Paypal
Estimate: 10
Title: Order Trip DVD
Estimate: 5
Title: Review Stay
Estimate: 10
Title: Order Room Service
Estimate: 20
Title: Choose View
Estimate: 15
Title: Support 3,000 concurrent users
Estimate: 20
Image Credit: Sebastien Wiertz
Which ones would you implement to meet
the customer’s schedule?
New EstimatesRequirement Initial Estimate Estimate w/Velocity
Pay with Visa/MC/Paypal
10 17
Book Packages 15 26
Arrange Travel 5 9
Book A Room 10 17
Book a Boat Tour 5 9
Order Trip DVD 5 9
Review Stay 10 17
Order Room Service
20 34
Choose View 15 26
Support 3,000 concurrent users
20 34
Total 115 198Image Credit: www.schoolclipart.biz
Iteration ExampleIteration #1
Total Days: Divided by 2 developers:
Iteration #2
Total Days: Divided by 2 developers:
Iteration #3
Total Days: Divided by 2 developers:
Title: Pay with Visa/MC/Paypal
Estimate: 10 Title: Book A Room
Estimate: 10
Title: Support 3,000 concurrent users
Estimate: 20
Title: Book Packages
Estimate: 15
Title: Choose View
Estimate: 15
Title: Review Stay
Estimate: 10
Title: Book a Boat Tour
Estimate: 5 Title: Order Trip DVD
Estimate: 5Title: Order Room Service
Estimate: 20
Title: Arrange Travel
Estimate: 5
Deal With Velocity BEFORE You Create Your Iterations!
2 x 20 x 0.7 = 28# developers
Working days in
an iteration
Team’s
velocity
Number of person days
your team can do in one
iteration
28 x 3 = 84# of iterations
in Milestone 1
Amount of work in days that
you and your team can do
before Milestone 1 is shippedImage Credit: www.clipartpanda.com
Iteration ExampleIteration #1
Total Days: Divided by 2 developers:
Iteration #2
Total Days: Divided by 2 developers:
Iteration #3
Total Days: Divided by 2 developers:
Title: Pay with Visa/MC/Paypal
Estimate: 10
Title: Book A Room
Estimate: 10
Title: Support 3,000 concurrent users
Estimate: 20
Title: Book Packages
Estimate: 15
Title: Choose View
Estimate: 15
Title: Review Stay
Estimate: 10
What Can’t We Do For Milestone 1?
Title: Book a Boat Tour
Estimate: 5 Title: Order Trip DVD
Estimate: 5Title: Order Room Service
Estimate: 20
Title: Arrange Travel
Estimate: 5
Now you have to go tell the customer what you will be able to
REALLY do for them…
Image Credit: www.fotosearch.com
How To Deal With Angry Customers!
1. Add an iteration to Milestone 1
2. Explain: work is just delayed, not lost!
3. Show how you got your numbers
Image Credit: pictogram-free.com
28 x 4 =
112
Pushes out delivery
of Milestone 1
What We Covered Today
1. Accounting for reality.
2. Velocity.
3. Applying velocity to estimates.
4. Using velocity with iterations.
Image Credit: http://www.tswdj.com/blog/2011/05/17/the-grooms-checklist/
What We’ll Be Covering Next Time
1. User Stories & Tasks
2. Burn Down Charts
3. Tracking Tasks
Image Credit: http://merchantblog.thefind.com/2011/01/merchant-newsletter/resolve-to-take-advantage-of-these-5-e-commerce-trends/attachment/crystal-ball-fullsize/
Top Related