Monday, May 31, 2010

Project Schedule

A project schedule is a useful planning and communication tool for monitoring and reporting the progress of a project. During a project's life, different schedules may be needed for different purposes and stakeholders.

imageA project schedule consists of a list of a project's terminal elements with intended start and finish dates. Terminal elements are the lowest element in a schedule, which is not further subdivided. Those items are often estimated in terms of resource requirements, budget and duration, linked by dependencies and scheduled.

Before a project schedule can be created, a project manager should typically have a work breakdown structure (WBS), an effort estimate for each task, and a resource list with availability for each resource. If these are not yet available, it may be possible to create something that looks like a schedule, but it will essentially be a work of fiction. The reason for this is that a schedule itself is an estimate: each date in the schedule is estimated, and if those dates do not have the buy-in of the people who are going to do the work, the schedule will be inaccurate.

Many project scheduling software products exist which can do much of the tedious work of calculating the schedule automatically, and plenty of books and tutorials dedicated to teaching people how to use them. However, before a project manager can use these tools, he or she should understand the concepts behind the WBS, dependencies, resource allocation, critical paths, Gantt charts and earned value. These are the real keys to planning a successful project.

In order for a project schedule to be healthy, the following criteria must be met:

  • The schedule must be constantly (weekly works best) updated
  • The EAC (Estimate At Completion) value must be equal to the baseline value
  • The remaining effort must be appropriately distributed among team members, taking into consideration vacations

Because of the uncertainty involved, the schedule is reviewed regularly, and it is often revised while the project is in progress. It continues to develop as the project moves forward, changes arise, risks come and go, and new risks are identified. The schedule essentially transforms the project from a vision to a time-based plan.

Schedules help you do the following:

  • They provide a basis for you to monitor and control project activities
  • They help you determine how best to allocate resources so you can achieve the project goal.
  • They help you assess how time delays will impact the project
  • You can figure out where excess resources are available to allocate to other projects
  • They provide a basis to help you track project progress

With that in mind, what's the best way of building an accurate and effective schedule for your next project?

Project managers have a variety of tools to develop a project schedule - from the relatively simple process of action planning for small projects, to use of Gantt Charts and Network Analysis for large projects. Following is an outline for the key tools you will need for schedule development.

image

Scheduling Tools

Here are some tools and techniques for combining these inputs to develop the schedule:

  • Schedule Network Analysis - This is a graphic representation of the project's activities, the time it takes to complete them, and the sequence in which they must be done. Project management software is typically used to create these analyses - Gantt charts and PERT Charts are common formats.image
  • Critical Path Analysis - This is the process of looking at all of the activities that must be completed, and calculating the 'best line' - or critical path - to take so that you'll complete the project in the minimum amount of time. The method calculates the earliest and latest possible start and finish times for project activities, and it estimates the dependencies among them to create a schedule of critical activities and dates.
  • Schedule Compression - This tool helps shorten the total duration of a project by decreasing the time allotted for certain activities. It's done so that you can meet time constraints, and still keep the original scope of the project. You can use two methods here:
    • Crashing - This is where you assign more resources to an activity, thus decreasing the time it takes to complete it. This is based on the assumption that the time you save will offset the added resource costs.
    • Fast-Tracking - This involves rearranging activities to allow more parallel work. This means that things you would normally do one after another are now done at the same time. However, do bear in mind that this approach increases the risk that you'll miss things, or fail to address changes.

Tip: Use of Project Stages:

One of the biggest reasons that projects over-run is that the 'final' polishing and error-correction takes very much longer than anticipated. In this way, projects can seem to be '80% complete' for 80% of the time! What's worse, these projects can seem to be on schedule until, all of a sudden, they over-run radically.

- A good way of avoiding this is to schedule projects in distinct stages, where final quality, finished components are delivered at the end of each stage. This way, quality problems can be identified early on, and rectified before they seriously threaten the project schedule.

Sunday, May 30, 2010

Dependencies

In most cases, the tasks in a project are related to each other, and the relationships between them drive the schedule for the project. The relationships between the tasks are called "dependencies."

There are four kinds of task dependencies:

Dependency Meaning Figure Example
Finish-to-Start [FS] (Task A) FS (Task B) –> (Task B) doesn't start before (Task A) is finished Dep-FS (Foundations dug) FS (Concrete poured)
Finish-to-Finish [FF] (Task A) FF (Task B) –> (Task B) doesn't finish before (Task A) is finished Dep-FF (Last chapter written) FF (Entire book written)
Start-to-Start [SS] (Task A) SS (Task B) –> (Task B) doesn't start before (Task A) starts Dep-SS (Project work started) SS (Project management activities started)
Start-to-Finish [SF] (Task A) SF (Task B) –>  (Task B) doesn't finish before (Task A) starts Dep-SF (New shift started) SF (Previous shift finished)

