The Project Schedule Part 6: The Critical Path

Planning

With tasks, resource assignments, durations/effort and dependencies defined, your project scheduling software will create a schedule. The path of dependent tasks that in aggregate take the longest amount of time is called “The Critical Path”. This is because if any one of these tasks is completed later than originally scheduled, your project end date will move.

When you are in the “Execution and Monitoring” Phase of your project, regular examination of the state of your critical path tasks is a top priority. It is important to routinely check in with the assigned resources to determine if the “days to completion” is still valid. If you wait until the task is late, it will be too late to do anything about it. Your only choice would be to examine the other tasks on the critical path to see if any task times can be reigned in to make up for the lost time. We will examine techniques you can use for this in the next post.

A technique you can use to make your critical path less volatile is to estimate your individual tasks more aggressively and aggregate the extra time you would have assigned to individual tasks into one “critical path buffer”. If critical path tasks come in early, you can add the time saved to the buffer. If critical path tasks come in late, you subtract time from the buffer. Using this technique, your schedule will not move with any one late task and it will encourage team members to work faster and ignore distractions. Also, the health of the buffer would be the key metric instead of the health of each individual task.

You can measure the health of the critical path buffer with two metrics:

  1. % or original buffer remaining
  2. Divide the “% of elapsed project time” into “% of buffer used”. If this is a number less than one you are tracking well. If it is greater than one it is an early warning sign to take action

For example: Your project has used 30% of it’s original buffer but you are only 10 weeks into a 50 week project (only 20% of the project schedule has elapsed), You divide 30%/20% and this equals 1.5 (greater than one) meaning you need to take remedial action.

If your project only used 15% of your original buffer, 15%/20% = 0.75, which is less than one indicating a healthy schedule.

When using this technique, it is very important to regularly update the “days to complete” for each critical path task so you can have confidence in the status of your buffer.

Whatever technique you use, constant monitoring of the health of the critical path is one of the most important tasks for the Project Manager.

Advertisement

The Project Schedule Part 5: Dependencies

Planning

Now that you have your lowest level scheduled tasks defined and have assigned resources, it is time to define the dependencies between tasks. This is where MS Project really comes in handy as it will create the schedule for you based on task dependencies and resource availability.

There are four types of dependencies:

  • Finish to Start – This is the most common and the default in MS Project. The predecessor must finish before the successor can start. For example, “Applying Primer” must finish before “Painting” can start.
  • Start to Start – Predecessor must start before the successor can start. For example “Mortgage Application” must start before “Credit Check”.
  • Finish to Finish – Predecessor must finish before the successor can finish. This can be true of tasks that run in parallel but both are needed for the subsequent task.
  • Start to Finish – Predecessor must start before the Successor can finish. This one is rarely used and frankly should be avoided.

When you initially define the dependencies, take care to only define “true” dependencies. If you have one person assigned to all the tasks you may be tempted to make all of the tasks dependent since the resource must complete one before starting another. Don’t do this. Let MS Project do this via resource leveling. The reason for not doing this is you may get additional resources later so some tasks can run in parallel. If you made them all dependent, the schedule will not show this possibility.

MS Project can now take your tasks, resource assignments, estimates and dependencies and create an initial schedule. I say initial because you often will find with your first cut that the finish date does not occur within the Sponsor’s expected time frame. In the next topic I will discuss the concept of the “Critical Path” and what the Project Manager can do to rein in the target date.

The Project Schedule Part 4: Resource Assignments and Estimates

Planning

Once you have defined your Work Breakdown Structure (WBS) the next step in creating a schedule is to assign resources and estimates to each task (the lowest level items in your WBS). A starting point in assigning resources is to consult the “Roles & Responsibilities” matrix you created as part of the Project Charter. You are looking for the stakeholders that are in the category of “helping you execute your project”.

You may find that some WBS tasks need resources that have not yet been specifically identified as assigned to the project. In this case you will meet with the managers of the areas that have the resource expertise and agree on the assignment. In other cases you may need to contract for professional services. This should have been included in your Project Budget and the Procurement Plan. If not, you will have to use the formal Project Change Management process to alter the budget to include these services.

Microsoft Project allows you to assign resources to a task. You can also assign the percentage of the resource’s time that will be dedicated to the task. In addition, you can assign more than one resource to a given task.

Once you have resources assigned to a task you can attach estimates. You can estimate using “Duration” (the length of time the task will take independent of the resources assigned) or “Effort” (the amount of hours or days a task will take given undivided attention of the resources). Which one you use will depend on the type of project, type of task and organization culture. As a general rule I like to use “Effort” and let MS Project calculate the duration given the resource percent allocation and other tasks assigned to that resource.

When defining estimates, take into account the expertise of the resource(s) assigned to that task. An expert resource may complete a task much faster than a novice. Sometimes estimates are placed on a task prior to the resource assignment to get an idea of how the schedule will look. If you do this, remember to re-estimate once the specific resource is assigned.

