How can you make a deadline on a project, when a deadline doesn’t
seem possible? A key trick in getting your compliance projects in under
schedule is understanding how to break dependencies.
Dependencies in a project happen, when two or more activities depend
on each other. The most common kind of dependency is a “Finish
to Start” dependency, meaning the first task needs to finish before
the second task can start. For instance if you’re building a house,
you cannot put up the walls until the foundation is dry.
The obvious problem with dependencies, is that they force a constraint
on your project’s timeline. If you have two different activities
that both take a day to complete, with enough resources you should be
able to get both done in a day. However, if there is a start to finish
dependency on the activities, then your group of activities is forced
to take 2 days.
For that reason, whenever I setup a project that has been allocated
a good number of equivalently skilled resources, I go out of my way
to break dependencies. Here are 3 key tips that will help you pull it
off:
Tip # 1 : Resist the Natural Urge to Sequence Things
Novice project managers tend to create dependencies, even when no
dependency exists! That’s because it’s human nature to
think in terms of sequences. Processing things in blocks, and further
in sequence, is a natural process that we follow to solve a problem.
Let’s take a random example of making coffee. Here’s what
comes natural:
- Grind the coffee beans
- Put the filter in the coffee machine
- Pour the coffee beans in the filter, and close
- Fill the coffee pot with water, and pour the water into the reservoir
- Replace the coffee pot on the warmer
- Push the “ON” button
Seems like a 6 step process, but if you step back to think about
it, there are a few things we can do in parallel. For instance, with
enough people you could grind the coffee beans, put the filter in
the coffee machine, and pour the water into the reservoir all at the
same time. Most likely you will be able to fill the reservoir and
replace the coffee pot before the beans are finished grinding, and
pushing the “ON” button takes literally no time. So with
some help, you could go through the whole process in the time it takes
you to grind beans and press “ON”.
Tip # 2 : Eliminate Soft Dependencies with Risk Planning
A soft dependency is a dependency that in and of itself isn’t
mandatory, but rather a “good idea.” Let’s go back
to the construction example. It’s a real good idea to paint
before you lay carpet, but there’s no physical reason why you
cannot ( unlike the foundation example above ). So, what many project
managers will do is treat this as a dependency for good practices
sake.
What I’m suggesting is that you eliminate these soft dependencies.
In most cases, following good practices like this are in-built risk
management. By establishing a dependency like this, you’re controlling
the risk that paint will get on the new carpet. The problem with this
approach is that you’re masking risk management into the schedule,
which is a bad idea. The reason this shows up so often, is because
proper project risk management is usually overlooked.
The more advanced approach is to break the dependency, and call it
out as a risk on your risk management plan. Since you’ve highlighted
the risk, you can deal with it as a risk instead of hiding the details
in the schedule. Building the dependency is only one way to control
this risk. You could also buy paint-resistant carpet, hire more skilled
painters, or invest in better painting tools.
Tip # 3 : Eliminate Hard Dependencies with Interfaces
We’ve already discussed what a hard dependency is, so what
is an interface? An interface is a simulation or placeholder of sorts,
that mocks up the dependency between the two activities. For instance,
the walls could be constructed ahead of time, if we had some sort
of mock foundation that we could use as a guideline. Also, the majority
of the foundation could be poured as long as we had some mock up of
where the walls would fit in. The walls could then be grafted in later
with steel reinforcement.
Breaking hard dependencies takes a lot of imagination. You have to
force yourself to think outside of the box. Fortunately, the human
mind has an infinite power to problem solve. To get there however,
you have to allow the question, and assume it’s possible to
break the dependency. If you tell yourself, “there’s no
way to break that dependency”, then you’re probably right.
But I would probably come along and pull it off, just by thinking
a different way.
In our coffee example, we’ve gone to great lengths to parallelize
things, but there still seems to be dependencies. How can you press
the “ON” button before the water and coffee is in the
machine?
Well, don’t use the coffee pot to fill the reservoir. Use two
other containers, one small, and one just the size to fill the reservoir
less the size of the small container. Somebody quickly fills the small
reservoir with ice cold water, dumps it in the coffee machine, and
turns it on.
It will take a while for the cold water to heat up. While the beans
are being ground, the larger water container is being filled with
room temperature water, and dumped into the machine. The rest of the
process goes as planned. Now the entire activity cycle time is dependent
on the time it takes to grind the coffee and dump it into the filter.
Breaking dependencies is an art that’s worth exploring, if you
want to take it to the next level as a compliance project manager. Some
key tips include resisting the urge the naturally order things, breaking
soft dependencies with risk planning, and breaking hard dependencies
with interfaces. Take some time today to look over your current project
plan. With these tips in mind, you should be able to remove some of
them, and bring your project end date in.