SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
Session 5

Scheduling
Emanuele Della Valle
http://home.dei.polimi.it/dellavalle
Lecturer: Dario Cerizza
Credits                                                           2

    This slides are partially based on CEFRIEL’s slides for
    PMI Certification and largely based on Prof. John
    Musser class notes on “Principles of Software Project
    M         l      t       “P i i l   f S ft     P j t
    Management”
    Original lid
    O i i l slides are available at
                          il bl   t
    http://www.projectreference.com/
    Reuse and republish permission was granted




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                            3

   Session 4 review
   Scheduling Fundamentals
   Scheduling Techniques
     • Network Diagrams
     • Bar Charts
   Schedule Optimization Techniques
   Mythical Man-Month




Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review                                                  4

    WBS
    Estimation




 Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review
WBS                                                               5

    Types: Process, Product, Hybrid
    Formats: Outline or graphical organizational chart
    High-level WBS does not show dependencies or
    du at o s
    durations
    WBS becomes input to many things, esp. schedule
    What hurts most is what’s missing




 Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review
Estimation                                                        6

    “The single most important task of a project: setting
    realistic expectations. Unrealistic expectations based
    on i
       inaccurate estimates are th single l
                 t   ti   t       the i l largest cause of
                                                   t       f
    software failure.” Futrell, Shafer, Shafer, “Quality
    So t a e oject a age e t
    Software Project Management”
    Session 4 continuation
      • http://www.emanueledellavalle.org/slides/P&MSP2009
        http://www.emanueledellavalle.org/slides/P&MSP2009_
        05_WBS-Estimation-&-Scheduling.ppt
              – 55. Effort Estimation




 Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review
Estimation                                                        7

    History is your best ally
      • Especially when using Function Points, LOC (Lines of
        Code),
        Code) …
    Use multiple methods if possible
      • This reduces your risk
      • If using “experts”, use two
    Get buy-in
          y
    Remember: it’s an iterative process!
    Know your “presentation” techniques
               presentation




 Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review
Estimation                                                               8

    Bottom-up
              – More work to create but more accurate
              – Often with Expert Judgment at the task level

    Top-down
              – U d in the earliest phases
                Used i th       li t h
              – Usually as is the case with Analogy or Expert Judgment

    Analogy
              – Comparison with previous project: formal or informal

    Expert Judgment
              – Via staff members who will do the work
              – Most common technique along with analogy
              – Best if multiple ‘experts’ consulted




 Planning and Managing Software Projects – Emanuele Della Valle
Session 4 Review
Estimation                                                        9

    Parametric Methods
      • Know the trade-offs of: LOC & Function Points


    Function Points
      • Benefit: relatively independent of the technology used to
        develop the system
      • We will re-visit this briefly later in semester (when
        discussing “software metrics”)




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                            10

   Session 4 review
   Scheduling Fundamentals
   Scheduling Techniques
     • Network Diagrams
     • Bar Charts
   Schedule Optimization Techniques
   Mythical Man-Month




Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Planning, Estimating and Scheduling                                                        11

    Initial Planning:
              – Why
                      -     SOW, Charter
                                  h
              – What/How (partial/1st pass)
                      -     WBS
                      -     Other planning documents
                              -     Software Development Plan, Risk Mgmt., Cfg. Mgmt.

    Estimating
              – How much/How long
                      -     Size (quantity/complexity) and Effort (duration)
                      -     It’s an iterative process

    Scheduling
              – I which order
                In hi h d
                      -     Precedence, concurrences, lag & lead times, slack & float, …
                      -     It’s an iterative process



 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
What Scheduling is                                                12

    Once tasks (from the WBS) and size/effort (from
    estimation) are known: then schedule
      • Define the start and end time of each activity
    Objective: trade-off of six objectives
      • Primary objectives
              1. Best time
              2.
              2 Least cost
              3. Least risk
      • Secondary objectives
              4. Evaluation of schedule alternatives
              5. Effective use of resources
              6. Communications




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Precedence and Concurrence                           13

    Precedence:
      • A task that must occur before another is said to have
        precedence of the other
             d       f h    h
    Concurrence:
      • Concurrent tasks are those that can occur at the same
        time (in parallel)




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Four task relationship types                                                     14

    Finish-to-start: “A f-to-s B”: the
    initiation of the successor activity
    depends upon completion of the                                                  FS
                                                                           A             B
    predecessor activity
    Start to start: A
    Start-to-start: “A s-to-s B : the
                              B”:                                  A
    initiation of successor activity depends                      SS
    upon initiation of the predecessor
                                                                   B
    activity
    Finish-to-finish: “A f-to-f B“: the                                              A
    completion of the successor activity                                                 FF
    depends upon completion of the                                                   B
    predecessor activity
    Start-to-finish: “A s-to-f B“: the                                              A
    completion of the successor activity                                       SF
    depends upon initiation of the                                     B
    predecessor activity
 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Lag Time                                                                 15

    It means a delay between tasks in sequence
    Example: if "A f-to-s B" and lag is equal to 10, B can
                 A f to s B
    start only 10 days after A end



                                           A                      FS +   lag
                                                                     B


                                                                               time
                                                     Lag Time




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Lead Time                                                          16

    It means an advance between tasks in sequence
    Example: if "A f-to-s B" and lead is equal to 10, B can
                 A f to s B
    start 10 days before A end




                                     A                     FS -   lead
                                                 B

                                                                         time



 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Slack & Float                                                     17

    When then schedule contains several tasks, it may
    happen that there is some “free” time between tasks


                                                                          FS
                                                                   FS

                                                             Slack Time



    Slack & Float: synonymous terms
      • We’ll use Slack
        We ll
    Two types of slack time: Free Slack and Total Slack




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Free Slack                                               18

    Free Slack: Maximum delay of a task without causing
    a delay for any downstream task
    Example
    • A and B can be activated as soon as possible
    • Relationships
        l      h
              – “A finish-to-start C”
              – “B finish-to-start C”




                                               Free Slack of Task B
    Free Slack of Task B
      = Late Finish of B – Early Finish of B
      = Late Start of B – Early Start of B

 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Total Slack                                          19

    Total Slack: Maximum delay of a task without causing
    a delay for the total project (it can cause delays to
    other tasks)
     th t k )




    Normally, if not specified, slack stands for total slack


 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Milestones                                           20

    Identify crucial points in your schedule


    Have a duration of zero
    Shown as inverted triangle or a diamond
    Sh       i    t dt i    l       di    d
    Often used at “review” or “delivery” times
      • O at end or beginning of phases
        Or      d   b i i      f h
      • Ex: Software Requirements Review (SRR)
      • Ex: User Sign-off
                 Sign off
    Can be tied to contract terms




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Milestones examples                                  21




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Four Dependency Types                                 22

1. Mandatory Dependencies
      •     “Hard logic” dependencies
      •     Nature of the work dictates an ordering
      •     Ex: UI design precedes UI implementation
      •     Ex: Coding has to precede testing