There are many techniques to creating estimates. I will not address them all here. The most common are:

  • We’ve done this task before so we know how long it takes
  • The assigned resource supplies the estimate. Be careful with this one. People tend to be overly optimistic on how much time a task will take.
  • A small group of people with expertise in that task are asked to independently estimate the task, then the group discusses the discrepancies and comes to a consensus
  • Management may dictate the duration of the task in which case the PM may have to assign resources with more expertise or add resources (if feasible) to meet the deadline.

You can also use a 3-point estimate (optimistic, pessimistic and most likely) and calculate your estimate using PERT (I recommend you Google this term for the details). For a more advanced scheduling technique, you can investigate “Critical Chain and Buffer Management”. This is an advanced technique that will need organizational buy-in from the top down.

The Project Schedule Part 3: Work Breakdown Structure (WBS)

Planning

A Work Breakdown Structure (aka WBS) takes high level deliverables and breaks them down into lower-level activities suitable for assigning, managing and scheduling work. Creating a WBS is the first step in creating a schedule.

To build a project schedule, you must first define all of the activities that are part of the schedule. If you have created a Project Charter and a Project Plan, you have rich sources of information with which to define the deliverables and the activities needed to produce them.

The Project Charter contains the Project Objectives, which are products, services or results that the project will produce and will survive after the project is over. These are the ultimate deliverables of the project. The Business Objectives contain “Measures of Success” which may require the project to build measurement tools and processes. The Scope section contains high-level activities which can be broken down to smaller pieces for scheduling.

The Project Plan contains the “hows” of the project and most or all of the key project activities were defined there. As the Project Manager, you will need to decide at what level you will define the activities for scheduling purposes. As I mentioned in an earlier post, I am not a fan of Project Schedule’s that contain a large amount of activities as you will wind up putting more effort into schedule maintenance than the benefits you derive.

One common way to define the activities (create a WBS) is to start with the project deliverables and work backwards from there, asking the questions “What inputs are needed for this activity?” and “What activity creates each input?”. For example, for the Requirements Document deliverable, you need final approval. To get final approval, you need to conduct a review meeting. To conduct a review meeting, you need to schedule it. To schedule it, you need a draft document. To get a draft document, you need to write it. To write it, you need to schedule and conduct requirements gathering meetings. And so on until you reach the very first activity which either needs no inputs or the inputs have already been created.

If the deliverable is simple enough you can start from first activity and drill forward. Either method should work. For activities that are not yet well understood or defined, you can define high-level placeholders in the schedule and add the activities needed to obtain the understanding.

Once you have all of the activities, you will work on assigning the resources to the activities and defining the dependencies between activities. I will cover these topics in the upcoming posts.

The Project Schedule Part 2: Schedule Tools

Planning

For anything but very small projects, you will need a tool to record and track your schedule. The most common tools used for this are Microsoft Project and Excel. They are not the only ones available but they are the ones I will discuss here.

Microsoft Project is a very robust scheduling tool with many features. You enter tasks and sub-tasks, assign resources (you can do this with varying percentages of availability), identify the effort needed for this task (in days or hours), and link the task to dependent tasks. The software automatically creates a schedule from this information.

Often on the first cut at creating a schedule, the project end date is beyond the desired target date. The sequence of tasks that directly connects to this end date is called the “Critical Path”. It is the longest path of dependent tasks in the project. This path of tasks are your top priority to monitor because slippage in any one of these tasks will increase the length of your project.

You must look for opportunities to bring the target date in line with expectations. You can do things like add more resources, bring in more skilled resources, look for opportunities to do tasks in parallel, and/or start some tasks earlier. Be mindful of budget, risk ad quality implications when you use these techniques.

Excel can be used for small and some medium sized projects where you just need a list of key activities and the start and end dates. Unlike MS Project, Excel cannot create the schedule for you. It is used strictly for tracking and communication. It is much more convenient than Project when you don’t need all of the scheduling features.

I advise you not to create a schedule with so many tasks that it eats up your valuable project management time just maintaining the schedule. Create the schedule at a level sufficient enough to track the Critical Path and communicate status to key stakeholders. Keep in mind your Project Plan has all the activity details so there is no need to duplicate all of that information in the schedule.

The Project Schedule Part 1: Overview

Planning

Now that you have a Project Charter, a Project Management Plan and a Project Plan, you can construct a detailed schedule. As mentioned in an earlier post, many refer to the Project Schedule as “The Project Plan”. Since the schedule does not detail how and where tasks are going to be accomplished, it is not “the plan” but is a component of the complete plan. That is why we have a separate document for the Project Plan.

In the upcoming posts I will present the following topics related to constructing a Project Schedule:

  • Part 2: Schedule Tools
  • Part 3: Work Breakdown Structure
  • Part 4: Resource Assignments and Estimates
  • Part 5: Dependencies
  • Part 6: The Critical Path
  • Part 7: Schedule Adjustments (Crashing and Fast-Tracking)

The Project Plan Part 9: The In-Project Support Plan

Planning

