Why we don't do free estimates
The best antidote we've ever found to budget and scope overruns is proper, paid planning and proposals
One of the more unusual aspects of our business is the simple fact that we do not offer free estimates. Truth be told, it would be irresponsible if we did. Our proposals are chock full of important information and technical detail, all of which are required for us to be confident in our pricing and timeline. It’s essential that all parties take it seriously and invest the time upfront the work calls for. If you choose to work with us in the end, grand! You will do so knowing our value before any development begins. If not, you will be armed with a bulletproof scope of work that can be bid on with confidence.
Now, allow us to explain ourselves.
We are all human
One of the brain’s most quintessential functions is that of a bullshit machine. For supposedly evolutionary reasons, each of us warehouse a vast and sophisticated apparatus designed explicitly for quick, decisive, and heavily rationalized decision making, nearly all of which is biased in favor of meeting a fleeting, short-term need. In his book, Thinking Fast and Slow, behavioral economist Daniel Kahneman calls this machinery System 1. The inherent features of System 1 make humans horrendous planners, and help explain things like the recursive Hofstadter’s Law, which states that work of sufficient complexity always takes longer than you expect, even when you take into account Hofstadter’s Law. It also explains why I enthusiastically decided to renovate a vintage 1950s travel trailer one year ago and now want to scream every time I see it.
While our truly incredible imaginations set humans apart from every other creature on earth, it’s our ability to imagine anything that makes us dumpster fires when it comes to predicting long-term outcomes, especially when they are complex, as web projects tend to be. Timmy and I have begun projects in dozens of different configurations with all kinds of different clients. We have spent far too many restless nights on the front lines of assumptions, witnessing firsthand how they wreak havoc on a project. After years of pulling our hair out (I no longer have any), we decided to put a process in place to mitigate, as best we can, System 1 and our natural human natures.
For us, a project is never more vulnerable to poor decision making and popular biases than in the beginning. For instance, we are liable to overlook key omissions in requirements if we feel it might kill the buzz of a new adventure (courtesy bias/groupthink). We can overestimate our abilities or those of the client (overconfidence effect). We may place an inordinate amount of attention on one aspect of the project at the expense of the rest (focusing effect). We may fail to plan for a circumstance that could happen, but has not happened before (normalcy bias).
We put a premium on our proposals to create the space needed to be thorough, disciplined, and methodical in assessing the work itself, timing, budget, and risk. There is a presumption that design and development is the real work, yet it’s proper planning that will determine the effectiveness of the work that follows. Without the effort upfront, and the freedom to be both curious and suspicious of any and all assumptions, we are doing the project a disservice.
Process
Our typical proposal is much more than a price. Here’s what it will include.
- Expectations and objectives: At this stage, we’ll be asking lots of questions. What are you attempting to accomplish and why? How will your success be measured? What are your expectations for the process, and what do you personally hope to gain? What are the most essential features of what you’d like to build? Where can we be of the most value to you?
- Technology assessment: Here, we will dive in to your current technology platform, the capabilities of your team, and the short and long-term outlook of the project. Are you intending on extending your current platform or starting from scratch? What limitations do you have? What advantages? Are you partial to certain technological choices? How about your team? Are there particular languages, backend technologies, or products your team relies on?
- Requirements documentation: Having completed the technology assessment, this stage aims to summarize our findings in a concise and accurate set of short directives that we can all agree upon. This documentation outlines everything the product must do, from the perspective of a user. They paint a complete picture of the various functions of what you are building.
You will likely come to us with requirements already written up. Using our experience, we will bulletproof them. We will spot and fill gaps and errors, as well as identify shaky assumptions or unnecessary risk. - Strategic planning: We will model what we believe to be the optimal approach to the project, taking into consideration everything we have learned above. This includes an evaluation of where the project stands, a sound technical approach, given the requirements, and an overall estimation of opportunities and risk.
- Estimate: To conclude, we will provide an estimate and a timeline for work. This estimate will incorporate everything we have learned in the preceding stages, taking into consideration the complexity of the work and risk involved.
Accuracy
We care about accuracy. We meticulously track our time, across projects and features within projects, continuously refining our ideas of how long things will take. Accuracy, however, requires a tremendous amount of technical detail, the depth of which is rarely reflected in the scope straight from the client. Take for instance, a single web page like this one. Before providing an estimate, we will have considered all of the following:
- Do you have an existing site (that might require redirects or backups)?
- Is there existing hosting?
- Is a domain name already purchased (if so, who is managing the DNS records)?
- Is there an existing SSL certificate (or does this need to be created)?
- Is there an existing code repo or service (like Github)?
- Does it need to be easily updated (via a user-friendly admin panel for example)?
- Are there any privacy considerations (no cookies, GDPR banner, cookies banner)?
- Do you want any reporting on performance (Analytics for example)?
- Are there any marketing considerations (Ads for example)?
- What device(s) is/are it targeted for?
- Are there any email requirements (a newsletter sign-up for example, or error reporting)?
- Are all related social accounts created?
The question inevitably follows, “Is this really necessary?” We say yes, of course, and here is the reason: overlooked components in web development have compounding effects across a project. The more uncertainty you inject, the more likely it is that this uncertainty will manifest itself in longer than expected timelines, budget overruns, and technical debt.
When we give you pricing, we want that number to be an accurate reflection of both the effort involved, and a figure that can be supported and understood through the thinking behind it.
Fairness
When dealing with projects that are both technically complex, involving multiple stakeholders, often with competing ideas of what constitutes a successful project, it’s unfair to the project, and we think the client too, to continuously operate under the premise of, “Oh, we’ll figure it out.” Unfair because winging it often jeopardizes the project towards the end, when the client can ill afford it. And unfair because the cost of beginning work without a narrowly defined scope of work and approach inevitably leads to unnecessary budget overruns and often inflated pricing, necessary to absorb the risk.
Transparency
Although it can seem like paying for a proposal is an unnecessary investment, we believe that laying all our cards on the table before any code is written is the best way to show you our value. If you’re familiar with technology, you will know that it’s often not the money upfront that is the problem, so much as it is taking the leap with contractors or an agency that are unable to produce what you expected. After just a few weeks, you can easily find yourself pot committed, with enough work having been done and time spent doing it that you are essentially stuck, having to move forward with the project, but never feeling particularly confident.
What we prefer to do is create a document that, regardless of whether you work with us or not, has real value. Something that gives you confidence going forward. In the process of us writing it, you see firsthand what we can bring to a project and what we may not. This requires a fractional investment upfront. One we believe pays for itself rather quickly.
Uncertainty
No estimate is ever perfectly accurate. Whether it’s the vendor, the client, or both, someone foots the bill for the inaccuracy inherent in every estimate. While we will never be perfect, the intention of this process is to reduce uncertainty to as close to zero as we can. When we do this, expectations are met and whatever inaccuracies there are in the estimate have a marginal impact on the project. Unexpected events will always influence a project, and the better positioned we are to anticipate and absorb them the more likely a project will be finished on time and within the budget.
In summary
Timmy and I have been around the block more than a few times, and truth be told, it’s only through experience that we’ve decided to insist on doing extensive proposals and requirements documentation before work begins. This doesn’t mean we can’t give you some broad ballpark figures and recommendations to start with. We’re happy to do that if it helps with your decision making. We just know how complex web development can be, and how easy it is to overlook important details, even when you’re trying your best not to.