Earlier this month there was a thread on Joel Spolsky’s BoS (Business of Software) discussion forum asking What would it cost to build this site. Of course it started innocently enough, with a simple statement:
We recently created a startup on which the website is an integral part. Customers rent our product for a specified time period. When you get right down to it, the required features of the website are no different than what would be required of a car rental web site.
Then came the big question:
My question is, what would a ballpark estimate of the cost be?? Again, the fully functional site would resemble a car rental company such as Hertz.com
This is a completely loaded question!!! There will of course be very large price fluctuations amongst the responses no matter who you ask, these requirements are too broad and open-ended. Sadly however I believe that none of them are near the “real” cost to build this website. I think the highest was around $150k if I remember correctly, with many saying that it could cost as little as a few thousand.
Honestly, to create a car rental service just like Hertz will cost a lot more than $150k. Thinking it will only cost a few thousand is insane. Sure you can say you will outsource it for a few thousand, but I can guarantee you what will come back won’t be what you expect. The price has to be reasonable. If it only cost a few thousand to successfully build this system, than all software, and I mean ALL software, would be outsourced. This isn’t the case. I have no doubt it cost Hertz a lot more.
It’s simple to over simplify how much effort is required to build a software application. So much so that the original poster chimes back in with:
There is just no way this would bet done under $10,000. As I said, the site is about 30 percent of what it needs to do. 5,000 lines of code, couple hundred manhours. The manhours are high as we constantly were changing things. But things are a bit more static now and it would be easier to write a detailed spec for he the remaining requirements.
Some additional “Major” components:
Security/Logins. Certain Admin people will be able to do everything. Lower levels will have limited capabilities.
Audit trails for all changes by personnel. If someone changes a record or changes a reservation it needs to be logged.
RealTime Inventory Management. If inventory is low at certain times then site needs to prevent reservations from taking place. Also ensure inventory was the right stuff when it is returned.
Again, think rental car website. I was thinking more along the lines of $50K to $150K.
Just reading these specs I can very quickly see this site greatly increasing in complexity and scope as the details are filled in. Never mind that the scale of users or data hasn’t even been taken into consideration. In any case, I personally don’t believe that this is possible for $150k, it way too optimistic. The vast majority of the posters are thinking of the simplest solution, but I can already see from this slightly “enhanced” description that it’s not going to be the simplest solution. The requirements are only going to grow, and grow fast they will, otherwise known as scope creep in the software industry.
But alas not everyone agrees. Further down someone comments:
I dunno ’bout 100K. My devs do quite a bit of these sites in the $20K to $50K range … but we don’t have a tight enough spec yet do we? Could (maybe) hit the 6 figures once the full spec is known. The folks suggesting a couple of grand, though, they’re smokin’ crack.
Even though this person agrees that building it for a few thousand is too cheap, he still suggests a price that’s way too low. I have no doubt it cost Hertz much much more. I agree that a simple car rental system could be built for around $100k, but that’s a SIMPLE AND MINIMALISTIC car rental system and NOT a replication of a full blown car system as is suggested. Audit trails, realtime inventory management linked to reservation system, reservation system, scheduling, etc. And these are just listed as “SOME” additional “MAJOR” components. This is not a simplistic system. It will grow in scale very quickly. Just look at some of the questions and issues that came up when we decided to add “simple” email to LandlordMax. And that’s just simple email!
So what’s going to happen. The person will eventually settle on someone who says they can build it for around what they think is reasonable. The delivered system either will not work at all, it will be severely delayed, or it will be severeled scaled back in terms of features and modules. Not only that, but assuming something is delivered, I doubt that it could scale up in terms of traffic load. At least not at that price, scalability takes skill and experience, not to mention effort.
And I haven’t even talked about bug fixing! What do you think happens when a software project can’t possibly be delivered within it’s deadline? Depending on how ethical your company, they might just deliver it in an unstable state where “fixes” will be added to the cost of the project after delivery. For example some software consulting firms are know to do this, deliver a project “on time” only to have the “support” costs be higher than the initial project costs. This way they can be the lowest bidder but yet still charge the real cost of implementing the software. And don’t think it doesn’t happen, it’s much more prevalent than you might think.
Software takes time and effort to build. It’s not that simple yet people continue to grossly underestimate the cost of development and wonder why things it’s late, why it’s buggy, why it just doesn’t work. The answer is simple, extremely simple, many many software projects grossly underestimate the amount of effort required. Although many people want to believe it’s more complex than that, it’s really just as plain and simple as that.