Project Planning Control

Document Sample
scope of work template
							Project Planning & Tracking



                              1/26
                              1
    Software Cost Estimation

• Most planning efforts begin with an
  estimate of the cost, in terms of
  time, money, or effort, of a project
• Cost estimation is very difficult in
  software development because it
  depends on so many factors


                                         2/26
                                         2
   Cost Factor: Programmer Ability
A famous 1968 study by Harold Sackman
revealed the following differences between
programmers:
      Measure              Best : Worst
    Debugging time            28:1
    CPU development time      8:1
    Coding time               16:1
    Program size              6:1
    Running time              5:1

                                             3/26
                                             3
  Cost Factor: Product Complexity
Program effort increases by a factor of
about 1.5 between each of the following
categories:
   – business application programs (payroll)
   – scientific application programs (stress analysis)
   – software tools (compiler)
   – system software (operating system)
   – embedded systems (avionics)

There is a total increase in effort of a factor
of about 7.5 across this spectrum
                                                         4/26
                                                         4
      Cost Factor: Program Size
Large programs are much more difficult
to develop than small ones. Effort
seems to be an exponential function of
program size:

                               f
           effort = k * size

where f is a factor usually estimated
between 1.05 and 1.83
                                         5/26
                                         5
    Cost Factor: Level of Reliability
• Reliability is the probability that a program
  will perform correctly under stated
  conditions for a given period of time
• Reliability can be low for programs whose
  failure only causes inconvenience, or very
  high when human life is at stake
• Effort varies by a factor of about 2 for
  programs at opposite ends of this
  spectrum
                                                  6/26
                                                  6
          Cost Factor:
    Development Environment
• Productivity increases by a factor of
  between 5 and 10 when a high level
  language is used instead of
  assembler
• Effort decreases by about half when
  developers work in an excellent
  development environment

                                          7/26
                                          7
    Cost Factors: Summary

Taken together, these (and other)
cost factors make it clear that effort
for developing a program can vary
over several orders of magnitude,
thus making software project cost
estimation very hard.


                                         8/26
                                         8
      Cost Estimation: Analogy
An expert estimates the cost of the
current project by comparing it with
past, similar projects.
 – cheap, easy, and often accurate technique
 – fails when there is no experience with
   similar projects in the past
 – fails when estimators overlook important
   cost factors

                                               9/26
                                               9
    Cost Estimation: Delphi Method
Developed at the Rand Corporation in 1948 for
achieving expert consensus without group
conflict:
 – a team of experts is formed and asked not to discuss
   their work with one another
 – a coordinator provides each expert with project
   information and asks for an estimate
 – coordinator distributes anonymous estimates, with
   comments, and asks for revised estimates
 – process continues until consensus is reached
Usually works well, but is expensive and time
consuming.
                                                          10/26
                                                          10
 Cost Estimation: Bottom-Up Technique
• Breaks a project into parts, estimates
  the cost of the parts, then combines
  all estimates to achieve an overall
  estimate
• Projects may be broken down by:
  – sub-systems or modules
  – life cycle phases
  – project tasks
  – work assignments
                                           11/26
                                           11
 Work Breakdown Structure

A work breakdown structure (WBS)
is a tree whose root represents an
   entire project or product, and
  whose other nodes represent a
 hierarchical decomposition of the
         project or product.


                                     12/26
                                     12
      Bottom-Up Techniques
  Advantages and Disadvantages
+ Make all project or product parts
  explicit, thus providing a basis for
  scheduling and resource assignments
+ Easy and cheap method to apply
– Low level estimates are usually made
  by analogy, and so may fail for new
  products or tasks


                                         13/26
                                         13
Cost Estimation: Algorithmic Cost Models
• Provide computational means for deriving
  estimates as functions of important cost
  factors
• Functions used contain constants derived
  from statistical analysis of data from past
  projects:
  – can only be used if data from past projects is
    available
  – must be calibrated by knowledgeable analysts
  – relies on initial size and cost factor estimates which
    themselves are questionable
                                                             14/26
                                                             14
Scheduling & Resource Assignment
     Scheduling is planning when a
           task will occur.

        Resource assignment is
    planning which people and other
        assets to use for a task.

     Control, tracking, or monitoring
    is comparing plans to reality and
        adjusting plans as needed.

                                        15/26
                                        15
Scheduling & Resource Assignment Tools
 Two graphical tools are widely used
 for these scheduling and resource
 assignment:
    – Gantt Charts
    – PERT/CPM Charts

 Gantt and PERT charts are
 sometimes combined to incorporate
 the advantages of both.

                                         16/26
                                         16
     Gantt Chart

 A Gantt chart is a bar
chart that plots tasks or
resources against time.




                            17/26
                            17
        Gantt Example—Resources
               Week 1   Week 2   Week 3   Week 4

Front-Loader


Dump-Truck 1


Dump-Truck 2


Supervisor


                                                   18/26
                                                   18
            Gantt Chart
    Advantages and Disadvantages
+ Gantt charts are simple and can show
  many aspects of tasks and resources
  clearly
– Gantt charts do not lend themselves to
  computation of schedule attributes like
  completion dates, slack time, etc.
– Gantt charts are difficult to use for project
  tracking without computer support
                                                  19/26
                                                  19
     PERT/CPM Chart

A PERT/CPM chart is a directed
 graph that shows tasks, their
      durations, and their
precedence relationships, and
  allows estimation of project
       completion times.



                                 20/26
                                 20
           PERT Example
                    Task 2
                    6 units


Task 1                                  Task 5
4 units                                 3 units

          Task 3              Task 4
          2 units             3 units



                                                  21/26
                                                  21
           PERT Chart
   Advantages and Disadvantages
+ PERT charts support sophisticated
  techniques for analyzing schedules
– PERT charts do not show task durations
  graphically and may be difficult to read
– PERT charts are difficult to analyze
  without computer support
– PERT charts are difficult to use for project
  tracking without computer support
                                                 22/26
                                                 22
Hybrid Gantt/PERT Charts


  Hybrid charts that show task
durations like Gantt charts, and
 task precedence relationships
 like PERT charts, can provide
  the advantages of both tools.




                                   23/26
                                   23
    Project Management Software
Improved Planning—all tasks and their
  relationships must be considered and
  documented in detail
Improved Cost & Time Estimation—the software
  computes them correctly and consistently
Improved Communication—detailed, up-to-date
  reports are easily generated
Improved Tracking—actual completion dates
  and resource costs are easy to add and
  incorporate into schedules and estimates
Overall Improvement—many inconsistencies are
  detected by the software
                                               24/26
                                               24
  Project Planning & Estimating Tools
Activity   Percent of Projects With Automation

 Sizing                        15
 Cost estimating               25
 Quality estimating             3
 Planning                      65
 Tracking                      35
 Measuring productivity         5
 Measuring quality             15
 Assessing                     10

                                                 25/26
                                                 25
        Advantages of Tool Use
For large projects (more than 250 KLOC):
– Manual planning and estimating:
   » 40% at least 6 months late
   » 15% at least 12 months late
– Automated planning or estimating, but not both:
   » 12% at least 6 months late
   » 5% at least 12 months late
– Both automated planning and estimating:
   » 5% at least 6 months late
   » 1% at least 12 months late
                                               26/26
                                               26

						
Related docs