2. Discretionary Dependencies
      •     “Soft logic” dependencies
      •     Determined by the project management team
      •     Process driven
            Process-driven
      •     Ex: Discretionary order of creating certain modules


    NOTE: substantial process innovation often take place when “hard
    logic” dependencies are shown to be wrong
      •     Ex: Test f
                     first approaches


 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Fundamentals
Terminology: Four Task Dependency Types                           23

3. External Dependencies
      • Outside of the project itself
      • Ex: Release of 3rd party product; contract signoff
      • Ex: stakeholders, suppliers, year end


4. Resource Dependencies
      • Two task rely on the same resource
      • Ex: You have only one DBA but multiple DB tasks




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                            24

   Session 4 review
   Scheduling Fundamentals
   Scheduling Techniques
     • Network Diagrams
     • Bar Charts
   Schedule Optimization Techniques
   Mythical Man-Month




Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Techniques                                             25

    Network Diagrams
      • CPM
      • PERT
    Bar Charts
      • Gantt Chart
      • Milestone Chart




 Planning and Managing Software Projects – Emanuele Della Valle
Scheduling Techniques
Network Diagrams                                                  26

    Developed in the 1950’s
    A graphical representation of the tasks necessary to
    complete a project
    Visualizes the flow of tasks & relationships
      sua es t e o o tas s          e at o s ps




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM & PERT                                                        27

    CPM
      • Critical Path Method
    PERT
      • Program Evaluation and Review Technique
    Sometimes treated synonymously
    All are models using network diagrams




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Two classic formats                                               28

    Two classic formats
      • AOA: Activity on Arrow
      • AON: Activity on Node
    Each activity labeled with
      • Identifier (usually a letter/code)
      • Duration (in standard unit like days)
    There are other variations of labeling
    There is 1 start & 1 end event
    Time goes from left to right




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Formats                                                           29




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Formats                                                               30

    AOA
      • Activities on Arrows
      • Circles representing Events
              – Such as ‘start’ or ‘end’ of a given task
      • Lines representing Tasks
              – Thing being done ‘Build UI’
      • a.k.a. Arrow Diagramming Method (ADM)


    AON
      • Activities on Nodes
              – Nodes can be circles or rectangles (usually latter)
              – Task information written on node
      • Arrows are dependencies between tasks
      • a k a Precedence Diagramming Method (PDM)
        a.k.a.

 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path                                                     31

    “The specific set of sequential tasks upon which the
    project completion date depends”
    All the tasks on the critical path have Free and Total
    Slack time = 0
    All projects have a Critical Path
    Accelerating non-critical tasks do not directly shorten
               g                                  y
    the schedule




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path: an Example                                         32




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
Critical Path Method (CPM)                                        33

    The process for determining and optimizing the critical
    path
    Non-Critical Path tasks can start earlier or later
    without impacting completion date
    Note: Critical Path may change to another as you
    shorten the current
    Should be done in conjunction with the project
    manager & the functional manager
    Based upon a 2-passes approach
      • Forward and Backward




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Forward Pass                                                 34

    To determine early start (ES) and early finish (EF)
    times for each task
    Work from left to right
    Adding t es to eac node a d each path
     dd g times    each ode and eac pat
    Rule: when several tasks converge, the ES for the
    next task is the largest of preceding EF times
                        g       p       g




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Forward (part 1)                                    35




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Forward (part 2)                                    36




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Backward Pass                                                37

    To determine the last finish and last start times
    Start at the end node and move backward left
    Subtract duration from connecting node’s earliest start
    t e
    time
    Rule: when several tasks converge, the last finish for
    the previous task is the smallest of following last start
        p                                        g
    times




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Backward (part 1)                                   38




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Example: Backward (part 2)                                         39




                                                                  180




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
 CPM: Example: Compute Slacks                                                         40

Slack = Late Finish – Early Finish = Late Start – Early Start
It’s the Total Slack since the early and late dates are computed considering
all the dependencies until the end of the project




                                                                   30




   0                              0                                0          0   0




                                90                             90       180




  Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM and Slack & Reserve                                               41



                                                                  ☺




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM and Slack & Reserve                                           42




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM: Advantages and Disadvantages                                         43

    Advantages
      •     Show precedence well
      •     Reveal interdependencies not shown in other techniques
      •     Ability to calculate critical path
      •     Ability to perform “what if” exercises


    Disadvantages
      • Default model assumes resources are unlimited
              – You need to incorporate this yourself (Resource
                Dependencies) when determining the “real” Critical Path
      • Difficult to follow on large projects




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT                                                              44

    Program Evaluation and Review Technique
    Based on idea that estimates are uncertain
      • Therefore uses duration ranges
      • And the probability of falling to a given range
    Uses an “expected value” (or weighted average) to
    determine durations
    Use the following methods to calculate the expected
    durations, then use as input to your network diagram




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT                                                              45

    Start with 3 estimates for each task
      • Optimistic
              – Would likely occur 1 time in 20
      • Most likely
              – Modal value of the distribution
      • Pessimistic
              – Would be exceeded only one time in 20




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Formula                                                      46

    Combined to estimate a task duration to be used in
    the network diagram




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Formula                                                              47

    Confidence Interval can be determined
    Based on a standard deviation of the expected time
      • Using a bell curve (normal distribution)


    For each task use

                                                                  i   i
                                               i




    For the whole critical path use




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
MEMO: bell curve (normal distribution)                                                      48




[source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/Toetsing/bell_curve2.gif ]
  Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT Example                                                                  49

    Planner 1 (P1) and Planner 2 (P2) are asked to
    estimate m, a and b
    Confidence interval for P2 is 4 times wider than P1 for
    a given probability

              Description                        Planner 1        Planner 2
              m                                  10d              10d
              a                                  9d               9d
              b                                  12d              20d
              PERT time                          10.2d            11.5d
              Std. Dev.                          0.5d             1.8d

    Ex: 68% probability of 9.7 to 10.7 days (P1) vs. 9.7-
    13.3 days (P2)
 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
PERT: Advantages and Disadvantages                                50

    Advantages
      • Accounts for uncertainty


    Disadvantages
      •     Time and labor intensive
      •     Assumption of unlimited resources is big issue
      •     Lack of functional ownership of estimates
      •     Mostly only used on large, complex project


    Get PERT software to calculate it for you




 Planning and Managing Software Projects – Emanuele Della Valle
Network Diagrams
CPM vs. PERT                                                      51

    Both use Network Diagrams
    CPM: deterministic
    PERT: probabilistic
    CPM:
    CPM one estimate, PERT, three estimates
              ti  t PERT th         ti  t
    PERT is infrequently used




 Planning and Managing Software Projects – Emanuele Della Valle
Bar Charts
         Gantt Chart                                                                                                                                                                                                                          52

