Agile project management seems to be all the rage these days with sprints, user stories and automated testing. Waterfall may seem like the 1970s methodology dinosaur but it’s still getting plenty of play, especially among teams that work on ERP implementations, COTS packages, ASP tools and yes – even traditional custom development. I’m a big fan of Agile, but Waterfall still has its place in IT shops everywhere.
I’m going to show you how to apply waterfall-based planning using LiquidPlanner. For the PMO police out there, I’ll also line the steps up with the PMBOK’s time management process.
Ready? Let’s get planning!
First, PMBOK’s time management process
The Project Management Body of Knowledge (PMBOK) provides a formal time management process for developing and managing a project schedule. I’ll cover the first 4 (of 6) steps in this blog post which include:
- Define activities – identifies the tasks on a project
- Sequence activities – defines the relationships between project tasks
- Estimate activity resources – defines the resource pool and resources needed to execute the task
- Estimate activity durations – estimates the number of work periods to complete the tasks with assigned resources
These processes serve as a valuable framework for building project schedules. By using LiquidPlanner, project teams get complete visibility into the project schedule without a lot of administrative headaches or the need for a tyrannical command-and-control project manager. Project managers need to lead with a little more carrot and less stick.
Waterfall Planning Step by Step in LiquidPlanner
Step 1: Define activities
The activity definition step involves brainstorming, identifying and adding all the tasks needed to complete the project to your project schedule.
A. Create a new project in LiquidPlanner by clicking add menu (+), and then select Project.
B. Enter the project name and confirm the owner.
C. Add a task to the new project by clicking the add menu (+), and then selecting Task.
In this process step, you’re simply adding tasks to the project work breakdown structure. By default, LiquidPlanner assigns your name as the task owner since you created the task. You’ll change the resource assignment and add the additional details such as duration and dependencies in subsequent steps. The work breakdown structure can also be organized by adding project sub-folders and dragging tasks into project sub-folders.
Project managers may start by adding sub-folders first to represent the different phases on the project lifecycle. Once the phases are defined, additional tasks can be added into the specific folders. If you’ve developed a visual work breakdown structure, each sub-folder represents a higher level node on the work breakdown structure diagram.
D. Continue to add tasks to the schedule and organize the work into different sub-folders.
Notice there are no durations assigned to these tasks during this step as the duration is not estimated. You will add duration in step 4, below.
Step 2. Sequence activities
LiquidPlanner intelligently sequences tasks using priority-based scheduling. Unlike other scheduling tools, you don’t need to sequence every single task explicitly. LiquidPlanner uses the hierarchy of tasks to assume that the higher level task has the higher priority. Once that task is completed, the scheduling engine will expect the resource to work on the task that’s next in order of hierarchy.
Pretty cool, huh?
If you need to add explicit dependencies between phases or sub-tasks, you can sequence those activities using Dependencies. To do this:
A. Select your first task or sub-folder.
B. Press and hold the Control key and select your second dependent task, or the second sub-folder.
C. Click the edit menu (the pencil icon), and then select Chain Items.
D. Three blue dots will appear on the schedule bar next to the tasks to indicate a dependency.
If you call up the edit panel on one of these chained tasks, click the More menu, and then Dependencies to view all dependent tasks.
In actual practice, I use the Chain Items feature sparingly. Since LiquidPlanner automatically applies priority based scheduling, most of the task sequencing is already done for me. During Step 5, you may add additional dependencies based on the specific resources assigned to each task.
Step 3: Estimate activity resources
Whenever a resource is assigned to a task, the resource’s availability is automatically updated in LiquidPlanner across the entire portfolio of projects. Unlike other scheduling tools that require you to publish the changes back to a server, LiquidPlanner ensures the resource availability is always up to date based on the assigned work in the portfolio.
The first assumption in developing your project schedule is that you have each user set up in the tool. You can add team members to your resource pool by selecting the People menu item and clicking the + Member button (Figure 5). At the start of your project planning, the reality is you may not have your entire team staffed. You know you need a software developer but you haven’t actually hired the person yet. In this case, you add a Virtual Member to act as a placeholder for planning purposes. When you have actually onboarded the new team member, you can easily reassign the work. LiquidPlanner will still let you do all the necessary estimation and forecasting to build you schedule using virtual members.
Once your resource pool is defined, you can assign work based on the resources in the Member List. To add a resource to a task:
A. Select a task and open the edit panel.
B. Click the Owner field of the edit panel (top left corner).
C. Select a resource from the member picker dropdown.
D. LiquidPlanner will start to reschedule the work. Click the Schedule Ready refresh button to see your new schedule.
The project schedule is beginning to take shape as the tasks already readjust based on the resource availability. Next, we need to add some hour estimates to the tasks.
Step 4: Estimate activity durations
Go ahead and pull down the copy of your Project Management textbook and flip to the chapter on estimation. Chances are you’ll see terms like “analogous estimation”, “top down” and “bottom up” estimation. There are several approaches to estimate a project’s work effort. If you compare your project to a previous one, then you’re doing an analogous estimation. If you are making broad estimates without knowing a lot of detail, then you’re doing a “top down” estimation. One of my favorite methods is to do a bottom-up estimate where you define all the tasks and make estimates at a detailed level.
Managers may dictate deadlines, however I’ve found it best to seek estimates from the experts actually assigned to do the work. Managers may be skeptical of resource defined estimates as the estimates may be inaccurate or over exaggerated. Fortunately LiquidPlanner uses ranged estimation to improve the overall estimation process.
Instead of a single point estimate, resources can provide a best case/worst case estimate for every task. Even when resources are estimating remaining work, they can apply the two-point estimate approach. The best/worst case estimate helps when your developer reports he only has 3 to 4 hours of work left. In a traditional planning tool, you’re stuck wondering if it will be 3 or 4 hours.
(I’ve actually had to coerce developers to assume they would win a million dollars if they simply committed to an estimate.)
LiquidPlanner will intelligently calculate the end dates based on probability of completion. I like this approach as team members don’t feel pressured to be 100% correct on their estimates and still have some wiggle room.
To estimate a task’s duration:
A. Select a task and open the edit panel.
B. Click on the Remaining field (it will likely say “Unestimated”.)
C. From the Remaining Effort menu, enter a best case and worst case estimate and click Save.D. Continue estimating duration on the remaining Unestimated Tasks
D. Click the Refresh Schedule button to see your updated schedule.
The estimation process can also be delegated to each team member. As the project manager, you don’t need to estimate every activity. You can actually develop better accountability from your team if you ask them to estimate their expected durations and then review as a team.
After entering all the estimates and refreshing the schedule, you have now successfully developed a dynamic project schedule that will adjust based on each individual team member’s contributions.
See? No Command and Control here. This may be a Waterfall project but we’re still getting team members to be agile.
There you have it. Four steps to a great schedule.
Do you have any cool tips you’ve discovered using LiquidPlanner and a favorite planning methodology? Drop us a comment – we want to hear from you!
Using LiquidPlanner for Agile Development
4 Ways to Use Custom Fields in LiquidPlanner
3 Project Management Headaches and How to Fix Them