an introduction to software development - gathering requirements, part 3

15
An Introduction To Software Development Using Python Spring Semester, 2015 Class #6: Gathering Requirements, Part 3

Upload: blue-elephant-consulting

Post on 18-Jul-2015

77 views

Category:

Documents


1 download

TRANSCRIPT

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/

Homework #1: Lakeland Hospital Patient Collection Application

• Lakeland Hospital is implementing their first computer system

• You have been hired to create the patient data entry system for the emergency room

• Your project is due by Tuesday, 02/03/2015