Software project scheduling
- Software project scheduling is an action that distributes estimated effort across the planned project duration by allocating the effort to specific software engineering tasks
- Project-task scheduling is an important project planning activity. It involves deciding which tasks would be taken up when.
- It is important to note, however, that the schedule evolves over time
- During early stages of project planning, a macroscopic schedule is developed
- This type of schedule identifies all major process framework activities and the product functions to which they are applied
Scheduling Principles
- Compartmentalization
- Interdependency Tasks that can be completed in parallel must be separated from those that must 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 completed the tasks within the time estimated in the project plan
- Defined Responsibilities
Every scheduled task needs to be assigned to a specific team member
- Defined 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 engineering task have passed quality review
Scheduling
- Scheduling of a software project does not differ greatly from scheduling of any multitask engineering effort
- Therefore, generalized project scheduling tools and techniques can be applied with little modification for software projects
- Program evaluation and review technique (PERT) and the critical path method (CPM) are two project scheduling methods that can be applied to software development
- 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, and 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