tutorial oct25

33
Tutorial: Estimation and Planning Examples Friday, October 25 th

Upload: kavithad

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 1/33

Tutorial: Estimation and

Planning ExamplesFriday, October 25th

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 2/33

Overview

Task Integration Example Pert/CPM Graph

Gantt Chart

COCOMO

Quick SDL refresher

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 3/33

Task Integration

Modules taken from design doc Integration tasks taken from

architecture doc

Should reinforce architecture chosen

Be wary of odd dependencies

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 4/33

Integration Task Diagram

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 5/33

Task Integration Matrix

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 6/33

Test Plan Notes

Give reasons for why test plan waschosen

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 7/33

Creating Pert/CPM Graph Integration task diagram often

shows what tasks can be doneconcurrently

In real world setting, priorities notnecessarily follow ITG This is why we need schedule priority

charts Certain tasks may need to be done by

certain people (domain knowledge, etc)

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 8/33

Vaguely Familiar Ground

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 9/33

CPM Graph

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 10/33

Earliest Completion Times

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 11/33

Latest Completion Times

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 12/33

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 13/33

Coming up with Gantt Chart

Try to pick reasonable timelines

Usually earliest completion time ischosen

Factor in vacations, breaks, etc

Make note of critical path

Helpful to indicate on Gantt chart Try to evenly divide up workload

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 14/33

Gantt Chart Example 1

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 15/33

Gantt Chart Example 2

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 16/33

Why are we doing this? Poor management is the downfall of many software

projects. Delivered software may be late, unreliable, cost several

times the original estimates and often exhibits poorperformance characteristics.

Software project management is different from otherengineering management.

Product is intangible to a certain extent.

Most software projects are new and technically innovative.(myth?)

Good management cannot guarantee project success butbad management usually results in project failure.

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 17/33

COCOMO COnstructive COst MOdel

Created by Barry Boehm in 1981

Essentially: EFF = a * SIZEb

Based on a large number of projects fromthe 70’s

Very simple estimation tool which may ormay not work depending on how closelyproject fits in with original study

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 18/33

Estimating Is Hard To Do

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 19/33

Basic Idea Small Projects

Small teams (2-3 people)

Easy to have mental model

Fewer things in the way of completion

EFFORT = a * SIZE + b

Large Projects The more people there are, the harder it

becomes

EFFORT = a * SIZEb

a and b are scaling factors

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 20/33

Project Types Organic

Routine project

Well understood domain

Team works well and efficientlytogether

Project expected to run smoothly Typically a smaller system

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 21/33

Project Types Embedded

Difficulties expected

Project that is hard (control software

for a nuclear plant, or spacecraft) Team has little experience in domain

New or inexperienced team Tend to be large projects with lots of 

constraints

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 22/33

Project Types Semi-Detached

In the middle

Complex system, but something the

company is familiar with Teams may be made up of experienced

and inexperienced members

System not huge, but not small either

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 23/33

What is a and b? Organic

Person months = 2.4 * KDSI1.05

Semi-Detached

Person months = 3.0 * KDSI1.12

Embedded

Person months = 3.6 * KDSI1.20

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 24/33

Slightly More Advanced Add in an adjustment factor

EFFORT = EAF * a * SIZEb

Adjustment factors cover wide range of 

development aspects Factor all adjustment factors together

to get EAF

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 25/33

Slightly More Advanced The factors a and b differ

Organic

a = 3.2, b = 1.05

Semi-Detached

a = 3.0, b = 1.12

Embedded a = 2.8, b = 1.20

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 26/33

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 27/33

How to use COCOMO Simply: Plug and Chug

What if it doesn’t work?

Play with adjustment factors

Tweak a and b to make the equation fitthe result

Use a more complex metric

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 28/33

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 29/33

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 30/33

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 31/33

In Reality Estimating comes with experience

Using something like Function Points tocome up with code size doesn’t reallywork (personal belief)

COCOMO is too simple and too old toreally be of use Good starting point, more advanced models

available

Tweaking formulas might yield good results

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 32/33

Quick Look At SDL

8/6/2019 Tutorial Oct25

http://slidepdf.com/reader/full/tutorial-oct25 33/33

Credits Lots of COCOMO info taken from

http://www.cs.unc.edu/~stotts/COMP145/cocomo.html

CPM slide “Why Are We Doing This” taken from another presentation

(can’t find URL)