1
How to Make Performance Testing More Efficient
2
Flexible Data Model Design
3
How to grow your project without failing at architecture, scalability and system integration
4
Fast creation of performance tests based on SoapUI project
5
How to Improve Performance of AWS Java Cloud App? Try ElastiCache
6
How You Can Use Cassandra in the Big Data World
7
Harnessing the chaos in software project management
8
Working in a Virtual Team
9
Database: How To Make a Bad Thing Work Well
10
Smart Version Control for Project Managers and Decision Makers

Managing the software development budget

Truthful statistics of cost overruns

There is no secret that the cost overruns go closely with each software development project in the world. The average overrun amounts 40 – 50%. And 70 – 80 % of projects in the industry finish with overrun against the initial estimation.

The IT market is not only that is full of overruns. Big complex projects such as military and construction ones often get their budget over.

F-22 Raptor with the project cost overrun

F-22 Raptor with the project over budget

F-22 Raptor aircraft got over budget (initial $115M against effective $411M per a unit)

Why the software development budget goes over

Scope

The reasons of overruns are bound with all the areas of the project development. The reasons may be linked with bad practices of project management and their cumulative impacts. There is a complex mechanics under the hood of a project. So, what are the reasons of overruns?

The bigger the project the more probable the risk of over budget is. The scope may be changed by the project customer or the product manager for reaction to the market needs or investors plans.

Some projects have not very distinct business aim and mission. It’s dangerous because it usually leads to many changes in solutions and the features planned. Changes and additions on the fly lead the situation when some part of work has to be thrown away. Because the new requirements may contradict the initial ones. It’s extra money.

The target should be fixed as much as possible because the pointing to a moving target is much harder and more expensive.

The moving target is harder to reach

The moving target is harder to reach

The other vital thing is priorities within the scope. Customers usually say that all the works within the scope are very important and they are right. However not each customer shows the priorities based on the project mission or business goals. As a result the tasks are developed by random along with the budget.

The important way to get a more accurate scope is the analytics phase before the development.

Schedule

Time is the third category defines the Project management triangle of balancing between Scope, Budget and Time. The meaning of this diagram is simple. If one of the three is important, other two have to be abated. Or if two of the three are important, the remaining one should be sacrificed. Actually there is no ability to improve positions of all the parts of the triangle at once.

Over night work is expensive.

The overnight work on a project and ‘firefighting’ are expensive

 

The tight schedule produces an over budget because of overtime work, that is not so productive, lack of time for planning and control, too many parallel flows to conduct etc.

Estimation

The estimation is the very thing a customer takes into account when he decides to start a new project. The estimations in the IT development market are usually not reliable. Why?

  • The estimation is based mostly on the skills of the particular expert(s) participated into estimation. Each expert has his/her set of examples in his/her own practice to give an estimate.
  • The estimate has a risky nature: the more is the necessary reliability of the estimation the more the estimate is.
  • Moreover, there are a lot of developers and even IT companies showing optimistic estimations to get the projects. As a result, you know what the statistics of the projects with the cost overruns is.
Project estimation is not always reliable.

Estimation is not always reliable

The right approach for the estimation is pointing the estimate values along with a description of:

  • assumptions that make the estimation valid;
  • pessimistic estimations with the risks described.

The important way to get a more accurate estimation is the analytics phase before the development.

Costs control

Each project lives and breathes and needs to be controlled in terms of the initially planned budget and the forecasted one. In case of the hourly based contract, it can lead to the moving of the featured with less priority to the future versions of the product to keep the budget.

Quality

Software quality is being used as a fourth part balancing with Scope, Time and Budget. However, quality can be considered as a part of Scope.

A frequent example is the load for a new web-application. The loadability can be not sufficient if it was not arranged with the performer initially.

Quality is a measure of the consistency between  requirements and results

Quality is a measure of the consistency between requirements and results

FreeImages.com/kliverap

There are a lot of methods that should be used for the quality assurance. These methods require works of the relevant experts and should be planned initially.

People

The main resources within the software development is human resources: developers, QA engineers, analysts etc. Their conditions define the result.

People is the main force of an IT project

People is the main force of an IT project

FreeImages.com/B S K

The work made by low level specialists with low rates is often far more expensive than the work by high level specialists with high skills, since a low level specialist needs more detailed code review and bigger bugfixing. This difference is obvious in case of complex tasks.

The people may get demotivated due to some reasons on the project. It leads to lower productivity. As a result, the same scope may cost more.

A customer can have a really big profit from small investments in team-building.

From the other side, good companies conduct rich stuff policy to provide their employees with the systems of motivations.

Work with people is connected with psychology and sociology and this topic can’t be described in the bounds of this post.

Communication

The loads of communication cost much because this time is billed. The lack of communications costs even more, because each team mate of the project should be on the same page with others.

That’s why the important instruments is a set of communicative rules and sufficient documentation, that eliminates the extra communications.

Risks

During each phase of a software project development, harmful incidents may occur. It can be unexpected problems with 3rd party systems or changing of a budget by stakeholders. If a project member can point the risk early, it can be much more safely for the project budget.

The risks should be found as soon as possible, they should be roughly estimated in terms of probability and costs. Important risks should be mitigated. The risks list should be periodically updated.

Purchases

Some projects need additional acquire products, services needed from outside.

It should be planned and controlled as well.

Stakeholders

There are projects without a described picture of the organizations and persons, who participate the project. Opinion and decisions of each stakeholder can lead to the budget change.

The work with the stakeholders should be based on the principles of engagement in project decisions and execution.

Workflow

An inappropriate methodology of the project management may completely ruin any IT project. Work progress of several people may become chaotic without the organizing power from outside.There are a lot of negative consequences of this, e.g. conflicts, duplication of work, delays in the production of any artifact, reworking and over budget, indeed.

The reliable workflow describes the flow of the distribution of responsibility. In this case each colleague knows who should do, what should be done, when it should be done.

Good project workflow minimize the cost

Good project workflow is similar to the car traffic that is regulated very well

FreeImages.com/ephe drin

There are a number of methodologies of the project development from the ‘Waterfall’ to the Extreme Programming. One of the most important characteristics of the up-to-date methodologies is iterativity. It allows to have a working products after the end of each iteration. The end of each iteration can be used as a checkpoint for controlling of the budget and planning of it for the future.

How to get the project done in the bounds of the budget?

I would like to suggest that you use the following checklist to mitigate the risk of cost overruns.

As a project customer, I need to check, whether

  1. I have the mission and the business goals written and shared with the performer;
  2. I know the priorities between the scope, the schedule, the quality and the budget of the project.
  3. The performer shows me estimates with assumptions and risks.
  4. The costs are controlled regularly with the objective instruments.
  5. The parameters of quality are set up.
  6. The schedule is realistic and prudent.
  7. The company-performer cherishes the people who are working within it. The team mates are motivated and committed to the project. The distribution of tasks relates with the skills of each teammate.
  8. Amount  of communications are optimal. The documentation answers a majority of questions, keeping time of the project team.
  9. There are the up-to-date risks list and the mechanisms to actualize it periodically. The most important risks are mitigated.
  10. There is a plan of purchases for the project.
  11. All the stakeholders are known and included into a process of making decisions. Opinion of each stakeholder has been taken into account.
  12. Workflow is iterative, resultative, transparent. It provides the new working version of the product after each iteration.

Be sure now, that your project is in budget ;).

About the author

Maxim Drozdov