ID   Task Name                                Duration
                                                           31 Dec '06         07 Jan '07                14 Jan '07             21 Jan '07             28 Jan '07               04 Feb '07              11 Feb '07            18 Feb '07
                                                           S M T W T    F   S S M T W T           F S    S M T W T     F   S    S M T W T       F   S S M T W T          F   S S M T W T         F   S S M T W T       F S    S M T W T        F
0    Commercial Construction                  355 days
1       Three-story Office Building (7         355 days
2           General Conditions                  17 days
3                Receive notic e to proc          3 days            G.C. general managem ent
                                                                         g           g
4                Submit bond and insur            2 days                    G.C. project m anagem ent;G.C. general management[25%]
5                Prepare and submit pr            2 days                                  G.C. project m anagem ent[25%];G.C. scheduler
6                Prepare and submit sc         2,33 days                                           G.C. general managem ent[10%];G.C. project m anagem ent
7                Obtain building permits          4 days                                  G.C. project m anagem ent[50%];G.C. procurement[50%]
8                Submit preliminary sho            2 wks                                                                                  G.C. project m anagem ent[50%];G.C. procurement[50%]
9                Submit monthly reque              1 day
10          Long Lead Procurem ent              70 days
11               Submit shop drawings              2 wks                                                               Steel erection contractor management
12               Submit shop drawings              2 wks                                                                                                                                   Roofing contractor managem ent
13               Submit shop drawings              2 wks                                                                                                                                   Elevator contractor management
14               Submit shop drawings              2 wks                                                                                                                                   Plum bing contractor management
15               Submit shop drawings              2 wks                                                                                                                                   Electric contractor management
16               Submit shop drawings              2 wks                                                                                                                                   HVAC contractor m anagem ent
17               Detail, fabricate, and d        12 wks
18          Mobilize on Site                    10 days
19               Install temporary powe           2 days                    Electric contractor
20               Install temporary wate           2 days                    Plum bing contractor
21               Set up site office               3 days                                     G.C. superintendent;G.C. labor crew [10%]
22               Set line and grade ben           3 days                                                      G.C. survey crew
23               Prepare site - lay down          2 days                                                            Site grading contractor;G.C. labor crew[10%]
24          Site Grading and Utilities          35 days
25               Clear and grub site              3 days                                                                             Site grading contractor
26               Stone site ac cess and           2 days                                                                                     Site grading contractor
27               Rough grade site (cut              1 wk                                                                                                               Site grading contractor
28               Install storm drainage            2 wks                                                                                                                                                            Site grading contractor
29               Install exterior fire line        2 wks                                                                                                                                                            Plum bing contractor
30               Perform final site gradi          2 wks
31               Erect building batter b            1 wk
32          Foundations                         39 days
33               Excavate foundations              2 wks
34               Excavate elevator pit            2 days
35               Form column piers and            4 days
36               Rough-in electric and p          4 days
37               Form elevator pit walls          4 days
38               Set reinforcing and anc          4 days
39               Pour column piers and            5 days
40               Pour concrete elevator            1 day
41               Cure elevator wall conc          7 days




             Planning and Managing Software Projects – Emanuele Della Valle
Bar Charts
Gantt Chart                                                       53

    Advantages
      • Easily understood
      • Easily created and maintained
        Largely used
    Disadvantages
      • It does not show uncertainty of a given activity (as does
        PERT)
      • It has difficulties to show complex relationships among
        tasks




 Planning and Managing Software Projects – Emanuele Della Valle
Bar Charts
Milestone Chart                                                   54

    Simple Gantt chart
      • Either showing just highest summary bars
      • Or milestones only




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                            55

   Session 4 review
   Scheduling Fundamentals
   Scheduling Techniques
     • Network Diagrams
     • Bar Charts
   Schedule Optimization Techniques
   Mythical Man-Month




Planning and Managing Software Projects – Emanuele Della Valle
Schedule Optimization Techniques                                          56

    How can you shorten the schedule?
    With one or more of the following approaches:
      • Reducing scope
              – Doing less
      • Reducing quality
              – Doing faster (or worse)
              – Pay attention that poorly tested software may cost more
                due to dependencies with other parts
      • Adding resources:
              – H i
                Having more persons working
                                         ki
              – See “Critical Man Months” section
      • Crashingg
      • Fast Tracking
      • …


 Planning and Managing Software Projects – Emanuele Della Valle
Schedule Optimization Techniques
Crashing and Fast Tracking                                        57

    Crashing
      • Looks at cost and schedule tradeoffs
              – Gain greatest compression with least cost
      • Add resources to critical path tasks
      • Changing the sequence of tasks
              – Reducing slack times
      • Limit or reduce requirements (scope)
    Fast Tracking
      • Overlapping of phases, activities or tasks that would
        otherwise be sequential
      • Involves some risk
      • May cause rework




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                            58

   Session 4 review
   Scheduling Fundamentals
   Scheduling Techniques
     • Network Diagrams
     • Bar Charts
   Schedule Optimization Techniques
   Mythical Man-Month




Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                59

    Book: “The Mythical Man-Month”
      • Author: Fred Brooks
      • http://www.amazon.com/exec/obidos/ASIN/020183595
        9/qid%3D1022856693/sr%3D1-
        1/ref%3Dsr%5F1%5F1/103 4280067 9687806
        1/ref%3Dsr%5F1%5F1/103-4280067-9687806
      • http://my.safaribooksonline.com/0201835959
    “The classic book on the human elements of software
     The
    engineering”
    First two chapters are full of terrific insight (
                 p                              g (and
    quotes)




 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                60

    “Cost varies as product of men and months, progress
    does not.”
    “Hence the man-month as a unit for measuring the
    size of job is a dangerous and deceptive myth”
    “Good cooking fakes time. If you are made to wait, it
    is to serve you better, and to please you - Menu of
    Restaurant Antoine, New Orleans -”
                Antoine                 ”




 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                61

    Why is software project disaster so common?
      1. Estimation techniques are poor & assume things will go
         well (
             ll (an ‘
                    ‘unvoiced’ assumption)
                            d’           )
      2. Estimation techniques fallaciously confuse effort with
         progress, hiding the assumption that men and months
         are interchangeable
      3. Because of estimation uncertainty, managers lack
         courteous stubbornness of Antoine's chef
      4. Schedule progress is poorly monitored
      5
      5. When schedule slippage is recognized, the natural
              e sc edu e s ppage s ecog ed, e a u a
         response is to add manpower. Which, is like dousing a
         fire with gasoline




 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                62

    Optimism
      • “All programmers are optimists”
      • 1st false assumption: “all will go well” or “each task
        takes only as long as it ‘ought’ to take”
      • The Fix: Consider the larger probabilities
    Cost (overhead) of communication (and training)
              – Overhead: n(n-1)/2
                          n(n 1)/2
      • How long does a 12 month project take?
              – 1 person: 12 month
              – 2 persons = 12/2 + 2(2-1)/2 = 6+1 = 7
                      -     2 man-month extra
              – 3 persons = 12/3 + 3(3-1)/2 = 4 + 3 = 7
                  p           /     (   )/
                      -     9 man-months extra
              – 4 persons = 12/4 + 4(4-1)/2 = 3 + 6 = 9
      • The Fix: don’t assume adding people will solve the
                 don t
        problem
 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                63

    Sequential nature of the process
      • “The bearing of a child takes nine months, no matter
        how many women are assigned”
        h                              d”
    What is the most mis-scheduled part of process?
      • Testing
    Why is this particularly bad?
      • Occurs late in process and without early-warning
      • Higher costs
    The Fix: Allocate more test time
      • Understand task dependencies, test and fix before
        use




 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                                    64

    Reliance on hunches and guesses
      • What is ‘gutless estimating’?
              – Urgency of Client causes Optimistic Estimates
                      -     E.g., omelet and chef analogy
                      -     http://my.safaribooksonline.com/0201835959/ch02lev1sec4
              – Regardless of Urgency, tasks require the same amount of
                time

    The
    Th myth of additional manpower
         th f dditi     l
      • Brooks Law
      • “Adding manpower to a late project makes it later”
         Adding                                     later
              – http://en.wikipedia.org/wiki/Brooks%27s_law




 Planning and Managing Software Projects – Emanuele Della Valle
Mythical Man-Month                                                    65

    Q: “How does a project get to be a year late”?
      • A: “One day at a time”
    Studies
      • Each task: twice as long as estimated
      • Only 50% of work week is real coding
              – The rest 50% is communication, negotiation,
                documentation, …

    The Fixes
      • Consider the 50% not-coding time
                          not coding
      • Define clearly measurable milestones
              – No “fuzzy” milestones
      • Reduce the role of conflict among persons
      • Identify the “true status” of a task
              – It’s impressive how much effort is needed to move a 90%
                It s
                done task to a 100% done task
 Planning and Managing Software Projects – Emanuele Della Valle
66




Planning and Managing Software Projects – Emanuele Della Valle
Questions?                                                       67




Planning and Managing Software Projects – Emanuele Della Valle

Contenu connexe

Tendances

Unit2 scheduling wbs_network
Unit2 scheduling wbs_networkUnit2 scheduling wbs_network
Unit2 scheduling wbs_networkReetesh Gupta
 
Introduction project management
Introduction  project managementIntroduction  project management
Introduction project managementHager Aamer
 
Prince 2 + XLPM - Semcon - Bert Hedeman
Prince 2 + XLPM - Semcon - Bert HedemanPrince 2 + XLPM - Semcon - Bert Hedeman
Prince 2 + XLPM - Semcon - Bert HedemanSvenskt Projektforum
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)Syed Muhammad Hammad
 
WBS And Scheduling for eLearning Project Managament
WBS And Scheduling for eLearning Project ManagamentWBS And Scheduling for eLearning Project Managament
WBS And Scheduling for eLearning Project ManagamentMichael M Grant
 
Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Reetesh Gupta
 
Charles.leising
Charles.leisingCharles.leising
Charles.leisingNASAPMC
 
Lean planning with Oracle Primavera Cloud
Lean planning  with Oracle Primavera CloudLean planning  with Oracle Primavera Cloud
Lean planning with Oracle Primavera CloudPRMYAZILIM
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223NASAPMC
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9Syed Muhammad Hammad
 
IM04 - BI Project Management
IM04 - BI Project ManagementIM04 - BI Project Management
IM04 - BI Project ManagementKelvin Chan
 
Program Mgmt Overview
Program Mgmt OverviewProgram Mgmt Overview
Program Mgmt Overviewsmcasas
 

Tendances (19)

Ch3 proj.mgt
Ch3 proj.mgtCh3 proj.mgt
Ch3 proj.mgt
 
Unit2 scheduling wbs_network
Unit2 scheduling wbs_networkUnit2 scheduling wbs_network
Unit2 scheduling wbs_network
 
Introduction project management
Introduction  project managementIntroduction  project management
Introduction project management
 
Prince 2 + XLPM - Semcon - Bert Hedeman
Prince 2 + XLPM - Semcon - Bert HedemanPrince 2 + XLPM - Semcon - Bert Hedeman
Prince 2 + XLPM - Semcon - Bert Hedeman
 
5 Ways SharePoint will Benefit your PMO
5 Ways SharePoint will Benefit your PMO5 Ways SharePoint will Benefit your PMO
5 Ways SharePoint will Benefit your PMO
 
Spm lecture-2
Spm lecture-2Spm lecture-2
Spm lecture-2
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)
 
WBS And Scheduling for eLearning Project Managament
WBS And Scheduling for eLearning Project ManagamentWBS And Scheduling for eLearning Project Managament
WBS And Scheduling for eLearning Project Managament
 
Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management
 
Charles.leising
Charles.leisingCharles.leising
Charles.leising
 
Lean planning with Oracle Primavera Cloud
Lean planning  with Oracle Primavera CloudLean planning  with Oracle Primavera Cloud
Lean planning with Oracle Primavera Cloud
 
Bpp 3213 lecture 2
Bpp 3213 lecture 2Bpp 3213 lecture 2
Bpp 3213 lecture 2
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223
David,florian dlr kn-david_implementing a pmo_nasa pm challenge_20120223
 
Planning tips
Planning tipsPlanning tips
Planning tips
 
Pmp study: time
Pmp study: timePmp study: time
Pmp study: time
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9
 
IM04 - BI Project Management
IM04 - BI Project ManagementIM04 - BI Project Management
IM04 - BI Project Management
 
Program Mgmt Overview
Program Mgmt OverviewProgram Mgmt Overview
Program Mgmt Overview
 

En vedette

IC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineIC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineEmanuele Della Valle
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
Reasoning Requirements for Bioscience
Reasoning Requirements for BioscienceReasoning Requirements for Bioscience
Reasoning Requirements for BioscienceEmanuele Della Valle
 
Stream Reasoning - where we got so far 2011.1.18 Oxford Key Note
Stream Reasoning - where we got so far 2011.1.18 Oxford Key NoteStream Reasoning - where we got so far 2011.1.18 Oxford Key Note
Stream Reasoning - where we got so far 2011.1.18 Oxford Key NoteEmanuele Della Valle
 
Challenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingChallenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingEmanuele Della Valle
 

En vedette (9)

IC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineIC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search Engine
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Reasoning Requirements for Bioscience
Reasoning Requirements for BioscienceReasoning Requirements for Bioscience
Reasoning Requirements for Bioscience
 
Stream Reasoning - where we got so far 2011.1.18 Oxford Key Note
Stream Reasoning - where we got so far 2011.1.18 Oxford Key NoteStream Reasoning - where we got so far 2011.1.18 Oxford Key Note
Stream Reasoning - where we got so far 2011.1.18 Oxford Key Note
 
IC2008 Connettivi Booleani
IC2008 Connettivi BooleaniIC2008 Connettivi Booleani
IC2008 Connettivi Booleani
 
Informazioni Amministrative
Informazioni AmministrativeInformazioni Amministrative
Informazioni Amministrative
 
Challenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingChallenging LarKC with Urban Computing
Challenging LarKC with Urban Computing
 
IC2009 Information R-Evolution
IC2009 Information R-EvolutionIC2009 Information R-Evolution
IC2009 Information R-Evolution
 
IC2008 22 Deduzione
IC2008 22 DeduzioneIC2008 22 Deduzione
IC2008 22 Deduzione
 

Similaire à P&msp2010 05 scheduling

P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-managementEmanuele Della Valle
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Emanuele Della Valle
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsEmanuele Della Valle
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningEmanuele Della Valle
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project ManagementEmanuele Della Valle
 
More on Software Project Management
More on Software Project ManagementMore on Software Project Management
More on Software Project ManagementEmanuele Della Valle
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software ProjectsEmanuele Della Valle
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overviewahmad bassiouny
 
importance of resources allocation in formal method of software engineering ...
 importance of resources allocation in formal method of software engineering ... importance of resources allocation in formal method of software engineering ...
importance of resources allocation in formal method of software engineering ...Abdul Naqashbandi
 
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordAgileLAB
 
Project mangement chp 1 12
Project mangement chp 1 12Project mangement chp 1 12
Project mangement chp 1 12Dreams Design
 

Similaire à P&msp2010 05 scheduling (20)

Scheduling
SchedulingScheduling
Scheduling
 
P&msp2010 10 project-control
P&msp2010 10 project-controlP&msp2010 10 project-control
P&msp2010 10 project-control
 
P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-management
 
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentals
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle Planning
 
Work Breakdown Structure
Work Breakdown StructureWork Breakdown Structure
Work Breakdown Structure
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project Management
 
More on Software Project Management
More on Software Project ManagementMore on Software Project Management
More on Software Project Management
 
Estimation
EstimationEstimation
Estimation
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
 
P&msp2010 11 final-stages
P&msp2010 11 final-stagesP&msp2010 11 final-stages
P&msp2010 11 final-stages
 
P&msp2010 06 ms-project
P&msp2010 06 ms-projectP&msp2010 06 ms-project
P&msp2010 06 ms-project
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overview
 
Project management
Project managementProject management
Project management
 
importance of resources allocation in formal method of software engineering ...
 importance of resources allocation in formal method of software engineering ... importance of resources allocation in formal method of software engineering ...
importance of resources allocation in formal method of software engineering ...
 
RajendraLK_13_Years_PeopleSoft
RajendraLK_13_Years_PeopleSoftRajendraLK_13_Years_PeopleSoft
RajendraLK_13_Years_PeopleSoft
 
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika — Hybrid Project Management: Excellence Behind a Buzzword
 
Project mangement chp 1 12
Project mangement chp 1 12Project mangement chp 1 12
Project mangement chp 1 12
 

Plus de Emanuele Della Valle

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streamsEmanuele Della Valle
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningEmanuele Della Valle
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search enginesEmanuele Della Valle
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoEmanuele Della Valle
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...Emanuele Della Valle
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Emanuele Della Valle
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create valueEmanuele Della Valle
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Emanuele Della Valle
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Emanuele Della Valle
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Emanuele Della Valle
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesEmanuele Della Valle
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Emanuele Della Valle
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Emanuele Della Valle
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Emanuele Della Valle
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)Emanuele Della Valle
 

