· Software project scheduling is an action that distributes estimated effort across the planned project duration by allocating the effort to specific software engineering tasks.
· 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: 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 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
Gantt chart
· A Gantt chart, commonly used in project management, is one of the most popular and useful ways of showing activities (tasks or events) displayed against time.
· On the left of the chart is a list of the activities and along the top is a suitable time scale.
· Each activity is represented by a bar; the position and length of the bar reflects the start date, duration and end date of the activity. This allows you to see at a glance:
o What the various activities are
o When each activity begins and ends
o How long each activity is scheduled to last
o Where activities overlap with other activities, and by how much
o The start and end date of the whole project