How can the cost of development be estimated?

How can the cost of development be estimated?

September 10, 2011

Modern companies use software to implement tasks and increase working and production efficiency. As a rule, companies select a contractor via the process of procurement, where the key requirement is an exact quote for the full cost of a given project. Issues relating to estimation methods and budget formation are important when holding a tender for a project. In practice, these estimates are often approximate and superficial.

Writing a software requirements specification

Conducting cost estimation and drawing up a detailed bar chart (or Gantt chart) for development work is necessary, not only for the client, but also for the contractor. This helps to identify the terms and conditions of the project, the stages of development and the required team and labour expenditure. EDISON Software Development Centre uses the following procedure to estimate the cost of custom software:

01 Requirements specification First of all, we need a professionally-written requirements specification. If one does not exist – we can offer to create one.
02 Technical requirements elaboration The technical requirements elaboration stage must be fully agreed upon, approved and paid for.
03 Can take a long time It is important to bear in mind that the assessment process can take a long time and that this term depends on the complexity of the project.
04 Uncertainty coefficient and the specification We receive requirements specifications of all types; from exact and clear to vague and incomplete. For this reason, when providing a quote, we take into account the so-called “uncertainty coefficient”. If the specification is very detailed, the coefficient will be around 1.0 to 1.5. If there is only a draft of a specification with a basic description of the desired functionality, the coefficient may be as high as 2.0, 3.0 or even more. This means that actual labour expenditure may be 2 or 3 times higher than originally estimated, due to the complexity of the given task or the vagueness of the initial specifications.
05 Uncertainty coefficient depends on three factors The figure for the uncertainty coefficient usually depends on three factors: the clarity and detail of the requirements specification, the scale of the task at hand, the personal experience of the specialist providing the quote. We would like to stress that the subjective opinion of the specialist providing the quote always plays a pivotal role in deciding what the uncertainty coefficient should be in each case.
06 An estimate of project costs and implementation time When an approximate requirements specification is received, EDISON will provide an estimate of project costs and implementation time. This quote will contain approximate figures that may change to a greater or lesser degree when the final technical assignment is elaborated in detail. We always strive to provide precise and realistic quotes, but 100% accuracy cannot be guaranteed at this initial stage as projects evolve with time according to the client's wishes and requirements.
07 Stages The project is divided into several stages.
08 The cost is estimated by three architects working independently As a rule, the cost is estimated by three architects working independently of one another. Then we combine the quotes to gain an average estimate and a manager approves the project. This helps us reach an adequate figure based on the client's needs.
09 Splitting stages into logical parts Our quotes are highly-detailed: we split each stage into logical parts and separately estimate each of them by breaking it up into its constituent elements.
10 Developer and clock Depending on the scope of the project, the quote for one element is shown in hours, days or weeks worked by one developer with adequate qualifications.
11 The time estimate for one element should not be too high The time estimate for any one given element should not be too high as this will lead to guessing and approximation. A high estimate signifies the need to break up the element into smaller constituent parts.
12 Define the team Once terms and deadlines have been set, we define the membership and qualifications of the development team required. The typical team includes: a project manager, developers, testers and technical writers. If necessary, we can add other specialists, such as: an art-director, designer, artist, copywriter, systems administrator, corrector, etc.
13 The overall time decreasing We take into account the client's wishes when setting a date for the final completion of a project. If the project involves three or more developers instead of just one, this will decrease the overall time needed to complete it.
14 Optimisation Once the network diagram is ready, the project manager optimises it to ensure labour time and resources are used in the most efficient way possible. However, we still recommend clients provide an additional time allowance just in case.
15 Gantt chart The final quote is presented in the form of a Gantt chart.

Once the final quote is ready, it can either be supplemented with new additional elements or some stages or unnecessary requirements can be removed to reduce the budget or speed up the term of completion. After the EDISON quote has been accepted, it's time to draft a contract and get down to work.