In the tech landscape, startups are created everyday, shaping the dreams of entrepreneurs around the world aiming to solve some particular problem, ease certain pain suffered by an industry, or bringing a product to the market that implements a new revolutionary twist.
And yet, most of them still underestimate the development of their projects and treat them as a time-fixed and budget-fixed project plan. They come to the agency or freelancer desk and ask for quotation, bringing their set of requirements and features in a nice PDF or (ugh!) Microsoft Word.
Product vs. Service
We must differentiate between your product and its development process. If you know you will be constantly making changes, fixing bugs, adding or removing features and components, adapting your requirements according to your customers feedback, and constantly learning your way to your business model, why do you keep outsourcing your work based on price and predicted deadlines?
Technology is evolving constantly, and so will be your market and business needs. If you try to predict your requirements beforehand just to force your agency or local developer to stick to a bunch of priced-tasks to be completed or a list of to-dos, you are doing it wrong. You are losing your ability to pivot your business model, you are adding a lot of constrains that will suffocate the creativity of your development partners and you are opening the doors to a poor performance from the same partners, as the only goal for them will be to complete the job in time with the minimum resources and effort.
How much does building this idea cost? Can we have an estimation of when will it be delivered or ready to hit the market? Can we build this particular feature using something cheaper to lower the price? Why don't you use Wordpress instead of Django to lower the price?
A lot of questions arise while trying to produce a proposal, along with a budget. Sometimes those questions come from the ignorance of the customers, and the provider must waste their time over and over to explain technical decisions (try to explain why Wordpress is not a miracle tool for everything). But, the truth is, even the provider cannot do an accurate estimation of price and time. Saying "it depends" to your customer is probably a terrible way to get your customer be confident on your company and your ability to perform the job. Thus, many developers or project managers in charge of writing proposals do also terrible jobs while trying to give numbers that suit to the customers.
Big players in the IT services and business consultancy know their way to get customers in the umbrella of company reputation and giving you the impression that you are buying quality and a ticket to free you mind from headaches related to your project development. They have the strenght backed by the huge amount of low-cost programmers.
Of course, if you are in charge of some department in a big company and all you need is somebody to blame when things go wrong, big IT players are your cup of tea. Eventually, if something terrible happens, they will fire someone, put someone else in charge, and that's it. They won't get damaged by your negative comments to your business colleagues, and you won't get damaged because it's their fault in front of your boss.
But startups are another kind of companies, we all know it (in fact they cannot be considered even companies yet). If you think those huge consultancy predators will listen carefully to your suggestions and, in the end, deliver good results... You have been fooled. Innovation is something those guys hate, because it commonly means investing time and resources to research, learning new technologies. They want to keep buying the same old technology, and squeeze the lemon until the last drop.
At the time the two parts agree on a predefined set of points to accomplish, the death sentence is been signed for a startup. Among other things, what happens if, in the middle of the project development, you discover that your assumptions on your customer needs were not right? What if you want to give your product a 180 degree turnaround and try another approach? You can't. You commited to something you cannot change.
Pivoting your startup is a must, once you have identified you are not going in the right direction. At this point, your requirements change, your deadlines change, your priorities change. You need to be flexible enough with your project plan and adapt it constantly.
Time for a change
We don't believe in fixed-budget projects. We don't want to over-price our customers (nor under-price, of course) and we don't want them to lose the ability to access to customer development, figure out their best business model, and try new things along the way. We don't want them to fail. It is time for a switch in the industry, in order to create smarter companies and help growing lean startups and successful businesses. We hope that, in years to come, more developers and web development agencies realize that it is not healthy to treat IT development as a product. It is a service, performed by us, the professionals, moving along with our customers to one common direction.