You’re probably interested to know how much it’s going to cost to realize your custom-software dream. The short answer is, we have no idea … yet.
We tend to work on large, complex, long-term projects. We’ve taken a page from the construction industry: separating the design from the build.
How this works in practice is we’ll come up with a budget for a Design phase, which will include interviews with your user base, your stakeholders, your IT contributors, and anyone else with skin in this game. Then we’ll produce a requirements document and a proposal for what we think it will take to build what you’re asking for.
Why We Hate Estimating
As much as we’d all like to believe that we can accurately predict the future, estimating is in reality an inexact science. (Perhaps we should go as far as to say it’s more art than science.) Since our company is staffed by perfectionists, this is our least favorite part of the job because we are never right. It hurts to admit it, but it’s true!
There’s a reason nobody has come up with a computer program that produces 100%-accurate project estimates: people are involved … and people are unpredictable. So here’s what we do to come up with your initial estimate: we consider our experience with previous projects of similar scope and attempt to capture as many known factors as possible. We then consider the possible risks associated with the project, and estimate how those risks could affect the timeline, scope, and budget.
We get better and better at estimating the longer we do it, but we can’t predict the external forces that will change the feature set, budget and/or timeline of your project. Here are a few we’ve encountered:
- Scope creep. As you begin to visualize the possibilities of the new product, you may decide to include more features or make changes to the original design.
- Aha moments. As more information about your processes is revealed, we may need to revise things that we have already worked on to refine them to your new perspective.
- Client delays. Stuff like sickness, vacation, personnel turnover, shifting workload priorities, the guy who never returns our phone calls.
- Our delays. We get sick (and so do our kids), another client has an emergency that requires our attention, some aspect of your project takes longer to produce than we anticipated.
- IT issues. The internet backbone goes out the day before your project is scheduled to roll out, a server hard drive fails, Microsoft issues a security update that breaks everything, the SSL cert didn’t get ordered.
Once these factors are considered, shuffled, rearranged and thrown in the air like tea leaves, we’ll give you a ballpark estimate for budgeting and scheduling purposes. This way, we can get started on the work necessary to refine the estimate. As we get further into the process, we will continue to talk to you about how things are progressing to decide if we need to make adjustments to the original timeline, scope, or budget.
Estimating is the first phase of your project where Think 360™ comes to bear. First, we make sure we’re covering your stated needs [Balance]. Then we plan for the inevitable shifting landscape of features and timeline as the project progresses [Evolution]. And we encourage you to budget for service and maintenance in the years after your new system goes live [Sustainability].
Photo by 401(K) 2013