Latest Article

Counting the cost

Imagine this, a small software development company is developing a system for a client.  The manager decides to save money and not hire external software testers but to get the developers to do the testing themselves.  Fair enough?

My initial thought would be that the manager has just thrown away a good chunk of his budget.  However, the manager believes he has just saved a chunk of his budget.  Where does this difference of opinion lie?

It all comes down to quality and how you value quality.  There are a number of benefits to increased quality within the domain of software engineering.  

Firstly, there is the reduction in the maintenance costs, better quality code leads to less need for fixes and better quality code is also easier to fix if it really does have a bug.

Secondly, higher quality increases the life expectancy of the software.  Better software last longer.

Thirdly, a better software product leads to a better impression of your company.  This is easier to see in reverse, poor quality software gives the customer a bad impression of your company.

[Above are the main benefits for software that doesn't need to comply with any regulations.  For such software there are the extra incentives of regulation to contend with.  For example within banking, if you miscalculate the charges to a customer you could land yourself with a massive fine...]

All of the above benefits make your company spend less - less on maintenance, less on development, less on marketing.

But does this justify the extra cost of testing?  

In the example above, the testing was to be carried out in-house by developers.  These developers may cost about €400 per day and they aren't even trained testers so their ability to do a testers job is somewhat limited.  An experienced software tester may cost up to €300 per day max, straight away a saving of €100 per day.  

So by hiring a tester not only would the manager be increasing the productivity of his developers but he's also increasing the quality of the product ensuring that the future maintenance costs go down, future development costs go down and marketing costs go down.