There are three kinds of dependencies with respect to the reason for the existence of dependency:

1. Causal (logical)

  • It is impossible to edit a text before it is written
  • It is illogical to pour concrete before you dig the foundations

2. Resource constraints

  • It is logically possible to paint four walls in a room simultaneously but there is only one painter

3. Discretionary (preferential)

  • I want to paint the living room before painting the dining room, although I could do it the other way round, too

Traditional critical path-derived schedules are based only on causal (logical) dependencies. The critical chain method necessitates taking into account resource constraint-derived dependencies as well.

Time related information can be used in conjunction with any of the relationships for any of the reasons outlined above. This is called "float". There are two types of float: leads, and lags. For example: When building two walls from a novel material, one might start the second wall 2 days after the first so that the second team can learn from the first. This is an example of a lag in a Start-Start relationship.

It is also useful to specify float time when tasks are performed in parallel in a Finish-Finish relationship. For example: The document for 'Activity A' should finish 5 days before the document for 'Activity B' so that the reviewers have time to read each individually. Although Document A and Document B may take different times to write, they will be planned to finish 5 days apart.

Milestones

A milestone is a significant/key event in the project usually marked by the completion of a major deliverable. It is a flag in the work plan to signify some other work has completed. image

A milestone has duration of zero and no effort. Milestones are essential to manage and control a project, but there is no task associated with it (although preparing a milestone can involve significant work).

Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. Milestones are also used as high-level snapshots for management to validate the progress of the project. In many cases there is a decision to be made at a milestone.

Project Review

imageOnce you have outlined the basic schedule, you need to review it to make sure that the timing for each activity is aligned with the necessary resources. Here are tools commonly used to do this:

  • 'What If' Scenario Analysis: This method compares and measures the effects of different scenarios on a project. You use simulations to determine the effects of various adverse, or harmful, assumptions - such as resources not being available on time, or delays in other areas of the project. You can then measure and plan for the risks posed in these scenarios.
  • Resource Leveling: Here, you rearrange the sequence of activities to address the possibility of unavailable resources, and to make sure that excessive demand is not put on resources at any point in time. If resources are available only in limited quantities, then you change the timing of activities so that the most critical activities have enough resources.
  • Critical Chain Method: This also addresses resource availability. You plan activities using their latest possible start and finish dates. This adds extra time between activities, which you can then use to manage work disruptions.
  • Risk Multipliers: Risk is inevitable, so you need to prepare for its impact. Adding extra time to high-risk activities is one strategy. Another is to add a time multiplier to certain tasks or certain resources to offset overly optimistic time estimation.

After the initial schedule has been reviewed, and adjustments made, it's a good idea to have other members of the team review it as well. Include people who will be doing the work - their insights and assumptions are likely to be particularly accurate and relevant.

Project Schedules Examples

  • Master Project Schedule: imageDeveloped in the initial phase of project planning, the master project schedule is a summary level schedule which highlights the principal activities and tasks and their estimated duration. This schedule's strength lies in its ability to aggregate individual activity schedules and display them in one convenient document. The schedule can serve as an early communication tool for building buy-in for the project with upper level management and external stakeholders. The schedule is also useful for facilitating team brainstorming during the initial phrases of the project to work out logistics.
  • Milestone Schedule: As an advanced schedule, a milestone schedule is often referred to throughout the project’s lifecycle. The milestone schedule is a summary level schedule that allows the project team leader to review and identify all of the significant and major project related milestones that may surface during the course of a project. Because of its visually-pleasing format, the milestone schedule is recommended for reporting status reports to top level management and external stakeholders. The milestone schedule is also useful during team assessments, particularly for newly-formed teams to give them an opportunity to take pride in their accomplishments, reflect upon their setbacks, and most importantly bond as a team.
  • Detailed Project Schedule: Detailed schedules are operational schedules intended to help front line managers in directing hourly, daily, or weekly project work. The detailed schedule is considered the execution playbook for the project. Analogous to a football playbook that can be broken down into activities (passes and runs) or the two sides of the game (offense and defense), the detailed project schedule playbook can be broken down into chapters to show the detailed schedule for each activity or each phase of the project as it unfolds.

Project Schedule Key Points

Scheduling aims to predict the future, and it has to consider many uncertainties and assumptions. As a result, many people believe it's more of an art than a science.image

But whether you're planning a team retreat, or leading a multimillion-dollar IT project, the schedule is a critical part of your efforts. It identifies and organizes project tasks into a sequence of events that create the project management plan.

A variety of inputs and tools are used in the scheduling process, all of which are designed to help you understand your resources, your constraints, and your risks. The end result is a plan that links events in the best way to complete the project efficiently.

“It takes one woman nine months to have a baby. It cannot be done in one month by impregnating nine women.”

- Unknown author