Why Estimating Software Development Is Complicated?

Alex Pletnov

Estimates

Supermarkets have fixed prices for everything they have in stock. Banks have fixed commissions. Service providers like barbershops or gyms also offer a price that you know beforehand. And that works perfectly fine.

When you start a software project, you would also expect to know its price in advance. You would want to compare the prices of different vendors and to know which budget you need to cover. So, you go to a software vendor and ask something like "How much would it cost to build a website?".

No Simple Answer

If the vendor is honest with you and respects your business, you will not get an answer immediately. There's a good reason for that: websites may be quite different, and the word "website" does not tell much about the things you have on your mind. Sadly, a note that "it's an e-shop" will not help much here.

NB! If at this point, you get a simple answer about the price, you definitely want to think twice before partnering up with this vendor.

At Keenethics, for the time being, we have never had two identical projects. Obviously, most of them have had something in common. For example, you would need a login feature for most web-applications. But even login flow might have quite a lot of differences. Do you need social login? If so, which social networks should be supported? Do you need password recovery? Do you need registration?

Comprehensive but Complicated Approach

A conscientious software vendor would try to figure out all your requirements. Here, you will have to answer multiple questions starting with the overall business idea and finishing with minor login details. The UX-expert might try to prepare mockups of the final product, which you will be expected to critique. All the information will be documented, detailed, and decomposed into actual tasks. Only after that, the software engineers will estimate the time needed to complete each objective. Based on this estimation, the actual price will be calculated.

Obviously, this takes quite some time. For larger projects, it might take months to finalize and document all the requirements, which increases the end price of the project.

Nevertheless, in most cases, following this approach still will not give you a 100% accurate estimate. As a rule, the estimation process is conducted with the help of previous experience and intuition, which still leave some room for deviations. Deviations produce risks. And risks also make their way into the final price.

"Time and Material" Approach

An easy and flexible alternative is "time and material" approach, which, however, requires trustworthy relationships. This way, only rough estimates are provided but the development process starts much faster, the customer has high flexibility to change requirements on the go, and the end price should be lower.

How Do We Do It?

Here at KeenEthics, we respect the opinion of our partners. Therefore, if one feels good about rough estimations and flexible development process, we are eager to implement the “time and material” approach. Meanwhile, if the partner has detailed requests and wants to see prototypes first, we agree on taking a longer path and conducting comprehensive documentation and estimation. What we do not do, however, is telling the customer a random price to engage them into collaboration with us, which would later on have a negative impact on the product quality and on our relationships with the client. We value the needs and interests of the business that trusts us with their idea, and we hold responsibility for our estimations and project plans.

< Previous
Next >