Scheduling and Tracking
Software project scheduling is an activity that distributes estimated effort across the planed project duration by allocating the effort to specific software engineering tasks.
First, a macroscopic schedule is developed.
---> a detailed schedule is redefined for each entry in the macroscopic schedule.
A schedule evolves over time.
Basic principles guide software project scheduling:
- Time allocation
- Effort allocation
- Effort validation
- Defined responsibilities
- Defined outcomes
- Defined milestones
There is no single set of tasks that is appropriate for all projects.
An effective software process should define a collection of task sets, each
designed to meet the needs of different types of projects.
A task set is a collection of software engineering work
-> tasks, milestones, and deliverables.
Tasks sets are designed to accommodate different types of projects and different degrees of rigor.
Typical project types:
- Concept Development Projects
- New Application Development Projects
- Application Enhancement Projects
- Application Maintenance Projects
- Reengineering Projects
Degree of Rigor:
- Quick Reaction
Defining Adaptation Criteria:
-- This is used to determine the recommended degree of rigor.
Eleven criteria are defined for software projects:
- Size of the project
- Number of potential users
- Mission criticality
- Application longevity
- Ease of customer/developer communication
- Maturity of applicable technology
- Performance constraints
- Embedded/non-embedded characteristics
- Project staffing
- Reengineering factors
Individual tasks and subtasks have interdependencies based on their sequence.
A task network is a graphic representation of the task flow for a project.
Figure 7.3 shows a schematic network for a concept development project.
-- the tasks on a critical path must be completed on schedule to make the whole
project on schedule.
Scheduling of a software project does not differ greatly from scheduling of any multitask
Two project scheduling methods:
- Program Evaluation and Review Technique (PERT)
- Critical Path Method (CPM)
Both methods are driven by information developed in earlier project planning activities:
- Estimates of effort
- A decomposition of product function
- The selection of the appropriate process model
- The selection of project type and task set Both methods allow a planer to do:
- determine the critical path
- time estimation
- calculate boundary times for each task Boundary times:
- the earliest time and latest time to begin a task
- the earliest time and latest time to complete a task
- the total float.