The « SQALE » Models for assessing the Quality of Software Source Code

The need to assess and know the quality of the software one has required or payed for is not new. When an application is accepted, in addition to functional and performance testing , it should be possible to obtain easily and precisely other quality attributes of the expected deliverable. For example, it should be possible to know how the code will accept future evolutions (which are bound to come), or whether it will be easily possible to outsource its maintenance to a third party team. Although some large customers have developed their own methods, or even their own tools to satisfy such assessment needs, regularly assessing the delivered software has not been generalized. This situation is partly the result of a lack of an accepted standardized method allowing systematic assessments to be performed within reduced schedules and costs. This absence of methods to assess software is also felt by software development managers. They lack standard and simple means to assess the quality of developed software in order to be able to monitor and control their projects within the three major axes that are quality, cost and schedule. A software development organization's maturity level and the capabilities of its processes may be assessed and measured on a scale as provided by a standard model such as CMMI. However, as far as the software product resulting from these processes is concerned , there is no complete and calibrated system to assess and rate its quality.