The In-project Support Plan is needed if all or part of the solution is to be supported by a vendor or 3rd party. It addresses support needed during the project which includes the post-implementation stabilization period.

Here is a list of some things to consider (this is not necessarily the complete list of considerations; your project may have more):

  • Scope – describe the conditions in which this support is triggered.
  • Contact information – phone #’s, email, website, customer access id
  • Service Level Agreements (listed in order of severity, commits to how fast you can expect a response to a reported issue)
  • Problem and Status Reporting – what tools will be used, roles, responsibilities
  • Escalation Procedure if issues are not addressed in a timely or effective manner
  • Change Requests – for changes that are not bugs, define the request procedure & labor rate

This topic concludes the series on “The Project Plan”. In the next series of blog posts, I will address development of the Project Schedule.

The Project Plan Part 8: The Post-Live Support Plan

Planning

The Support Plan describes how the solution will be supported once operational. This includes a description of the support personnel and their roles as well as the processes to resolve problems arising within the solution boundaries.

Implementing a Support Plan is an important piece of Project close-out. The operational Stakeholders must be self-sufficient once the solution is live and no longer dependent on the Project Manager. Lack of a Support Plan is the primary cause of Project Managers being attached to projects for a long period of time after go-live.

Here is a list of some things to consider when building your Support Plan (this is not necessarily the complete list of considerations; your project may have more):

  • Support Resources, Roles, Responsibilities
  • Support model – define who will function as level 1, 2 & 3 support, how they will be contacted, and their staffing needs
  • Service Level Agreements (e.g. system availability, up-time, response time, etc)
  • Help Desk support
  • Vendor Support (support that will be purchased from the vendor) including naming the Stakeholders that will be the vendor support point of contact
  • Specialists (describe circumstances in which in-depth knowledge of the solution requires engaging specialists)
  • Product Updates – Who is responsible? Software vendors typically release updates multiple times a year. How often do we plan to apply them? Who will monitor changes in platform support?
  • Include both one-time and ongoing costs for the items listed above

The Project Plan Part 7: The Deployment Plan

Planning

The Deployment Plan describes the factors necessary for a smooth deployment and transition to ongoing operations. It encompasses the processes of preparing, installing, training, stabilizing, and transferring the solution to operations. For some projects, deployment can be very complex. For these types of projects it pays to start deployment planning as early as possible to manage the risk of delays due to deployment difficulties.

Here is a list of some things to consider for your deployment plan (this is not necessarily the complete list of considerations; your project may have more):

  • Scope
    • Stakeholders (those affected by the solution)
    • New and changed Business Processes
    • Licensing considerations
    • Approx. # components per platform
  • Deployment strategy & schedule (e.g. phased, site-by-site, push vs. pull, dept. by dept, etc)
  • Organizational Change Management
  • Implications of new and old system and processes in production at the same time
  • Deployment Resources
  • Help Desk Preparation
  • Desktops/Servers Affected
  • End User Training (High level business process and detail usage)
  • Installation Process
  • Installation Validation
  • Support during Stabilization
  • Hand-off to Support and Operations
  • Activation of Monitoring (for computer systems and business processes)

The Project Plan Part 6: The Pilot Plan

Planning

Some organizations define a solution “pilot” as a “limited deployment” for the purpose of managing risk. That can be covered in a Risk Management Plan in lieu of a Pilot Plan. The definition we will use in this post is to use a Pilot to gather information about the solution that can only be discovered by “going live”. The intent of the Pilot is to obtain the information and then pull the solution out of the live environment for additional work.

The Pilot Plan describes what aspect of the solution will be delivered as a pilot and provides the details necessary to conduct the pilot successfully. This includes details on how to evaluate the pilot, the results of which will facilitate a decision whether or not to move the solution to production. Projects often create one or more “pilot” solutions for the purpose of proving the feasibility of solution approaches, experimenting with different solutions, and obtaining user feedback and acceptance on proposed solutions. Pilot solutions usually implement only those subsets or segments of requirements or functional specifications necessary to validate a solution.

The Pilot Plan provides the means to validate business requirements and technical specifications prior to deploying the solution into production. Planning the details of the pilot ensures that the participating project teams identify their roles and responsibilities and resource requirements specific to pilot development, testing, and deployment activities.

A pilot can provide key information on development processes, end-user validation, and production environment usage. It also provides feedback to stakeholders regarding the success of the solution once it is formally released.

Here is a list of some things to consider documenting as part of the Pilot Plan (this is not necessarily the complete list of considerations; your project may have more):

  • Overview – Scope (what part of the solution will be demonstrated as part of the pilot, and the target user profile used to select which users will participate)
  • Success Criteria and Metrics – The success criteria may fall into the following categories:
    • System performance
    • Operations cost
    • Stability –down time
    • User performance
    • User satisfaction
    • Business goals
  • User Preparation and training
  • Marketing Plan – how users will become aware of the pilot and the value to them
  • Conditions for adding additional users
  • Rollback – conditions for rolling back the pilot to pre-deployment state
  • Pilot Evaluation – describes how the pilot results will be evaluated