Author: Megan Tell, Director of Strategic Projects,
Project Management Professional
Implementing a software solution is unlike any other type of engineering discipline. There are many variables to take into consideration. The foundational environment is always different, requirements and specifications vary, situations frequently surface that are beyond everyone's imagination, the tools used are always different, and every software endeavor is unique. Given all of those variables, it is no surprise that estimating is difficult - very difficult. But, it’s a necessary evil, especially when consulting on a project for a client. It’s very rare to start any project without some sort of estimate of time and budget. In this post, we’ll bring you into the mindset of our Zirous team as we approach estimates.
Too many times projects start off on the wrong foot because the effort involved in delivering them has been underestimated. It is human nature to want to deliver something quickly, but underestimating the complexities of a project is a recipe for disaster. It is essential to make sure that the team understands what the users want and how much it will cost to produce what they want. This is one of the foundations of being able to successfully deliver a project.
In my almost 10 years spent managing projects at Zirous, I have found that one of the biggest hurdles with providing an estimate is the uncertainty involved at the beginning of a project - a lack of sufficient requirements. Since each project we do is always different, without an understanding of the requirements prior to creating the estimate and starting the work, there are often many unanswered questions. This forces the project team to make assumptions about what should and should not be included in the estimate, which can lead to a number of different problems:
Incomplete scope - If you don’t fully understand the requirements, you will inevitably miss important business problems that should be included in the project scope and estimate.
Inaccurate timeline - Without an understanding of the requirements and an accurate estimate it is very difficult to establish a reasonable timeline for the project. No one likes to miss their go-live date!
Resource constraints - If the estimate and timeline are not accurate, you could end up losing valuable resources to another project. Losing a key resource will only increase timeline and budget problems.
Insufficient funding - If the requirements aren’t defined and the estimate is wrong, you may end up having to ask for money more than once. No one ever wants to do that.
At Zirous we have found that it is critical to understand the business problem and requirements for the project upfront for a successful implementation. In order to do that we like to start our projects with a discovery engagement that allows us to fully understand the business drivers, needs, current environment, and desired direction.
During the discovery we:
Compile and ask specific questions that focus on existing and future state processes.
Gather and document all business requirements related to the project to ensure that the team is in agreement about what needs to be delivered and estimated.
Execute proof of concepts and prototypes to help validate the requirements and capabilities of the technical solution.
Provide a recommended implementation approach that includes a detailed project plan, project scope, and estimate.
Granted, there are many different variables during the course of a project that can affect the original estimate - but one thing remains constant across our client work. Our most successful, on-target projects are the ones that start with a discovery.