Title: Estimation and scheduling
1Estimation and scheduling
2Estimating --
- An iterative process
- Done in the planning and budgeting stage
- After Conceptualization Definition, 50-100 off
- At the end of Planning Budgeting, 10-25 off
- A good WBS is absolutely essential to do
estimating
3Estimating Techniques
- Professional Judgment
- History (database)
- Formulas
4When is Estimating Done??
- Outside of the four stages
- In Project Portfolio Design
- Lots of projects
- These projects must be estimated in terms of
duration and cost - These projects must be prioritized
- These projects must be sequenced
5Rough-cut Estimation
- WAGs Wild ________ Guesses
- SWAGs Scientific Wild ______ Guesses
- You want to err on the high side
- If you set your estimates as to duration and cost
too high, your project may not be chosen
6Project Selection
- In the absence of dependency constraints,
projects get prioritized in terms of benefit/cost - Projects with the highest benefit/cost ratio will
get performed first, assuming no dependencies
between projects
7Use of Professional Judgment
- Based on WBS, an expert judgment estimate is made
for each work package - The person assigned to the work package also
estimates the time required to complete it - The person assigned to the work package will make
every effort to complete the task in the time he
estimated it would take - Amazingly accurate when experts are available
- Often, however experts arent available
8Why do you think .
- Estimates based on Expert Judgment are so
Accurate (according to one author)?
9Use of History Database
- For this to work, your firm must keep a history
database - The database should record how long each task
took and who did the task - Break new projects up into tasks that have a
history database - 8 to 1 productivity ratio between fastest and
slowest professional
10Consider the Waterfall Model for Software
Development
- Definition Phase
- Analysis Phase
- Design Phase
- Construction (Coding) Phase
- Testing Phase
- Conversion/Cutover Phase
- Training Phase
- Operation Phase
11Consider Just the Testing Phase
- Module testing
- Integration testing
- System testing
- Beta testing
- Final acceptance test
12How much time should be devoted to testing??
- In any technology product context?
13Questions, Contd
- How much of the total time does Brooks devote to
Definition, Analysis and Design? - 1/3
- How much time to coding?
- 1/6 to Coding
- How much time to testing?
- 1/4 to component test and early system test
- 1/4 to total system test
14In other words,
- Half of the total time should be devoted to
testing, especially if it is a brand new product
15Use of Formulas
- COCOMO--project cost, effort, schedule, staffing
for each of the phases - Preliminary design
- Detailed design
- Code and unit test
- System test
- COCOMO was developed by Barry Boehm in
1981--COnstructive COst MOdel
16Inputs to COCOMO
- Monthly cost of staff involved
- Factors indicating the general level of
complexity of the software - Programming practices and tools used
- Experience of staff
- Lines of LOSC--rendering COCOMO unusable
17Function Points
- A user input
- User display
- Peripheral I/O
- Restructuring data
- Condition checking
- Calculation
- Branching
18Function point approach--BEFORE YOU LEAP
- Vendor is Gordon Group
- It must know how many Source Lines of Code (SLOC)
are required for each function point. - It calculates total SLOC based on function points
it knows about and feeds this into the COCOMO
algorithm
19Estimacs from CA (Computer Associates)
- Can take into account modern code generation
tools - Determines effort, but also
- Hardware required
- financial break-even analysis
- risk analysis
- maintenance costs
- Expensive gt 20K
20Estimating using Function Points
- D C ( G J)
- D is the task duration in person-days
- C is the complexity of the task
- G is the assigned persons general experience
- J is the assigned professionals job knowledge
factor
21Complexity
- Must break task down into its smallest possible
repeatable functions - Then add up the complexity of each function
- User input, user display, peripheral I/O,
restructuring data, condition checking,
calculation, etc. - Repeatable functions are called function points.
- Function points are graded as SIMPLE, COMPLEX and
VERY COMPLEX
22Productivity
- Your average project player gets a productivity
factor of 1 for G - Slower players get factors gt 1
- Faster players get factors lt 1
23Formula method conclusions
- Will work if you develop accurate factors
- Can be used for any task from building a house to
developing software - Depends on how well you granularize
24This breaks down to
- PLAN -- 40
- BUILD -- 20
- TEST -- 40
- The point is . allocate lots of time to testing
25Another Rule of Thumb
- The time to design, document and code a module
- equals the time to debug it
- According to Gildersleeve
26Can you use RATIOS for Forecasting?
- Suppose you found that it took 20 days to do
Planning. - How long, based on ratios will it take to do the
project?
27Conclusions to Estimating
- Our weakest talent
- Estimating is iterative
- Estimating is still an art
28Scheduling --
- Also assists with estimating, especially when PM
software is used
29PM software supports
- WBS
- Gantt
- PERT
- Calendar(s)
- Resources and their assignments
30Networks
- Use activity on node approach
- doesnt require dummy activities
- Understand what float is--it is slack
- Critical path is the longest path
- shows precedent activities, relationships
- doesnt show what will be done when, by whom
31Resource allocation
- Assign tasks to individuals whose skill level
suits the task - Assign similar tasks to the same person
- Assign time-critical tasks to your most reliable
people - Assign tasks that communicate to the same
individual to minimize peoples interaction - Dont assign too many different tasks to any one
individual
32Reducing task duration by adding manpower
- Add 20 direct time for each additional member on
a professional team - If it takes 10 person days for one person, it
will take 12 person days for two people, 14.4
person days for three people, etc.
33Cost effects of adding resources
- More resources, gets the project done sooner,
USUALLY - But it also costs more
- The PM must come up with the best balance,
depending on the priorities set by management or
the user
34Shortening the duration of projects
- Fast tracking
- Crashing
- Adding resources to the critical path
- Allowing your current CP teams members to work
overtime
35Crashing projects
- Crash tasks on the critical path only, only as
long as no other path becomes critical - If other paths become critical, the analyst must
crash those as well
36Gantt Chart
- a time bar chart
- Invented by Henry Gantt in 1910
- Determine the units of time
- Mark all known calendar events at bottom
- Schedule each activity from PERT
37Conclusions to Scheduling
- Use PM software--worth every penny
- Do at least one PERT and one GANTT manually, just
to get a feel for the process