How to estimate software development costs
Iryna Kravchenko Iryna KravchenkoChief Editor
Technology·

Software cost estimate – How to estimate a software project easily?

A recently completed project inspired me to write this article. As in any other project, there were mistakes (including when assessing the software cost estimate), as well as problems, interesting solutions, and, in spite of everything, the fighting spirit of the team made it possible to finish the project on time and get a long-awaited vacation. All this is worth a separate article. But the main thing is that we gained an invaluable experience on the basis of which this article was created. 

Very often we make mistakes when it comes to the costs of developing software. It seems like it happens because of the little things that appear during the development of the project, but in fact, we could have discovered and taken them into account in advance. 

The article contains simple and, at the same time, useful recommendations as well as a method for calculating software costs. This will come in handy to a project manager, architect, system analyst, IT solution seller, and everyone else involved in estimating software development cost of fixed format. 

We will only focus on how to calculate software development cost, estimating the duration is a completely different story. 

I am going to describe my personal experience of how to estimate the cost of a software project, and, of course, you can have other situations and your own methods. 

Factors affecting software costs

The vast majority of projects on the market are projects completed based on a fixed price cooperation (when the budget and terms are planned in advance, at the stage of sealing the deal). When evaluating a project, the team, besides standard risks and problems, must take into account the “modern and effective” approach of customers who want to combine: 

What is software cost?

Pinch and spread for zoom
What is software cost?

But, despite the misunderstanding of what and how should be implemented, clients mercilessly “cut” the tasks of the project plan (in order to reduce the cost), including the functions that the team will still have to perform.

The positive and negative impact of various factors on the cost

In case of unsuccessful project management (if the team follows the client’s lead), the team easily passes the deadlines and budget, because the contract is signed and the budget is agreed upon, thus they just work at a loss. 

It is clear that the client is the only one to blame. The matter is that the estimated software project cost is often figured out without sufficient analysis of requirements, tasks are insufficiently and incorrectly scheduled, and very often, only programming is included in the estimate, while testing and management don’t get proper attention.  

When signing a contract, the sellers meet the client halfway by lowering the price and the team, represented by the project manager, doesn’t defend its position firmly enough. At the same time, all participants are focused on the result – each participant sees/foresees the problem and informs the manager.

There is also another factor – the variety of projects, systems and technologies, and the lack of qualified specialists. This means that when planning a project, the architect or project manager may not take into account that they can get a specialist on the team who has not previously performed such tasks or somebody with insufficient qualifications. Surely, in this case, the performance will be lower than expected.

How to calculate software project cost so the estimated work is accurate enough?

First, look at the problems and try to find a solution. 

The client wants to know the exact figures for the cost and deadline of the project before signing the contract. 

Solution: 

The client wants to see a more or less detailed list of works so that when agreeing on the cost of the project, he/she cuts in the most inappropriate things. 

Solution: 

In the workflow plan, it is important to highlight all tasks, not just the “visible” ones. For instance, there are user requirements for viewing certain data. The team identified what tasks needed to be completed and estimated the total amount of work at 56 hours, breaking them down as follows: 

But as the matter of fact, these tasks have basic functionality – creating tables in the database, storing procedures or views for selection, creating business objects, connecting them to the security module, connecting to the logging module, configuration, and so on. 

What happens if the customer says: no, it’s taking too long. Let’s reduce and remove the grouping and sorting tasks (minus 32 hours). At the same time, the seller, who is discussing the work on the project, has nothing to say. On the other hand, the entire volume cannot be reached in 24 hours. 

How to calculate software costs in such a situation? I recommend highlighting the basic functionality. In this case, this “Fetch data from the database” task takes, say, 28 hours, and the other tasks take 4 hours. 

This will allow the seller to behave more correctly. By removing unnecessary features, there will still be sufficient development time. 

A detailed analysis of the requirements, the composition of a technical task, and a more or less clear area of work on the project occur after the signing of the contract.

Solution: 

Almost until the middle of the project, the customer does not know what he/she wants (not to mention the stage of collecting requirements). 

Solution: 

Demonstrations should be carried out not only for business clients but also for employees of other customer departments potentially involved in the project (system administrators, key users, security service, etc.) 

This will allow receiving comments in the early stages, discuss problems, and allow the user to get used to the interface and functionality. 

The client wants the team to be flexible about his/her wishes (changes, additions) and implement them within the project, and not within the framework of subsequent improvements. At the same time, the client absolutely doesn’t want to hear anything about the changes in the budget.

Solution: 

The client wants to see a lot of documentation on the system. 

Solution: we include the cost of creating documentation in the software development cost calculator. 

