What Can Web & Software Development Estimates Do for You?
You may have heard the popular adage “fast, good, cheap: pick any two”. In my experience as a late fixer for projects of all sizes that went off the rails before they came to Hedgehog or myself for help, the situation can be “pick any one” or even worse in some cases. So what can web development estimates do to protect your timeline, budget and quality targets?
Quite a lot, actually.
First of all, if you find a development firm who is interactive in their estimation process then you’re getting an opportunity to focus resources where you want them (speed, quality, budget reduction, etc.). You get to shape the project and pick the targets that are prioritized. This type of interactive sculpting of estimates is less common than you might imagine.
Second, a thorough estimate will not only inform you about which features require the most resources, but will also likely outline important aspects of the project for the first time ever. It is common to request an estimate before a decent specification, list of features or wireframe exists. This is an opportunity for both parties to figure out exactly what needs to be built.
Finally, a productive estimate is one that takes account of business goals. These are the keys to tangible success. Many development projects are conducted from beginning to end without even a single discussion of the project stakeholders’ big picture goals. A good estimate drags these end goals into the light of day and sometimes even unveils them for true understanding by the project stakeholders.
So what’s standing in our way of creating the type of informative and productive estimate described above?
It turns out that estimating web and software development projects is hard. There are numerous reasons for this including the fact that specs are not clear when estimates are requested, the fact that stakeholders have often thought through their true business goals only vaguely at project inception, the fact that software development in many instances has diseconomies of scale, the fallacy that reusing code for speed of development usually has benefits that outweigh its dangers, the fact that human psychology is primed to underestimate the risk of unbounded tasks, the fact that scope creep is hard to manage throughout the course of development projects, etc.
Lo and behold, surveys of the results of IT projects unearth ghastly rates of failure of 40% and above. Example: http://www.techrepublic.com/blog/tech-decision-maker/study-68-percent-of-it-projects-fail/ But all hope is not lost.
Our ApproachHedgehog’s victory over this challenge comes in the form of the following approach:
- Fully recognize the challenge up front to a degree that the majority of web/software development firms do not.
- Treat the estimate as an important element of and solid foundation for the project itself.
- Conduct quality work-intensive analysis of existing specs/wireframes/designs to create the most accurate possible estimates considering the inputs.
- Communicate in a fluid interactive way with clients, working together to flesh out specs/wireframes/designs in order to improve estimates and mold project plans to best serve clients’ goals.
- In cases where specs are sparse (they almost always are) provide expert advice about feature and implementation details.
- Pay attention to and base estimates on business goals, including understanding which metrics the success of the project will be judged by.
- Create estimates and SOWs that are clear and honest about what they cover.
- Monitor and manage scope creep in a clear and honest way throughout the course of each project.
Ways The Client Can HelpThe following inputs from clients are extremely helpful in creating development estimates that are as accurate and productive as possible. If you come to the process with these inputs prepared you have a head start to success and have done more homework than 90% of estimate requests:
- Screenshot Designs – Previews of the final design for each proposed page/feature
- Wireframes – Rough outlines of the design for each proposed page/feature
- Written Specs – A written document explaining exactly what data, content and functionality each page/feature must support
- Business Goals Outline – A written outline of the project’s most important business goals and the metrics by which the success of the project will be judged
Development Estimate TipsThe following are tips and tricks to help you get the most out of web and software development estimates:
- Be skeptical of porous estimates. The less detailed, the less likely the estimate is to result in a specific timeline and cost.
- Be skeptical of cheap estimates. Saving money is great, but will it be at the cost of quality or timeline? Even worse, is the estimate cheap due to the absence of detailed analysis present in competing estimates that understand the full complexity of your goals better? Find out for sure before proceeding.
- Communication is king. Your experience communicating with a provider during the estimation process will likely be similar to your experience communicating with them during development work. Since good communication can make or break a project, keep it in mind when evaluating estimates.
- Consider aspects such as project management, meetings, QA/testing, development environment setup, provisioning of servers/hosting, deployments, etc. that are important to the success of projects yet are often left out of estimates.
- List and include in the estimate every page, component and functionality that you know about. This can be illuminating and is worth the effort.
- If you have questions about an estimate, ask them up front so the plan can be clarified. Good development providers will be happy to discuss until everything is clear to all parties involved.
- If you feel an estimate fails to target your goals in the best possible way or with the correct priorities, discuss that up front so the plan can be revised. Good development providers will be happy to revise until the plan is a winner.