<< Up | < Previous Page | Next Page >

How to Plan a Project

Whether you use the program evaluation and review technique, or the critical path method to assess and plan projects, @task has the tools to let you plan, schedule, and execute projects in a way that is easy to implement.

Though many organizations implement different methods to plan their projects, many of them share several of the same steps to plan a project effectively. The following list outlines some of the processes that are common among project planning philosophies:

Project Origins

In the initial phases of a project, you have identified an opportunity, but have not yet determined whether you should do the project. It may not be cost effective, or you may not have the resources. In this stage of planning, you can create a project in @task without writing any tasks in it and set the status to planning. Then you can determine whether you want to undertake the project.

SeeCreating a Project

Using @task to Set Project Dates and Perform Preliminary Planning

When you plan a project, one of the first things that you need to determine is when you need to do it. Is there a set deadline when the project must be finished, or should you set a start point and work out from there?

@task gives you options to plan a project either way. You can schedule a project from a start date, or you can schedule it from the completion date. You can set this attribute when you initially create the project, and you can change it at any time by editing your project.

One other consideration is your work schedule. What holidays are coming up? Who will be taking vacations? What hours of the day will your team or teams work? No matter how you need to schedule your project, @task provides you with the tools you need to implement any scheduling requirements. In @task, you can create multiple project schedules. You can apply a default schedule to the project and additional schedules to different teams or individuals.

Another aspect of your project that you should decide right from the start is what changes and statistics you need to track for your audit trail. Is there a regulation that mandates that you keep a record of events and processes? If so, what are you required to track? @task lets you record edits, scope changes, status changes, and actions so that you can comply with the regulations specific to your industry.

As you initially proceed through your planning process, you should open @task and create a project. You should set the schedule mode, the project status, the default schedule, and select the recorded changes for your audit trail.

SeeCreating a Project

SeeEditing a Project

SeeCreate Schedule Templates

SeeSetting Up Audit Trails

Establishing a Project Scope

Another integral aspect of project planning is determining exactly what major objectives you need to accomplish to complete the project. Which of these are mandatory? Which are optional? Do you have sufficient time to put in all of the options or is there only sufficient time to do the core objectives?

As you look at this, you may consider using milestones or parent tasks in @task. You can use milestones to organize your objectives if the individual tasks in one objective have dependencies on individual tasks in other objectives. If tasks in the objective have dependencies only to other tasks within the same objective, then you can organize the objectives as parent tasks.

For example, assume that your project is building an apartment building, and one of your objectives is the plumbing and another is laying the foundation. One of your plumbing tasks is to hook up to the main city water line and this must be done prior to laying the foundation. However most of your other plumbing tasks can't be done until after the foundation is laid. In this case, you should consider using milestones to plan your project objectives because some tasks in one objective are dependant on tasks in other objectives.

However, now assume you are a contractor and your project is to lay the carpet for several apartment buildings. Your major objectives are to lay the carpet for each building. You can do them in any order and they are not dependant on each other. In this case, you can use parent tasks to organize your objectives.

When you organize objectives as milestones, you can schedule the tasks within each milestone anywhere in the project and assign dependencies to any other task. However if you use this approach the tasks that are part of an objective may not be grouped together in project lists and views.

If you use parent tasks to organize objectives, you can create one task for each major objective, and then you can add subtasks when you get to the stage where you break down major objectives into their individual tasks. This keeps the tasks that are part of the objective organized together within project views.

So, the next step is to record your major objectives in @task as either milestones or parent tasks.

SeeCreating and Working with Milestones

SeeCreating a Task

Set Objective Timelines

After you have determined what the major objectives of a project are, you should calculate the timeline for each objective. This will help you to prioritize your objectives and plan your schedule accordingly. If you use parent tasks to organize objectives, you can set the dates for them at this point, and if your objectives have dependencies on other objectives, you can set up those dependencies as parent task attributes as well.

SeeAssigning Resources to a Task

List Tasks for Project Objectives

Once you have project objectives and a planned timeline, you need to determine the tasks required to complete said objectives. Tasks can be very small or large and take from hours to weeks and months to complete. Using subtasks helps breaking up much larger tasks into more manageable portions. Now you can start to put each individual task into @task. You should create them as tasks within your milestones, or subtasks within your parent tasks. For now you should just list all tasks and not worry about scheduling them. @task will automatically set default schedules for the tasks but you can change the schedules later.

SeeCreating and Editing Tasks

SeeCreating Subtasks

SeeCreating and Working with Milestones

Determine Work Breakdown Structure

Next you need to look at the task order and dependencies. For most projects, some tasks must be complete before other tasks can start.

SeeUnderstanding Task Attributes

Furthermore, some tasks may be more effectively done during certain seasons of the year or at certain stages of the project. For example, if you were remodeling a home, you could paint after you put in the carpet, but it would probably be better to paint before you put in the new carpet so that you wouldn't have to bother with laying drop cloths. Whichever way you decided to do it, you could not do both together.