If the project team is formed anew, there is a risk that the qualifications of one or another specialist may be lower than expected. 

Solution: when calculating how much does it cost to have software developed, planning tasks, and time for their implementation, it is necessary to focus on specialists at a level lower than expected to be involved in the project 

IT technologies and tasks are becoming more and more complex, which makes it more difficult to identify the pitfalls of the selected technologies at the early project stages.

Solution: 

How to estimate software: Best practices

IT technologies and tasks are becoming more complex. Identifying the pitfalls of selected technologies is not an easy task. How to estimate software cost, where to start? In short: 

Product lifecycle and expenses

Pinch and spread for zoom
Product lifecycle and expenses

Costs of developing software – Useful tips

To correctly estimate software costs, follow these rules: 

Don`t forget to consider the following tasks: 

How to estimate a software project example

At Diceus, we prefer employing well-tried-and-tested approaches – Work (or Project) Breakdown Structure (WBS) for dividing projects into milestones and elements and Critical Path Analysis (CPA) for sequencing tasks and activities. The convenience and efficiency of these approaches lies in breaking a big picture of the project down into smaller parts and components. Thus, you get to cover the whole project scope detail by detail, step by step, without missing any little things. 

A CPA planning is based on WBS, meaning that the known project scope (terms, team composition, budget, etc.) must first be broken down into tasks, each with the respective number of hours required for completion. Everything should stay sorted. 

Software cost factors

Pinch and spread for zoom
Software cost factors

Steps to take to estimate software project cost

First, use Work Breakdown structuring to put everything into shape: 

Critical Path Analysis should take place based on the sorted out tasks. Basically, you need to go through each task and work hours attached to it and build the most critical sequence (the longest path of completion.  

Based on that, you can make adjustments – prioritize some tasks over others, move some activities in front of others, and see where possible downtime would bring least harm. With such planning in hand, you’ll easily calculate the most realistic deadlines and project frames, including the earliest and latest, most optimal dates of project start and finish, healthy downtime, and deadlines.

Example of calculating the costs of developing software

Here’s how we do things when it comes to in-house handling of projects by DICEUS. Suppose, we need to create a new software feature that requires two specialists – Developer and QA Expert – to handle full-on frontend-backend development of an asset. Each specialist has the underlying stages to complete, including development, testing, deployment, review, etc. 

We take our two specialists, assign the basic tasks to them, and define how many hours each would take to complete: 

Developer tasksHoursQA Expert tasksHours 
Tech task breakdown 0,5 hrs Specification review 1 hrs 
Frontend 12 hrs Test cases preparation 1 hrs 
Backend 6 hrs Test cases execution 6 hrs 
Unit & integration testing 2 hrs –   
Code review 0,5 hrs –   
Code deployment 1 hrs –   
Total 22,5 hrs Total 8 hrs 

All in all, we can see that the whole scope of work involving these two specialists would take approximately 30,5 hours. Always count the longest outcome possible to have back-up hours for unexpected situations. With this number of hours in hand, you can now easily calculate the cost of implementing an asset based on the rates you offer. 

If you need to analyze a much more complex and multi-sided project with many features to be implemented, use the same scheme for every separate feature and activity. 

How much does custom software cost in DICEUS?

Here you got an absolutely honest algorithm for calculating the costs of developing software. As you can see, we are not hiding anything and are not trying to make money where our competitors see the main source of income. 

At DICEUS, everything is 100 percent honest and transparent. If you want to know how much does it cost to have software developed – write to chat, email or call us. Our manager is always ready to answer all questions and offer the most profitable solutions to any problems. 

Software solutions bringing business values

gartner
5/5
3 reviews
clutch
4.9/5
47 reviews

    Contact us

    100% data privacy guarantee

    Thank you!
    Your request has been sent
    We will get back to you as soon as possible

    USA (Headquarters)

    +16469803276 2810 N Church St, Ste 94987, Wilmington, Delaware 19802-4447

    Denmark

    +4531562900 Copenhagen, 2900 Hellerup, Tuborg Havnepark 7

    Poland

    +48789743438 ul. Księcia Witolda, nr 49, lok. 15,
    50-202 Wrocław

    Lithuania

    +4366475535405 Vilnius, LT-09308,
    Konstitucijos ave.7
    6th floor

    Faroe Islands

    +298201515 Smærugøta 9A, FO-100 Tórshavn,
    Faroe Islands

    Austria

    +4366475535405 Donau-City-Straße 11 - Ares Tower, 1220 Wien

    UAE

    +4366475535405 Emarat Atrium, 423 Al Wasl Area, Dubai, P.O. Box 112344

    Ukraine

    +4366475535405 Vatslava Havela Boulevard, 4,
    Kyiv