The most asked question I receive in my discussions with new clients is along the lines of "Can you tell me how much it will cost to build my site?" And my answer is always a variation of "How much money do you have to spend?".
This is of course, not an answer to the question posed, but in truth, it is really the only answer there can be.
Well, good question :) Let's start with an example of something that is a bit more concrete (pardon the pun) like building a new house.
Generally, there are two ways you can build a house, either by purchasing a pre planned house with a few modifications or by hiring an architect to make you something unique, special and designed exactly to your needs.
Pre Planned "Cookie Cutter" Approach
To buy a pre planned house, it's quite simple. First you find out how much land you have, then you go and visit a bunch of display homes that would fit on your land, and then you choose one. You might then ask the builder to shift a wall a bit or add a jacuzzi out the back, and these would have incremental costs associated with them, but basically the price would not stray too far from the price advertised.
What you would get is a nice house. It would probably look fantastic. You would hope that it did look fantastic because the builders have done a hundred others just like it with minor modifications so you would hope that they know all the little problems that existed with this design.
But it would just be another one of that type of house. It might have some different colours on it, but it didn't have that movie room you always wanted, and there is no space for your gym equipment, and you just wish that the kitchen bench space was larger.
The advantage of this type of house though is that you know it is going to cost $X plus an additional $Y for the modifications. You can even get a fixed price contract for this. It's all good.
You can buy websites and even fairly complex web applications like this. However, this is not the sort of web application we build at reInteractive. It's not that we can't, it's just that we don't build the same type of website every day, day in and day out, so we have no economy of scale to be able to produce a site like this at the cost you would be expecting.
Getting us to build a website like this would be the equivalent of finding a display home you like, then taking some photos of it and getting it built by a different, professional building company, it would cost a LOT more and make no sense to do it.
The other type of house you can buy is one where you have a concept in your head about how you want the house to look, you have some photos of other houses you like perhaps, some colour ideas, even a sketch or two of the floor plans and room layouts, you have a block of land with this to-die-for view and you want something special built on it, your castle, a place you and your descendants can call home.
You take this idea and you would first go and interview a few building companies, you talk with their business development manager and start discussing your idea. You start fleshing out concepts and give some really rough ideas, like number of bed rooms, where the kitchen is etc.
You might spend an hour or two on the phone or in person, you might even take the building company to a friends house that is "just like what I want, but a little different", and at the end of this, you would inevitably ask "so, how much will it cost to build my house?"
Now, the building company is not going to be able to give you an answer on the spot. Of course they can't, they don't know if you want plastic door handles or solid gold plated ones. They don't know if the movie room has a $5,000 AV system or a $50,000 AV system. In fact, all they know is you want a house, the approximate complexity and a rough idea of the sort of quality you are after.
Instead, what you would do then is decide which building company you like, and then hire them to get their home experience consultant, designers and architects to start drawing out the plans, picking colours and generally doing a months long discovery process with you to find exactly what this house will cost.
In fact, one of the questions you would get asked very early in the discovery process, probably even before the building company agreed to take on your design contract would be "how much do you want to spend?" because without this critical piece of information, there is no way that the building company can come up with a design and plans for your house that make any sense or have any chance of fulfilling your needs.
This is the sort of web application we build at reInteractive.
Why can't you estimate the cost?
This is another question I get often. The customer asks me if they can pay us money to work out an estimate for them. Or they just want to give us so much information with "every question answered" and then would like us to give them a single figure.
You might think that this would be a reasonable thing. And from first looks, it is! We agree! In all honesty, we would just love to be able to do this and get it right for every project, it would make our scheduling and management lives so much simpler.
But the sad fact is that this doesn't happen. The start of the project is where everyone knows the least about it. It's only by working through the challenges and priorities of actually developing the application that all of the features and requirements are made known.
Another interesting analogy is that a lot of clients view the actual software development process to be the same as the construction phase of a house. That is, they have done the wireframes, written some specifications and now give it to a bunch of programmers to just "build it". This isn't actually the case. Software development is more like the architectural planning and design phase. In software development, you are making things work, making things fit, making it all look good and determining what goes where.
Once you have finished doing all this planning and specifications, then you give it to a set of computers to "build it" and put it online available for the world.
So the building phase is a fixed price cost. It's the extended specification and programming phase that costs a lot of money. This isn't my original idea, there is a great talk by Glenn Vanderburg that covers this in detail and the challenges involved in software engineering if you are interested in finding out more.
The process for budgeting a bespoke website
So, the problem that we all face though is that this gives us a chicken and egg problem, and a question I get asked all the time; "How do I know how much I should budget for before I know how much it will cost?!"
Well, giving you an average cost is almost impossible, but the following "t-shirt size" table is not too far away from reality:
|Small||$40k - $90k||2 - 3 months of work|
|Medium||$90k - $200k||3 - 6 months of work|
|Large||$250k +||More than 6 months of work|
Most of the applications we work on are in the medium range. We do some small applications, but generally these are proof of concept applications that do a couple of things very well that the client then uses to go and get some initial customers or interest and therefore money to come back and make it into a medium or larger application.
Once we chat with you on the phone, or via email, we'll be able to give you a t-shirt size for your application, you can then make a decision based on the investment on what you want to do, either increase your budget or reduce the number and complexity of the features you want to fit a lower budget.
Once we have a rough budget in mind with a T-Shirt size, we would then set up a call between you and our development team to get a grasp on the whole concept you have and work out the best plan to move forward.
With all this in place, we would then get the first month of development paid for, allocate a team to start and work with you using our development workflow.
The way we work is that you come to us with a healthy budget and then work with us in a collaborative manner to make it happen.
We can help you work out the T-Shirt size of your application.
We then will get your development team to work out with you the critical features that we must get completed within your budget to make the site work at all, and relegate all the other features to be "nice to have" as the budget allows.
Then we get developing on those core features and get you a site that delivers what you need!
If you are not sure on where all this leaves you and your web application, please feel free to give us a call or email just to chat about your web application ideas. We are happy to give you some guidance. In fact, if our development process and costs are not suited to the client project we are happy to help them find a different process to get their site built in the most economical way for them.
Feel free to email us or call on +61 2 8019 7252 I'd love to help you.
The Axioms of Software Development - Part 2
Type less when using Git on the command line with gitsh
The Axioms of Software Development - 1 of 4
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.