You should order the tasks to determine which tasks must be complete before others can start. There may be special situations where it would be optimal for two tasks to start at the same time, or for one task to be partially complete before another task starts. @task can handle these situations or any others that you may need.

Therefore, your next step is to set the order and dependencies for the tasks within each objective. You may want to set the task scheduling constraints, (e.g., complete as soon as possible, finish no later than) at this step for tasks that have no dependencies if you want them to be done close to the beginning or the end of the objective.

SeePredecessors

SeeAssigning Resources to a Task

Assign Task Durations

With the ordering of tasks settled, you should estimate the time that it will take to complete the tasks. Being that the duration is an estimate, you may want to set an optimistic value, and a value that accepts that projects don't always go as planned. You should consider factors that might affect your tasks, such as weather, power outages, supplier difficulties, or other unforeseen events when you plan task times.

Assuming that something won't go wrong for every task, you should estimate task schedules somewhere between your optimistic value and your worst-case-scenario value. If you have done similar projects in the past, you should have a good idea where to set this value. The type of project and the likelihood of unforeseen events should also be taken into account.

For example, if your project can easily be delayed by natural disasters, then you should probably schedule task times closer to your worst-case-scenario value. However, if your project is a collaboration of several authors to write a textbook, then you could schedule tasks taking into account only a few factors like computer crashes and sick days for the various authors.

You should put the task lengths into @task at this point. You do this by editing the duration times for the tasks, or the fixed dates (depending on the task constraint).

SeeAssigning Resources to a Task

Now is one place where @task's Gantt chart becomes really valuable. You can open it and look at whether the tasks for each objective fall into the time specified to complete the objectives. If they do not, you may need to determine whether to add more people or resources to a task in order to accomplish it faster. You may also learn that you can add some optional objectives, such as additional features to a computer program, or that you need to remove some optional objectives. Using this technique over time, you may find that you should add or remove projects from your long-term schedule.

SeeViewing and Printing The Gantt Chart

At this point, you may also want to consider saving the project as a template. If you will be doing several of the same types of projects you can save your project as a template, which will save you many steps on your next project. If your workforce has little turnover you may consider waiting until after you have made user assignments to save your template. Regardless of when you save a project as a template, you can remove user assignments or specific tasks when you import the templates into new projects. You could also save project objectives as templates and then import only those that you need into your next project.

SeeUsing a Template to Create a Project

SeeCreate Project Templates

Determine Skill Sets

With your project scheduled, evaluate your workforce and consider whether you have the personnel with the proper skills to complete each task? If not, you will need to acquire those skills through a new hire or contracting out. In this case, you might want to make this a task in your project and add an appropriate time value to it. Will this affect your ability to complete your project? You will also have to look at the cost of adding additional resources, but you can take care of that during the cost benefit analysis a little later in the planning process.

Manage Resources and Assign Tasks

Now you must determine who will accomplish each task. There are tasks that anyone can do, and some that require people with specific talents. @task lets you assign tasks to individuals or to job roles. For example you may have a task that requires you to write computer code for a feature of a program. If you have a team of programmers, you could assign this task to a job role and any of your programmers can do it. Alternatively, you can assign it to individual users.

At this point in the planning stage, you can determine whether you are adequately staffed to complete the project. When you add users to a project, @task shows you the resource utilization of the user that you want to add. You can see the total number of hours that the person is tasked on other projects during the time frame of your project. You can also see the user utilization in terms of average hours and a total utilization percentage for the duration of your project. That way you can see if a specific user has time to assist on your project.

SeeAssign Resources to a Project

If the users that you want to do the specific tasks are not available @task gives you options to find users who are. You can use a user utilization search to find a list of users who have not yet been assigned tasks during the duration of your project. Upon completing the search, if you did not find a user who can accomplish the tasks, you will know that you need to hire or contract for more people.

SeeUser Utilization Searches

After you have assigned out the tasks, you can use @task's resource grid to look at the project and see how many hours each day it will take each user to complete all assigned tasks. The resource grid displays this information for both users and job roles. It shows you whether anyone has been over- or under-utilized. You can make adjustments if task assignments are not optimal.

SeeUsing the Resource Grid

N O T E : As long as your project has a status of Planning, tasks that you assign to users do not appear in their task lists.

Do a Cost/Benefit Analysis

Now that you know when you can accomplish your project, and what resources you will need, you can do a cost benefit analysis. While many organizations do this step prior to this point, if you do it here, after you have listed and assigned tasks, you can see where you need to add resources to either get a task done more quickly, or to get multiple tasks done at the same time. You need to determine whether the cost of adding these resources makes financial sense. @task has budgeting tools that let you accomplish this easily.

SeeTracking Costs and Measuring Performance

Determine Review Points for the Project

Next, you need to determine what the review points will be for the project. For now, you need only set the dates for the reviews. When the dates come to review the project, @task shows you all the information that you need to see how your project is progressing. You can see what tasks were late and early, audit trails to see who changed status on tasks and when, and histories of issues including how they were resolved and when they were closed. On your review dates you can determine what steps to take and you can replan your project if necessary.

SeeReplanning a Project