Wednesday, October 17, 2012

Testing and Development: sustainable economic model

Test processes increase total cost of projects

This sentence could be the started point for a long discussion about truth and false that have to be analysed in detail.
  • Development teams should test every version, if we have a independent testing team for version verification, then we have increased total cost.
This affirmation is true and there is no much to add, the key concept that we have to realise is that this cost should be budgeted from the early beginning and also it should be in our project plan. Another point is that testing cost should be something less than 15% of development cost.
  •  Where is the advantage of testing? Do they improve software? Which is ROI of every euro spent in testing?
There are specific economic models to show the value of testing, and how 1 Euro spent on testing will save several in maintenance, operation, codification... it depends on when you invest on testing, as early you start as much money you will save
  • As there is a testing team, developers are lazy testing their own work
  • ... 


The main goal in the last months in my job has been to define a sustainable economic model  that allow business to have the benefits of testing with a predictable cost.

The model is sustainable with the following concepts:

  • For every software version we will know development cost and testing cost.
  • For every delivery of the same version we will have two metrics, derived from testing:
    • Number of corrections until the software has been deployed in test environment.
    • % of requirements passed as ok after testing is finished
  • Two indicators and two slas are associated to these metrics:
    • Number of corrections have to be less than X (for example three)
    • Fulfillment of requirements have to be greater than Y (for example 75%)
With this, it is possible starting a new version and the development team will estimated the cost (ie 100.000,00 €) and the testing team also (15% - 15.000,00 €). Then, when the first delivery arrives:
  • If both indicator are better than expected by the sla --> total version cost will be 115.000,00 € and the first version is a good candidate to be  promoted in a production environment (it will depend, but could be)
  • If any indicator is worse than expected --> a new release will be delivered, test cost will increase, but development team will be penalized --> (100.000,00 - 10.000) [Developement] + (15.000,00 + 5.000,00) [Testing] = 110.000 €
With this model, as many release are needed less development cost  and more testing cost, the total cost should be constant for final business.