It was a hot summer afternoon and in walked Taylor. Taylor was a successful investor who had made a career out of flipping residential properties. He also just happened to have a hidden passion for technology. Taylor had an idea that he believed would revolutionize the real estate market. He was a close friend to one of our team members so we invited him in to hear his pitch. His pitch sounded a lot like episode 1 of StartUp Podcast - it was all over the place, and he was struggling to communicate the basics of his idea. We asked a variety of questions and finally after about 30 minutes, we felt we had a decent grasp of what his idea consisted of.
At this point, we knew what was coming next. The dreaded question every developer expects to hear, “So how much would a web application like this cost?”
Don’t get me wrong, we as developers understand why Taylor was asking this question. He needs to know how much a project like this is going to take to get off the ground. And we as developers want to be as transparent as possible, we would love to give him an answer. However, most people are not familiar with the development process and just don’t understand the impossibility of producing an accurate answer from a question like that - especially on the spot.
So I explained to Taylor, “Think of it this way. Imagine you have an idea for a book. You think this book is going to be unbelievably popular, and people are just going to be swiping it off the shelves and in no time, you will be on the New York Times Best Seller List. Now what would you say if someone asked you: How long is it going to take you to write your Best-Selling Novel?”
To attempt to answer, you may think to break it down, and say, "Well assume the book is going to be about 400 pages long, I plan on writing a page a day, and my research should only take a month. So probably a little over a year."
"The problem is the content of your book has nothing to do with the number of pages. One page of your story does not equal another page of your story. The difficulty of writing is not judged based on the length of the novel, it’s judged on the complexity of the writing and narrative. In other words, one 400 page book could take a little over a year to write while another of same length could take a little over 5 years. Now to put it in web development terms, imagine every word in that book was connected to some other word throughout the story or even connected to words in other authors' books, and your book became a giant web of dependencies. That’s a website or web application in a nutshell - that is what a developer is producing.”
You’ve probably heard of metaphors like this for software development before - one of my favorites is this one.
I explained to Taylor, “Estimating your project is going to be complex and take a couple days to put together, and even then these estimates won’t be completely accurate. But let me ask you this - How much are you willing to allocate to a project like this?”
Taylor responds, “I’d like to keep the budget around 10K.”
Now this is the part in the conversation most developers start to cringe. I have now been listening to Taylor’s concept for almost an hour, and it seems to grow and grow in complexity with each sentence. And now, I have realized that Taylor really doesn’t have any idea how much it costs to take on a project like this. But can you really blame him?
I then decide to implement what I unofficially call the HGTV tactic. If you've ever turned on the HGTV channel you may have seen one of the several realtor shows where the buyers always seem to have a giant wish list, but of course, with that giant list they also have a small budget to work with which always stems the drama of the show. To bring buyers back down to reality, realtors will show them a house that fits every one of their items on their wish list with a little extra "wow" thrown in. These houses are always way outside their price range - giving the buyer the understanding that maybe a few of their wish list items need to go in order to stay within their budget.
We implement a similar strategy by providing ballpark estimates of applications that everyone has heard of. It looks a little something like this...
Now I must put an asterick on this chart. First off, these are broad estimates that are estimated between an experienced team of 5-20. Second what it takes to build an MVP (Minimum Viable Product) does not compare to the amount of time and money that was invested into these companies that eventually led to their success. The 1.0 version is important for the launch and validation of a project but what really matters is 2.0, 3.0 and 4.0 versions.
Based on Taylor's reaction to these estimates, we intrepret he may be starting to think to himself he's bitten off a little more than he can chew. He's confident in his concept, but these estimates are sizeable investments for one guy with an idea.
I explain to Taylor, "Although the goal is to one day be just as successful as the companies that I just listed out, you don't have to start with a project thats costs as much as one or two of your investment homes."
So finally in wrapping up my point, I tell Taylor, "We can build an application that only performs one component of your idea or we could build a full comprehensive application with a drop-dead gorgeous user interface. The point is a web application really costs as much you want it to."
I then explain to Taylor that we can construct a preliminary estimate for him by cross referencing projects we have executed in the past, but it will take a day or two to get back to him.
This is where we whip out our super general software development bracket for reference (below). These brackets categorized, based on the projects we’ve seen, will give Taylor a frame of reference of what budget he might be able to squeeze in his project.
Basic: 5K - 15K
Basic projects are usually projects for small mom and pop shops. Examples of Basic projects include:
- Simple websites that act as an online brochure with a templated layout
- A landing page with a couple neat interactive elements
- Adding a component to an existing website
Professional: 15K - 60K
Professional Projects are usually for SMBs or self/Kickstarter-funded founders. Example projects may include:
- Interactive websites with a larger number of pages and content
- Building ecommerce websites that bring in up to $1 million in revenue
- Adding a large component to an existing website
- Founder who wants to build a basic MVP/Prototype mobile app or web application where the idea is fairly simplistic
Established: 60K - 200K
Established Projects are usually for mid-sized companies, small projects for large corporations or angel-invested/early-stage startups/founders. These projects could include:
- A top of the line company website with a custom CMS
- Building ecommerce Websites that bring in up to $10 million
- Web Applications designed to automate processes in a company department consisting of 200 employees or less
- An MVP mobile app or web application where the idea is moderate in complexity.
Enterprise: 200K - 500K
Enterprise Projects are usually for corporations, fast-growing mid-sized companies or well-funded/ early stage startups/founders. Project examples include:
- Enterprise software add-ons to the overall infrastructure
- Laying the foundation for a custom technology infrastructure for a medium sized business
- A well-funded/ early stage startups/founders looking to create a full encompassing MVP platform
Unlimited Projects are usually for large corporations, the government, mid-sized companies with strong cash flow or VC-funded startups/founders. Projects may include:
- Complicated web software that requires a large distribution and integration
- Mid-sized companies looking to implement a custom company-wide software solution
- VC-funded startups/founders looking to create a full encompassing product platform.
So just as Taylor asked himself, where does your project fit in?
Image from Joi