Calculation vs conversation: An elevated approach to project estimation
Rather than a discussion to dread, project estimates done well can in fact be your greatest competitive advantage. Don't believe it? Dave Hecker, CTO of Vention shares his perspective below.
The technical definition of project estimation is simple: how many hours or days will it take to accomplish a stated objective, and how much will it cost? But more than that, it's an opportunity for us to address the client's needs across every parameter.
For example, if the client says what they want, but their budget won't allow for it, then we have two choices. Either we can present them with a much larger, albeit more realistic figure, which will no doubt discourage them, or we can listen to what they're telling us and propose different ways to approach the constraints.
Maybe we suggest a pared-down MVP that will be within budget now, and allow for the time and funding necessary to build out the full feature set later, or we advise eliminating just one feature as it will eat up almost half of the budget. These are things we can talk about and solve for, going beyond basic project estimation into strategy.
Not just what, but why?
Also remember that companies ask for estimates because they want to know what it will cost — in time and money — to build the application they envision. Consequently, it will be in your best interest to determine what is driving them, whether it’s a fixed timeline, a specific budget, or some combination of both. And the only way to do that, is to ask.
For example, a client may mention that UI is a priority, but not realize that this can eat up a lot of your budget, even if they have this function in-house. For every little tweak, the front-end developer will have to make the necessary changes, which adds up. Now, not only do we have a lot of information that's going to help the estimation, but the client will understand where we're basing our figures.
Another scenario: just imagine a client asks you to make an application absolutely bug-free. What are you going to say? A flawless software project is unlikely, but if you can find out what they consider "bug-free," you'll be able to tailor the QA process to identify those that are most critical and still ship it within a reasonable timeframe.
Finally, it's important in these cases to analyze all the information and be very upfront from the first call; if you don't think they can do what they're describing for $250,000, say so. From there, you can go back and begin to calculate in earnest, but it's always better to have these conversations with the client right at the beginning.
Don't be a yes-man or -woman
Most dev shops are happy to keep a running tab and bill for whatever the client requests, but what separates the best from the rest is a willingness to listen for risks and challenges, and advise accordingly. True partners understand a client's worries, so the moment they start software project estimation, they are able to identify pitfalls and offer solutions. When we not only solicit feedback, but present a clear path forward, we demonstrate an implicit value on top of the material estimate.
Do be upfront
Let's say you go to buy a car; you arrive at the dealership, see a nice one, and ask for the price. The salesperson invites you to the office, tells you all the details about the warranty, the bells and whistles, the works. Only then do they tell you the price, and it's too high — you were not planning to spend this much. Now you've just wasted an hour, and so has the salesperson!
The point? All developers can do quick mental estimates much better than they think they can. It's fast, and it's a lot more accurate than you'd think. And it shows that you value the client's time — even before they're your client. Remember: you can always go back and refine your calculation in greater detail.
Don't fear change
Clients understand that software project timelines and even the scope may change, as long as the reasoning seems smart and considered to them. Volunteer from day one that when new information comes in or is uncovered along the way, we'll give the client all the information that they need and update the timeline. From that point forward, because we've addressed the potential for shifts during these early project estimation talks, we'll be able to do so without creating any undue stress.
There are different kinds of clients, some want more control and visibility, and others want to be told what is best for them, and so on. When we demonstrate that we understand their risk factors, when we manage to elicit the right information from them instead of just telling them that everything will be okay, when we offer solutions, it's very powerful.
These early conversations are our single best opportunity to lay a strong, solid foundation for the remainder of the engagement, whether it's six months or 16 years. Don't rush them, don't fear them — instead, view them as the competitive advantage that they are and invest in them accordingly.