Project Plan

Bread Crumbs: Home - Proj Plan

The project plan is a compendium of all of the project documents that are used to manage the resources of a software development project in order to achieve a successful outcome.

Once a project is approved, it is important to produce accurate estimates of the resources that a project will need in order to meet the product feature demands of the customer within the schedule constraints given by the customer. To produce high quality estimates, it helps to have longitudinal metrics taken from previous, completed projects. Consistently recording meaningful metrics across a variety of projects requires some structure. It will be important for software engineers to track their time using time logs as well as track defect information using defect logs. Such data tracking could be made more convenient by using automation such as a web interface-based, online form that commits data to a database server.

The following link provides a template that can be used to record project metrics in a consisten manner: Project Metrics Workbook

Link to the actual workbook follows: projectMetrics.xls

The activities of project planning and project management take place across the entire project and do not necessarily have an intrinsic order. Likewise, the project plan document will likely be regarded as a living document due to inevitable changes that must be accommodated such as requirements modifications, contract renegotiations, loss of personnel, etc. Therefore, instead of modeling project planning and project management, it seems better to model the project plan document as an entity with subcomponents as shown in the following class diagram.

Project Plan Class Diagram PNG
A project work must be broken down into discrete tasks that can then be estimated and allocated appropriate resources. Project tasks need to be identified and their scope of effort quantified. Project tasks must also be analyzed so that all task interdependencies can be identified. This activity results in a structure called the Work Breakdown Structure or WBS. Once a project has been discretized into distinct units of work or tasks, then team members must be assigned to the tasks in such a way that each task has the required number of person-hours allocated to the task in order to meet the schedule demands of the project. Activity network diagrams help project managers to identify dependencies and critical paths. Identifying critical paths is important in regards to allocating resources in an optimal fashion. Any schedule slip on the critical path directly translates to a project-wide schedule slip and should therefore be avoided. An activity bar chart is another way (in addition to the activity network diagram) of visually rendering the dependencies (or lack thereof) between the various project tasks. This type of chart is often referred to as a Gantt chart. It is important to balance the load among staff members. Team members will need to be able to take vacations, attend training, and perhaps lend support to other ongoing projects within the organization. A Staff Allocatoin Versus Time diagram is one way of displaying the workload for each staff member in the context of the project's schedule.

No part of this work should be produced or used without the permission of the authors: Michael Turner and Dr. Sharon A White.