Software development project estimation
One morning a colleague of mine, who has his own startup, told me about his experience getting estimations from software development companies. While his specification remained the same the estimation for the development varied dramatically. He called me to ask for the explanation, as the only important factor, which could have impacted his estimation seemed to be the hourly rate of the company. The question seemed to both of us really interesting and we decided that we will document our conversation and publish it in order to share our experience with other customers who might have the same questions.
For sure the higher the hourly rate of the company the higher would be the bill for the estimated hours. But, you should always take into the account how many hours are estimated for one or another task. The level of the developer who will proceed with your project will impact as well the amount of hours included into the estimation. One can do a task in 2-3 hours another one will spend on the same task one or 2 days.
The estimation might vary because of the technological stack of the company. I have personally talked to many companies where the philosophy of the company tells you NOT to say “NO”. If the project is not under the capacity of this company they will transfer the project to another company, we call it “when an outsourcing company is outsourcing project themselves”. Sometimes they make the client aware that they will make an introduction to another company who will deliver, sometimes they agree with the subcontractor that all the activities would be under so-called “white label activity” and the subcontractor would act as their employee.
If you feel like something what I just have described is going on, I would highly recommend staying away from all those activities, because, in many cases they end up with poor delivery, broken deadlines and bad emotions for both sides. The main minus here when it comes to the estimation, is the percentage, which the initial company would take for the introduction or for being a representative company for the “white label employee”.If you feel like an outsourcing company is going to outsource your project to a third party contractor, better do not accept to proceed.
AVAILABILITY OF DEVELOPERS
When you try to book a flight, the more tickets there are available at the moment the lower price would be. At most software development agencies the logic remains the same. When the company is fully loaded the estimations are usually higher. When some developers are about to finish their projects or finished already, they are about to be on a so-called “bunch”, what means that soon the company would pay their salaries from own expanses and not from the funds received from the client. In this case most of the companies would accept the lowest price and would be interested to start as soon as possible.
When it comes to estimation, in most cases the initial requirements received from the customers are not detailed, and outline mostly a general idea with some explanation of the functionality. When it comes to the development, different pieces of the functionality could be developed in few different ways and each option would include its pros and cons. Some of the companies get just the general idea and provide you with approximate price and calendar timeline not going too much into the details and not to lose their time, as first estimation is done for free. After a general estimation if you are ready to go, usually they will have a call for more details with you and in 99% the initial estimation would raise. Also, if the price seems too low from the general one on the market, and the estimation includes everything, check the documentation, as it can be fraud, when you will send the prepayment in advance and discover there is nothing done in the end.So, try to pay attention to the communication, to the amount of questions you are asked, to the documents you will sign with the company. Check point by point the estimation and make sure it contains all the functionality you need. And even if going with a time and material option, try to document in the contract the general timeline for the delivery of the most important features.
As you could have noticed it is the first part, check our blog as soon we will publish part number two which will cover such important aspects as calendar timeline, source code “tricks”, security and maintenance. We will try to explain in very details how all these points can impact estimation of the project.