Building a project takes many different tasks. Each of them is important to getting the project done right. Estimation is an inexact science that we all must try. Then we need to understand the dependencies and the duration of each task. We finish with talking about how important good milestones are and what the critical path is.
A few years ago I had a conversation that went like this, “What are you going to do this weekend?”, said a co-worker. “I am going to put in a new patio with pavers.”, I responded. “How long does that take?”, he asked. “I think it will just take an afternoon.” Wow, was I wrong. That project took a few weekends to complete and I am not sure it was done right.
When we estimate the time it takes us to complete a task we can be off by a large amount. Especially like in my story about patio pavers. You may think as a professional you can do a better job. Perhaps if you have done similar work, but many times we estimate work that is different than our experience.
It helps to learn as much as you can about the task. Also, make sure to ask your teammates for their input in the estimate as well. Everyone has different professional knowledge and they might see something that you may overlook. So gather input and develop your best estimate.
It is important as you build out the project and create a plan that you know the dependencies of the tasks. As a young man, I worked with a general contractor. I learned a lot about framing and roofing homes. There is quite a few task that happens in between the frame going up and the roof being completed. Some tasks have to be completed beforehand, these are predecessors. Other tasks are completed after are called successors. Tasks can also be completed independently if there is no dependency.
Whatever domain you are working in, it is important to have a basic understanding of what has to happen and what order. A few of the project managers I have worked within the software development arena have been developers or Business Analysts before. So they understand portions of the process and can see the big picture.
It has been said in the software industry that a great programmer is ten times more productive than an average programmer. Whether this is true or not we know that everyone does a job slightly different. This happens in all walks of life, not just software.
When we create estimates it is important to consider who is going to be doing the work and their experience level. If someone is fairly new to something the duration can vary widely. Of course, there are other factors aside from experience too. Working with a landscaper in high school I became fairly proficient with planting and pruning plants. The owner was a bit of a perfectionist and would take a lot of time to inspect and re-work some of the items I completed. I guess in a visual industry like this his eye for detail was an asset, but it made us late for appointments on numerous occasions.
Projects need milestones to ensure progress is being made and so that it can be reported out. Every project manager gets asked about progress and setting these milestones can show movement toward completion. “Basically, goals establish targets that then serve to direct project behavior and activities. Clear and concise goals serve to structure behavior so that people perform in the most effective and efficient manner.” This is from The Principles of Project Management.
Ideally, you lay out the milestones at consistent times throughout the project. Although this can sometimes be difficult as most milestones tend to be completed near the end of the project. I have worked on a few projects where we had all the milestones at the end and it can create an impression that progress is not being made.
Project Manager’s talk about a project’s critical path. The critical path is simply all the tasks that determine the end date in your project schedule. As you understand the project dependencies you can add them up add determine the critical path and project length. Some tasks don’t lie on the critical path as they can be done independently. Of course tasks on the critical path must be monitored extensively to check for delays.