Project Scheduling & Tracking
It is an action that distributes estimated effort across the planned project duration, by
                    allocating the effort to specific software engineering tasks
Scheduling Principles
Compartmentalization     Interdependency               Time Allocation          Define Responsibilities
Define Outcomes          Define Milestones             Effort Validation
                                          Unit 3 – Managing Software Projects                     1
Scheduling Principles
 Compartmentalization
     The product and process must be decomposed into a manageable number of activities and tasks
 Interdependency
     Tasks that can be completed in parallel must be separated from those that must be completed serially
 Time Allocation
     Every task has start and completion dates that take the task interdependencies into account
 Effort Validation
     Project manager must ensure that on any given day there are enough staff members assigned to complete
      the tasks within the time estimated in the project plan
 Define Responsibilities
     Every scheduled task needs to be assigned to a specific team member
 Define Outcomes
     Every task in the schedule needs to have a defined outcome (usually a work product or deliverable)
 Defined Milestones
     A milestone is accomplished when one or more work products from an engg task have passed quality review
                                             Unit 3 – Managing Software Projects                           2
Effort Distribution
 General guideline: 40-20-40 rule
    40% or more of all effort allocated to analysis and design tasks
    20% of effort allocated to programming
    40% of effort allocated to testing
 Characteristics of each project dictate the distribution of effort
 Although most software organizations encounter the following projects types:
    Concept Development
       ▪ initiated to explore new business concept or new application of technology
    New Application Development
       ▪ new product requested by customer
    Application Enhancement
       ▪ major modifications to function, performance or interfaces (observable to user)
    Application Maintenance
       ▪ correcting, adapting or extending existing software (not immediately obvious to user).
    Reengineering
       ▪ rebuilding all (or part) of an existing (legacy) system
                                                      Unit 3 – Managing Software Projects         3
Scheduling methods
 Two project scheduling methods that can be applied to software development.
    Program Evaluation and Review Technique (PERT)
    Critical Path Method (CPM)
 Both techniques are driven by information already developed in earlier project planning
  activities:
      estimates of effort
      a decomposition of the product function
      the selection of the appropriate process model and task set
      decomposition of the tasks that are selected
 Both PERT and CPM provide quantitative tools that allow you to:
    Determine the critical path—the chain of tasks that determines the duration of the project
    Establish “most likely” time estimates for individual tasks by applying statistical models
    Calculate “boundary times” that define a “time window” for a particular task
                                                Unit 3 – Managing Software Projects               4
Project Schedule Tracking                                                            Gantt chart
 The project schedule provides a road map for a                                     A Gantt chart, commonly used in project
  software project manager.                                                          management, is one of the most popular
 It defines the tasks and milestones.                                                 and useful ways of showing activities
                                                                                     (tasks or events) displayed against time.
 Several ways to track a project schedule:
    Conducting periodic project status meeting                                      On the left of the chart is a list of the
    Evaluating the review results in the software process                           activities and along the top is a suitable
    Determine if formal project milestones have been                                time scale.
     accomplished
    Compare actual start date to planned start date for each task
                                                                                     Each activity is represented by a bar;
    Informal meeting with practitioners
                                                                                     the position and length of the bar
    Using earned value analysis to assess progress
                                                                                     reflects the start date, duration and end
     quantitatively
                                                                                     date of the activity. This allows you to
 Project manager takes the control of the schedule in                               see briefly:
  the aspects of
    Project Staffing, Project Problems, Project Resources,
     Reviews, Project Budget
                                               Unit 3 – Managing Software Projects                                     5
Gantt chart Cont.
What      the    various
activities are
When each activity
begins and ends
How long each activity
is scheduled to last
Where          activities
overlap with other
activities, and by how
much
The start and end date
of the whole project
                            Unit 3 – Managing Software Projects   6
CPM (Critical Path Method)
Key Points
•   What tasks must be carried out.
•   Where parallel activity can be performed.
•   The shortest time in which you can complete a project.
•   Resources needed to execute a project.
•   The sequence of activities, scheduling and timings involved.
•   Task priorities.
•   The most efficient way of shortening time on urgent projects.
                                          Unit 3 – Managing Software Projects   7
CPM (Critical Path Method)
• The critical path is the sequence of activities with the longest duration.
• A delay in any of these activities will result in a delay for the whole project.
                                            Unit 3 – Managing Software Projects      8
CPM (Critical Path Method)
• Float is the amount of time an activity can slip before it causes your project to be delayed.
   Float is sometimes referred to as slack.
• Each of the activities on critical path has a float of
  zero.
• If any of those activities slips, the project will be
  delayed.
• Then take the next longest path. Subtract its duration
  from the duration of the critical path. That's the float
  for each of the activities on that path.
• Continue doing the same for each subsequent longest
  path until each activities float has been determined.
• If an activity is on two paths, it's float will be based on
  the longer path that it belongs to.
                                            Unit 3 – Managing Software Projects             9
CPM (Critical Path Method) - Example
Possible paths
Start → A → C → F → Finish: 13
Start → B → D → E → Finish : 09
Start → A → D → E → Finish : 08
Start → B → F → Finish : 09
                                                                        Critical Path
                                  Unit 3 – Managing Software Projects                   10
CPM (Critical Path Method) - Example
                                                                          Slack = 0
                    Slack = 0                 Slack = 0
                    EST = 0                                               EST = 7
                                              EST = 2
                    EFT = 2                                               EFT = 13
                                              EFT = 7
                     LF = 2                    LF = 7                     LF = 13
                     LS = 0                    LS = 2                     LS = 7
                        Slack = 4                      Slack = 4                Slack = 4
                        EST = 0                         EST = 3                 EST = 7
                        EFT = 3                         EFT = 7                 EFT = 9
                                                                                  11
                         LF = 7                         LF = 11                  LF = 13
                         LS = 4                          LS = 7                  LS = 11
                                    Unit 3 – Managing Software Projects                     11