Supplementary Slides for
             Software Engineering:
         A Practitioner's Approach, 5/
                        e
                                              copyright © 1996, 2001
                                 R.S. Pressman & Associates, Inc.

                        For University Use Only
       May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
            Any other reproduction or use is expressly prohibited.

            This presentation, slides, or hardcopy may NOT be used for
             short courses, industry seminars, or consulting purposes.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
    5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                     1
Chapter 5
                           Software Project
                               Planning




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 2
Software Project
                            Planning
         The overall goal of project
         planning is to establish a
         pragmatic strategy for controlling,
         tracking, and monitoring a
         complex technical project.

         Why?

         So the end result gets done on
         time, with quality!


These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 3
The Steps
        t Scoping—understand the problem and
          the work that must be done
        t Estimation—how much effort? how
          much time?
        t Risk—what can go wrong? how can we
          avoid it? what can we do about it?
        t Schedule—how do we allocate
          resources along the timeline? what are
          the milestones?
        t Control strategy—how do we control
          quality? how do we control change?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 4
Write it
                                            Down!
           Project Scope                                                 Software
           Estimates                                                      Project
           Risks                                                           Plan
           Schedule
           Control strategy




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 5
To Understand Scope ...
    t Understand the customers needs
    t understand the business context
    t understand the project boundaries
    t understand the customer’s motivation
    t understand the likely paths for change
    t understand that ...

                 Even when you understand,
                 nothing is guaranteed!


These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 6
Cost Estimation

                          project scope must be explicitly
                            defined
                          task and/or functional
                           decomposition is necessary
                          historical measures (metrics) are
                           very helpful
                          at least two different techniques
                           should be used
                          remember that uncertainty is
                            inherent



These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 7
Estimation Techniques
    t past (similar) project experience
    t conventional estimation techniques
           ¶ task breakdown and effort estimates
           ¶ size (e.g., FP) estimates
    t tools (e.g., Checkpoint)




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 8
Functional Decomposition


     Stateme                                                                 functional
                                        perform
     of Scope
         nt                               a                                decomposition
                                      "grammatical
                                         parse"




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 9
Creating a Task Matrix
           Obtained from “process framework”


                                           framework activities

               application                                  Effort required to
               functions                                    accomplish
                                                            each framework
                                                            activity for each
                                                            application
                                                            function


These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 10
Conventional Methods:
                LOC/FP Approach

        t compute LOC/FP using estimates of
          information domain values
        t use historical effort for the project




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 11
Example: LOC Approach




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 12
Example: FP
                                   Approach




These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 13
Tool-Based Estimation


project characteristics
 calibration factors
 LOC/FP data




 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                  14
Empirical Estimation
                          Models
           General form:

                                                                  exponent
              effort = tuning coefficient * size




        usually derived
        as person-months                                                       empirically
        of effort required                                                     derived
                                                        usually LOC but
                                                        may also be
                                                        function point
                   either a constant or
                   a number derived based
                   on complexity of project



These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 15
Estimation Guidelines

  estimate using at least two techniques
  get estimates from independent sources
   avoid over-optimism, assume difficulties
  you've arrived at an estimate, sleep on it
  adjust for the people who'll be doing the
  job—they have the highest impact



These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 16
The Make-Buy Decision
                                                    simple (0.30)                 $380,000

                                                                                  $450,000
                                                    difficult (0.70)
                                 build
                                                                                  $275,000
                                                  minor changes
                                                      (0.40)
                                  reuse
             system X                                                             $310,000
                                                            simple (0.20)
                                               major
                                              changes
                                     buy       (0.60)                             $490,000
                                                           complex (0.80)

                                                         minor changes            $210,000
                          contract                          (0.70)

                                                                                  $400,000
                                                         major changes (0.30)

                                                    without changes (0.60)        $350,000


                                                                                  $500,000
                                                        with changes (0.40)


These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 17
Computing Expected
                         Cost
 expected cost =
   (path probability) x (estimated path cost)
                     i                    i
For example, the expected cost to build is:
 expected cost                           build=
                                                  = 0.30($380K)+0.70($450K)
                                                  = $429 K
 similarly,
expected cost                       reuse          =    $382K
expected cost                        buy           =    $267K
expected cost                        contr         =    $410K

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach,
5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
                                                                                                                 18

Chapter05

  • 1.
    Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/ e copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 1
  • 2.
    Chapter 5 Software Project Planning These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 2
  • 3.
    Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project. Why? So the end result gets done on time, with quality! These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 3
  • 4.
    The Steps t Scoping—understand the problem and the work that must be done t Estimation—how much effort? how much time? t Risk—what can go wrong? how can we avoid it? what can we do about it? t Schedule—how do we allocate resources along the timeline? what are the milestones? t Control strategy—how do we control quality? how do we control change? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 4
  • 5.
    Write it Down! Project Scope Software Estimates Project Risks Plan Schedule Control strategy These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 5
  • 6.
    To Understand Scope... t Understand the customers needs t understand the business context t understand the project boundaries t understand the customer’s motivation t understand the likely paths for change t understand that ... Even when you understand, nothing is guaranteed! These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 6
  • 7.
    Cost Estimation project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 7
  • 8.
    Estimation Techniques t past (similar) project experience t conventional estimation techniques ¶ task breakdown and effort estimates ¶ size (e.g., FP) estimates t tools (e.g., Checkpoint) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 8
  • 9.
    Functional Decomposition Stateme functional perform of Scope nt a decomposition "grammatical parse" These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 9
  • 10.
    Creating a TaskMatrix Obtained from “process framework” framework activities application Effort required to functions accomplish each framework activity for each application function These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 10
  • 11.
    Conventional Methods: LOC/FP Approach t compute LOC/FP using estimates of information domain values t use historical effort for the project These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 11
  • 12.
    Example: LOC Approach Thesecourseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 12
  • 13.
    Example: FP Approach These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 13
  • 14.
    Tool-Based Estimation project characteristics calibration factors LOC/FP data These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 14
  • 15.
    Empirical Estimation Models General form: exponent effort = tuning coefficient * size usually derived as person-months empirically of effort required derived usually LOC but may also be function point either a constant or a number derived based on complexity of project These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 15
  • 16.
    Estimation Guidelines estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties you've arrived at an estimate, sleep on it adjust for the people who'll be doing the job—they have the highest impact These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 16
  • 17.
    The Make-Buy Decision simple (0.30) $380,000 $450,000 difficult (0.70) build $275,000 minor changes (0.40) reuse system X $310,000 simple (0.20) major changes buy (0.60) $490,000 complex (0.80) minor changes $210,000 contract (0.70) $400,000 major changes (0.30) without changes (0.60) $350,000 $500,000 with changes (0.40) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 17
  • 18.
    Computing Expected Cost expected cost = (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost build= = 0.30($380K)+0.70($450K) = $429 K similarly, expected cost reuse = $382K expected cost buy = $267K expected cost contr = $410K These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 18