Project Scheduling & Tracking – Basic Concepts
Project Scheduling helps to establish a roadmap for project managers together with estimation methods and risk analysis. Project scheduling and Tracking begins with the identification of process models, identification of software tasks and activities, estimation of effort and work and ends with creation of network of tasks and making sure it gets done on time. This network is adapted on encountering of changes and risks.
At the project level, the Project Manager does project tracking and scheduling based on information received from Software Engineers. At an individual level the Software Engineer does it. It is important, as in a complex system many tasks may occur in parallel and have interdependencies that are understandable only with a schedule. A detailed schedule is a useful tool to assess progress on a moderate or large project.
The basic steps followed are, once the tasks dictated by the software process model is refined based on the functionality of the system , effort and duration are allocated for each task and an activity network is created that allows the project to meets its deadlines. The work product of this activity is the project schedule and in order that it is accurate it is required to check all tasks are covered in the activity network, effort and timing are appropriately allocated, interdependencies are correctly indicated, resources are allocated tasks in a right manner and closely spaced milestones are defined to track the project easily.
One of the major challenges in software project management is the difficulty to adhere to schedules. The common reasons for a late delivery of software project are an unrealistic deadline, changing customer requirements, honest underestimate of effort or resources, overlooked risks, unforeseen technical difficulties or human difficulties, miscommunication and failure by project manager to recognize the delay early and take appropriate measures.
Software project scheduling is an activity that distributes estimated effort across the duration of project cycle by allocating effort to each specific task that is associated with all process. The basic principles that guides software project scheduling is compartmentalization of the project into a number of manageable tasks, correct allocation of time, correct effort validation ,defining responsibility for each task to a team member, defining outcomes or work product for each task and defining milestones for a task or group of tasks as appropriate.
A Task set is a collection of software tasks, milestones and deliveries that must be completed for the project to be successfully accomplished. Task sets are defined for being applicable to different type of project and degree of rigor. The types of projects commonly encountered are Concept Development projects, New applications, Development projects, Application enhancement projects, Application maintenance projects and Re-engineering projects. The degree of rigor with which the software process is applied may be casual, structured, strict or quick reaction (used for emergency situation).
For the project manager to develop a systematic approach for selecting degree of rigor for the type of project project adaptation criteria are defined and a task set selector value is computed based on the characteristics of the project.
Program evaluation and review technique (PERT) and critical path method (CPM) are two of the commonly used project scheduling methods. These techniques are driven by information such as estimates of effort, decomposition of the product function, the selection of process model, task set and decomposition of tasks. The interdependencies among tasks are defined using a task network.
A task network or activity network is a graphic representation of the task flows for a project. According to basic PERT, expected task duration is calculated as the weighted average of the most pessimistic, the most optimistic and most probable time estimates. The expected duration of any path on the network is found by summing the expected durations of tasks.
PERT gives appropriate results when there is a single dominant path in the network. The time needed to complete the project is defined by the longest path in the network which is called critical path. CPM allows software planner to determine the critical path and establish most likely time estimates.
While creating schedule a timeline chart also called as Gantt chart can be generated. This can be developed for entire project or separately for each function or individual.
The information necessary for generation of this is Work Breakdown Structure (WBS – Making a complex project manageable by breaking it into individual components in a hierarchical structure that defines independent tasks), effort, duration and start date and details of assignment of tasks to resources. Along with this most software project scheduling tools produce project tables which is a tabular listing o project tasks, their planned and actual start, end dates and other information. This with timeline chart is valuable to project managers to track the progress.
Tracking the project schedule can be done by conducting periodic project status meeting, evaluating result of reviews conducted at all stages of development life cycle, determining the completion of defined project milestones, comparison of actual and planned dates, using earned value analysis technique for performing quantitative analysis of program.
Error tracking methods can also be used for assessing the status of current project. This is done by collecting error related measures and metrics from past project and using this as baseline for comparison against real time data.
To summarize, in software
projects it is crucial to control the actual project schedule against
the project plan by keeping in mind the outlined techniques and steps
so that variations may not have a significant impact on the project delivery.
| Useful Cost and Effort Estimation Tips and Techniques for Software Projects | Overview on the Responsibility Assignment Matrix (RACI) | Overview on Virtual Project Management | Popular Project Managing Artifacts and The Tools used in Project Management | Project Risk Management – Identifying Risks and Assessment Process | Project Scheduling and Tracking – Basic Concepts | Quality Concepts – Overview on Quality Control Assurance and Cost in Project Management | Requirement Analysis - Concepts and Principles in Project Management |