Plus de Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

P&msp2010 05 scheduling

  • 1. Session 5 Scheduling Emanuele Della Valle http://home.dei.polimi.it/dellavalle Lecturer: Dario Cerizza
  • 2. Credits 2 This slides are partially based on CEFRIEL’s slides for PMI Certification and largely based on Prof. John Musser class notes on “Principles of Software Project M l t “P i i l f S ft P j t Management” Original lid O i i l slides are available at il bl t http://www.projectreference.com/ Reuse and republish permission was granted Planning and Managing Software Projects – Emanuele Della Valle
  • 3. Today 3 Session 4 review Scheduling Fundamentals Scheduling Techniques • Network Diagrams • Bar Charts Schedule Optimization Techniques Mythical Man-Month Planning and Managing Software Projects – Emanuele Della Valle
  • 4. Session 4 Review 4 WBS Estimation Planning and Managing Software Projects – Emanuele Della Valle
  • 5. Session 4 Review WBS 5 Types: Process, Product, Hybrid Formats: Outline or graphical organizational chart High-level WBS does not show dependencies or du at o s durations WBS becomes input to many things, esp. schedule What hurts most is what’s missing Planning and Managing Software Projects – Emanuele Della Valle
  • 6. Session 4 Review Estimation 6 “The single most important task of a project: setting realistic expectations. Unrealistic expectations based on i inaccurate estimates are th single l t ti t the i l largest cause of t f software failure.” Futrell, Shafer, Shafer, “Quality So t a e oject a age e t Software Project Management” Session 4 continuation • http://www.emanueledellavalle.org/slides/P&MSP2009 http://www.emanueledellavalle.org/slides/P&MSP2009_ 05_WBS-Estimation-&-Scheduling.ppt – 55. Effort Estimation Planning and Managing Software Projects – Emanuele Della Valle
  • 7. Session 4 Review Estimation 7 History is your best ally • Especially when using Function Points, LOC (Lines of Code), Code) … Use multiple methods if possible • This reduces your risk • If using “experts”, use two Get buy-in y Remember: it’s an iterative process! Know your “presentation” techniques presentation Planning and Managing Software Projects – Emanuele Della Valle
  • 8. Session 4 Review Estimation 8 Bottom-up – More work to create but more accurate – Often with Expert Judgment at the task level Top-down – U d in the earliest phases Used i th li t h – Usually as is the case with Analogy or Expert Judgment Analogy – Comparison with previous project: formal or informal Expert Judgment – Via staff members who will do the work – Most common technique along with analogy – Best if multiple ‘experts’ consulted Planning and Managing Software Projects – Emanuele Della Valle
  • 9. Session 4 Review Estimation 9 Parametric Methods • Know the trade-offs of: LOC & Function Points Function Points • Benefit: relatively independent of the technology used to develop the system • We will re-visit this briefly later in semester (when discussing “software metrics”) Planning and Managing Software Projects – Emanuele Della Valle
  • 10. Today 10 Session 4 review Scheduling Fundamentals Scheduling Techniques • Network Diagrams • Bar Charts Schedule Optimization Techniques Mythical Man-Month Planning and Managing Software Projects – Emanuele Della Valle
  • 11. Scheduling Fundamentals Planning, Estimating and Scheduling 11 Initial Planning: – Why - SOW, Charter h – What/How (partial/1st pass) - WBS - Other planning documents - Software Development Plan, Risk Mgmt., Cfg. Mgmt. Estimating – How much/How long - Size (quantity/complexity) and Effort (duration) - It’s an iterative process Scheduling – I which order In hi h d - Precedence, concurrences, lag & lead times, slack & float, … - It’s an iterative process Planning and Managing Software Projects – Emanuele Della Valle
  • 12. Scheduling Fundamentals What Scheduling is 12 Once tasks (from the WBS) and size/effort (from estimation) are known: then schedule • Define the start and end time of each activity Objective: trade-off of six objectives • Primary objectives 1. Best time 2. 2 Least cost 3. Least risk • Secondary objectives 4. Evaluation of schedule alternatives 5. Effective use of resources 6. Communications Planning and Managing Software Projects – Emanuele Della Valle
  • 13. Scheduling Fundamentals Terminology: Precedence and Concurrence 13 Precedence: • A task that must occur before another is said to have precedence of the other d f h h Concurrence: • Concurrent tasks are those that can occur at the same time (in parallel) Planning and Managing Software Projects – Emanuele Della Valle
  • 14. Scheduling Fundamentals Terminology: Four task relationship types 14 Finish-to-start: “A f-to-s B”: the initiation of the successor activity depends upon completion of the FS A B predecessor activity Start to start: A Start-to-start: “A s-to-s B : the B”: A initiation of successor activity depends SS upon initiation of the predecessor B activity Finish-to-finish: “A f-to-f B“: the A completion of the successor activity FF depends upon completion of the B predecessor activity Start-to-finish: “A s-to-f B“: the A completion of the successor activity SF depends upon initiation of the B predecessor activity Planning and Managing Software Projects – Emanuele Della Valle
  • 15. Scheduling Fundamentals Terminology: Lag Time 15 It means a delay between tasks in sequence Example: if "A f-to-s B" and lag is equal to 10, B can A f to s B start only 10 days after A end A FS + lag B time Lag Time Planning and Managing Software Projects – Emanuele Della Valle
  • 16. Scheduling Fundamentals Terminology: Lead Time 16 It means an advance between tasks in sequence Example: if "A f-to-s B" and lead is equal to 10, B can A f to s B start 10 days before A end A FS - lead B time Planning and Managing Software Projects – Emanuele Della Valle
  • 17. Scheduling Fundamentals Terminology: Slack & Float 17 When then schedule contains several tasks, it may happen that there is some “free” time between tasks FS FS Slack Time Slack & Float: synonymous terms • We’ll use Slack We ll Two types of slack time: Free Slack and Total Slack Planning and Managing Software Projects – Emanuele Della Valle
  • 18. Scheduling Fundamentals Terminology: Free Slack 18 Free Slack: Maximum delay of a task without causing a delay for any downstream task Example • A and B can be activated as soon as possible • Relationships l h – “A finish-to-start C” – “B finish-to-start C” Free Slack of Task B Free Slack of Task B = Late Finish of B – Early Finish of B = Late Start of B – Early Start of B Planning and Managing Software Projects – Emanuele Della Valle
  • 19. Scheduling Fundamentals Terminology: Total Slack 19 Total Slack: Maximum delay of a task without causing a delay for the total project (it can cause delays to other tasks) th t k ) Normally, if not specified, slack stands for total slack Planning and Managing Software Projects – Emanuele Della Valle
  • 20. Scheduling Fundamentals Terminology: Milestones 20 Identify crucial points in your schedule Have a duration of zero Shown as inverted triangle or a diamond Sh i t dt i l di d Often used at “review” or “delivery” times • O at end or beginning of phases Or d b i i f h • Ex: Software Requirements Review (SRR) • Ex: User Sign-off Sign off Can be tied to contract terms Planning and Managing Software Projects – Emanuele Della Valle
  • 21. Scheduling Fundamentals Terminology: Milestones examples 21 Planning and Managing Software Projects – Emanuele Della Valle
  • 22. Scheduling Fundamentals Terminology: Four Dependency Types 22 1. Mandatory Dependencies • “Hard logic” dependencies • Nature of the work dictates an ordering • Ex: UI design precedes UI implementation • Ex: Coding has to precede testing 2. Discretionary Dependencies • “Soft logic” dependencies • Determined by the project management team • Process driven Process-driven • Ex: Discretionary order of creating certain modules NOTE: substantial process innovation often take place when “hard logic” dependencies are shown to be wrong • Ex: Test f first approaches Planning and Managing Software Projects – Emanuele Della Valle
  • 23. Scheduling Fundamentals Terminology: Four Task Dependency Types 23 3. External Dependencies • Outside of the project itself • Ex: Release of 3rd party product; contract signoff • Ex: stakeholders, suppliers, year end 4. Resource Dependencies • Two task rely on the same resource • Ex: You have only one DBA but multiple DB tasks Planning and Managing Software Projects – Emanuele Della Valle
  • 24. Today 24 Session 4 review Scheduling Fundamentals Scheduling Techniques • Network Diagrams • Bar Charts Schedule Optimization Techniques Mythical Man-Month Planning and Managing Software Projects – Emanuele Della Valle
  • 25. Scheduling Techniques 25 Network Diagrams • CPM • PERT Bar Charts • Gantt Chart • Milestone Chart Planning and Managing Software Projects – Emanuele Della Valle
  • 26. Scheduling Techniques Network Diagrams 26 Developed in the 1950’s A graphical representation of the tasks necessary to complete a project Visualizes the flow of tasks & relationships sua es t e o o tas s e at o s ps Planning and Managing Software Projects – Emanuele Della Valle
  • 27. Network Diagrams CPM & PERT 27 CPM • Critical Path Method PERT • Program Evaluation and Review Technique Sometimes treated synonymously All are models using network diagrams Planning and Managing Software Projects – Emanuele Della Valle
  • 28. Network Diagrams Two classic formats 28 Two classic formats • AOA: Activity on Arrow • AON: Activity on Node Each activity labeled with • Identifier (usually a letter/code) • Duration (in standard unit like days) There are other variations of labeling There is 1 start & 1 end event Time goes from left to right Planning and Managing Software Projects – Emanuele Della Valle
  • 29. Network Diagrams Formats 29 Planning and Managing Software Projects – Emanuele Della Valle
  • 30. Network Diagrams Formats 30 AOA • Activities on Arrows • Circles representing Events – Such as ‘start’ or ‘end’ of a given task • Lines representing Tasks – Thing being done ‘Build UI’ • a.k.a. Arrow Diagramming Method (ADM) AON • Activities on Nodes – Nodes can be circles or rectangles (usually latter) – Task information written on node • Arrows are dependencies between tasks • a k a Precedence Diagramming Method (PDM) a.k.a. Planning and Managing Software Projects – Emanuele Della Valle
  • 31. Network Diagrams Critical Path 31 “The specific set of sequential tasks upon which the project completion date depends” All the tasks on the critical path have Free and Total Slack time = 0 All projects have a Critical Path Accelerating non-critical tasks do not directly shorten g y the schedule Planning and Managing Software Projects – Emanuele Della Valle
  • 32. Network Diagrams Critical Path: an Example 32 Planning and Managing Software Projects – Emanuele Della Valle
  • 33. Network Diagrams Critical Path Method (CPM) 33 The process for determining and optimizing the critical path Non-Critical Path tasks can start earlier or later without impacting completion date Note: Critical Path may change to another as you shorten the current Should be done in conjunction with the project manager & the functional manager Based upon a 2-passes approach • Forward and Backward Planning and Managing Software Projects – Emanuele Della Valle
  • 34. Network Diagrams CPM: Forward Pass 34 To determine early start (ES) and early finish (EF) times for each task Work from left to right Adding t es to eac node a d each path dd g times each ode and eac pat Rule: when several tasks converge, the ES for the next task is the largest of preceding EF times g p g Planning and Managing Software Projects – Emanuele Della Valle
  • 35. Network Diagrams CPM: Example: Forward (part 1) 35 Planning and Managing Software Projects – Emanuele Della Valle
  • 36. Network Diagrams CPM: Example: Forward (part 2) 36 Planning and Managing Software Projects – Emanuele Della Valle
  • 37. Network Diagrams CPM: Backward Pass 37 To determine the last finish and last start times Start at the end node and move backward left Subtract duration from connecting node’s earliest start t e time Rule: when several tasks converge, the last finish for the previous task is the smallest of following last start p g times Planning and Managing Software Projects – Emanuele Della Valle
  • 38. Network Diagrams CPM: Example: Backward (part 1) 38 Planning and Managing Software Projects – Emanuele Della Valle
  • 39. Network Diagrams CPM: Example: Backward (part 2) 39 180 Planning and Managing Software Projects – Emanuele Della Valle
  • 40. Network Diagrams CPM: Example: Compute Slacks 40 Slack = Late Finish – Early Finish = Late Start – Early Start It’s the Total Slack since the early and late dates are computed considering all the dependencies until the end of the project 30 0 0 0 0 0 90 90 180 Planning and Managing Software Projects – Emanuele Della Valle
  • 41. Network Diagrams CPM and Slack & Reserve 41 ☺ Planning and Managing Software Projects – Emanuele Della Valle
  • 42. Network Diagrams CPM and Slack & Reserve 42 Planning and Managing Software Projects – Emanuele Della Valle
  • 43. Network Diagrams CPM: Advantages and Disadvantages 43 Advantages • Show precedence well • Reveal interdependencies not shown in other techniques • Ability to calculate critical path • Ability to perform “what if” exercises Disadvantages • Default model assumes resources are unlimited – You need to incorporate this yourself (Resource Dependencies) when determining the “real” Critical Path • Difficult to follow on large projects Planning and Managing Software Projects – Emanuele Della Valle
  • 44. Network Diagrams PERT 44 Program Evaluation and Review Technique Based on idea that estimates are uncertain • Therefore uses duration ranges • And the probability of falling to a given range Uses an “expected value” (or weighted average) to determine durations Use the following methods to calculate the expected durations, then use as input to your network diagram Planning and Managing Software Projects – Emanuele Della Valle
  • 45. Network Diagrams PERT 45 Start with 3 estimates for each task • Optimistic – Would likely occur 1 time in 20 • Most likely – Modal value of the distribution • Pessimistic – Would be exceeded only one time in 20 Planning and Managing Software Projects – Emanuele Della Valle
  • 46. Network Diagrams PERT Formula 46 Combined to estimate a task duration to be used in the network diagram Planning and Managing Software Projects – Emanuele Della Valle
  • 47. Network Diagrams PERT Formula 47 Confidence Interval can be determined Based on a standard deviation of the expected time • Using a bell curve (normal distribution) For each task use i i i For the whole critical path use Planning and Managing Software Projects – Emanuele Della Valle
  • 48. Network Diagrams MEMO: bell curve (normal distribution) 48 [source : http://www.fontys.nl/lerarenopleiding/tilburg/engels/Toetsing/bell_curve2.gif ] Planning and Managing Software Projects – Emanuele Della Valle
  • 49. Network Diagrams PERT Example 49 Planner 1 (P1) and Planner 2 (P2) are asked to estimate m, a and b Confidence interval for P2 is 4 times wider than P1 for a given probability Description Planner 1 Planner 2 m 10d 10d a 9d 9d b 12d 20d PERT time 10.2d 11.5d Std. Dev. 0.5d 1.8d Ex: 68% probability of 9.7 to 10.7 days (P1) vs. 9.7- 13.3 days (P2) Planning and Managing Software Projects – Emanuele Della Valle
  • 50. Network Diagrams PERT: Advantages and Disadvantages 50 Advantages • Accounts for uncertainty Disadvantages • Time and labor intensive • Assumption of unlimited resources is big issue • Lack of functional ownership of estimates • Mostly only used on large, complex project Get PERT software to calculate it for you Planning and Managing Software Projects – Emanuele Della Valle
  • 51. Network Diagrams CPM vs. PERT 51 Both use Network Diagrams CPM: deterministic PERT: probabilistic CPM: CPM one estimate, PERT, three estimates ti t PERT th ti t PERT is infrequently used Planning and Managing Software Projects – Emanuele Della Valle
  • 52. Bar Charts Gantt Chart 52 ID Task Name Duration 31 Dec '06 07 Jan '07 14 Jan '07 21 Jan '07 28 Jan '07 04 Feb '07 11 Feb '07 18 Feb '07 S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T F 0 Commercial Construction 355 days 1 Three-story Office Building (7 355 days 2 General Conditions 17 days 3 Receive notic e to proc 3 days G.C. general managem ent g g 4 Submit bond and insur 2 days G.C. project m anagem ent;G.C. general management[25%] 5 Prepare and submit pr 2 days G.C. project m anagem ent[25%];G.C. scheduler 6 Prepare and submit sc 2,33 days G.C. general managem ent[10%];G.C. project m anagem ent 7 Obtain building permits 4 days G.C. project m anagem ent[50%];G.C. procurement[50%] 8 Submit preliminary sho 2 wks G.C. project m anagem ent[50%];G.C. procurement[50%] 9 Submit monthly reque 1 day 10 Long Lead Procurem ent 70 days 11 Submit shop drawings 2 wks Steel erection contractor management 12 Submit shop drawings 2 wks Roofing contractor managem ent 13 Submit shop drawings 2 wks Elevator contractor management 14 Submit shop drawings 2 wks Plum bing contractor management 15 Submit shop drawings 2 wks Electric contractor management 16 Submit shop drawings 2 wks HVAC contractor m anagem ent 17 Detail, fabricate, and d 12 wks 18 Mobilize on Site 10 days 19 Install temporary powe 2 days Electric contractor 20 Install temporary wate 2 days Plum bing contractor 21 Set up site office 3 days G.C. superintendent;G.C. labor crew [10%] 22 Set line and grade ben 3 days G.C. survey crew 23 Prepare site - lay down 2 days Site grading contractor;G.C. labor crew[10%] 24 Site Grading and Utilities 35 days 25 Clear and grub site 3 days Site grading contractor 26 Stone site ac cess and 2 days Site grading contractor 27 Rough grade site (cut 1 wk Site grading contractor 28 Install storm drainage 2 wks Site grading contractor 29 Install exterior fire line 2 wks Plum bing contractor 30 Perform final site gradi 2 wks 31 Erect building batter b 1 wk 32 Foundations 39 days 33 Excavate foundations 2 wks 34 Excavate elevator pit 2 days 35 Form column piers and 4 days 36 Rough-in electric and p 4 days 37 Form elevator pit walls 4 days 38 Set reinforcing and anc 4 days 39 Pour column piers and 5 days 40 Pour concrete elevator 1 day 41 Cure elevator wall conc 7 days Planning and Managing Software Projects – Emanuele Della Valle
  • 53. Bar Charts Gantt Chart 53 Advantages • Easily understood • Easily created and maintained Largely used Disadvantages • It does not show uncertainty of a given activity (as does PERT) • It has difficulties to show complex relationships among tasks Planning and Managing Software Projects – Emanuele Della Valle
  • 54. Bar Charts Milestone Chart 54 Simple Gantt chart • Either showing just highest summary bars • Or milestones only Planning and Managing Software Projects – Emanuele Della Valle
  • 55. Today 55 Session 4 review Scheduling Fundamentals Scheduling Techniques • Network Diagrams • Bar Charts Schedule Optimization Techniques Mythical Man-Month Planning and Managing Software Projects – Emanuele Della Valle
  • 56. Schedule Optimization Techniques 56 How can you shorten the schedule? With one or more of the following approaches: • Reducing scope – Doing less • Reducing quality – Doing faster (or worse) – Pay attention that poorly tested software may cost more due to dependencies with other parts • Adding resources: – H i Having more persons working ki – See “Critical Man Months” section • Crashingg • Fast Tracking • … Planning and Managing Software Projects – Emanuele Della Valle
  • 57. Schedule Optimization Techniques Crashing and Fast Tracking 57 Crashing • Looks at cost and schedule tradeoffs – Gain greatest compression with least cost • Add resources to critical path tasks • Changing the sequence of tasks – Reducing slack times • Limit or reduce requirements (scope) Fast Tracking • Overlapping of phases, activities or tasks that would otherwise be sequential • Involves some risk • May cause rework Planning and Managing Software Projects – Emanuele Della Valle
  • 58. Today 58 Session 4 review Scheduling Fundamentals Scheduling Techniques • Network Diagrams • Bar Charts Schedule Optimization Techniques Mythical Man-Month Planning and Managing Software Projects – Emanuele Della Valle
  • 59. Mythical Man-Month 59 Book: “The Mythical Man-Month” • Author: Fred Brooks • http://www.amazon.com/exec/obidos/ASIN/020183595 9/qid%3D1022856693/sr%3D1- 1/ref%3Dsr%5F1%5F1/103 4280067 9687806 1/ref%3Dsr%5F1%5F1/103-4280067-9687806 • http://my.safaribooksonline.com/0201835959 “The classic book on the human elements of software The engineering” First two chapters are full of terrific insight ( p g (and quotes) Planning and Managing Software Projects – Emanuele Della Valle
  • 60. Mythical Man-Month 60 “Cost varies as product of men and months, progress does not.” “Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth” “Good cooking fakes time. If you are made to wait, it is to serve you better, and to please you - Menu of Restaurant Antoine, New Orleans -” Antoine ” Planning and Managing Software Projects – Emanuele Della Valle
  • 61. Mythical Man-Month 61 Why is software project disaster so common? 1. Estimation techniques are poor & assume things will go well ( ll (an ‘ ‘unvoiced’ assumption) d’ ) 2. Estimation techniques fallaciously confuse effort with progress, hiding the assumption that men and months are interchangeable 3. Because of estimation uncertainty, managers lack courteous stubbornness of Antoine's chef 4. Schedule progress is poorly monitored 5 5. When schedule slippage is recognized, the natural e sc edu e s ppage s ecog ed, e a u a response is to add manpower. Which, is like dousing a fire with gasoline Planning and Managing Software Projects – Emanuele Della Valle
  • 62. Mythical Man-Month 62 Optimism • “All programmers are optimists” • 1st false assumption: “all will go well” or “each task takes only as long as it ‘ought’ to take” • The Fix: Consider the larger probabilities Cost (overhead) of communication (and training) – Overhead: n(n-1)/2 n(n 1)/2 • How long does a 12 month project take? – 1 person: 12 month – 2 persons = 12/2 + 2(2-1)/2 = 6+1 = 7 - 2 man-month extra – 3 persons = 12/3 + 3(3-1)/2 = 4 + 3 = 7 p / ( )/ - 9 man-months extra – 4 persons = 12/4 + 4(4-1)/2 = 3 + 6 = 9 • The Fix: don’t assume adding people will solve the don t problem Planning and Managing Software Projects – Emanuele Della Valle
  • 63. Mythical Man-Month 63 Sequential nature of the process • “The bearing of a child takes nine months, no matter how many women are assigned” h d” What is the most mis-scheduled part of process? • Testing Why is this particularly bad? • Occurs late in process and without early-warning • Higher costs The Fix: Allocate more test time • Understand task dependencies, test and fix before use Planning and Managing Software Projects – Emanuele Della Valle
  • 64. Mythical Man-Month 64 Reliance on hunches and guesses • What is ‘gutless estimating’? – Urgency of Client causes Optimistic Estimates - E.g., omelet and chef analogy - http://my.safaribooksonline.com/0201835959/ch02lev1sec4 – Regardless of Urgency, tasks require the same amount of time The Th myth of additional manpower th f dditi l • Brooks Law • “Adding manpower to a late project makes it later” Adding later – http://en.wikipedia.org/wiki/Brooks%27s_law Planning and Managing Software Projects – Emanuele Della Valle
  • 65. Mythical Man-Month 65 Q: “How does a project get to be a year late”? • A: “One day at a time” Studies • Each task: twice as long as estimated • Only 50% of work week is real coding – The rest 50% is communication, negotiation, documentation, … The Fixes • Consider the 50% not-coding time not coding • Define clearly measurable milestones – No “fuzzy” milestones • Reduce the role of conflict among persons • Identify the “true status” of a task – It’s impressive how much effort is needed to move a 90% It s done task to a 100% done task Planning and Managing Software Projects – Emanuele Della Valle
  • 66. 66 Planning and Managing Software Projects – Emanuele Della Valle
  • 67. Questions? 67 Planning and Managing Software Projects – Emanuele Della Valle