Monday, October 21, 2013

Understanding of Improvements in Software Testing Process

Maturity is as important for software development as it is for people. When we are immature we can easily find ourselves in a situation where we lose control and are unable to solve the problems - problems we might even have created ourselves.

The demands on the software testing & development industry are growing as pervasive software thunders ahead. More and more products include software, and both embedded software and pure software products are becoming more and more complex. The potential number of faults in the software is hence increasing and so is the cost of finding and removing them through specialized software testing effort - not least keeping in mind that the cost of fault correction increases by a factor 10 for each phase the faults “survive” in the work products.

The solution to the growing demands is more professional development with focus on the entire product and hence the entire development process. The development needs to be able to stay in control, foresee problems, and prevent them or mitigate them in a mature way. Software development needs to grow up, improve, and thereby become a mature industry - and so does the software testing.

Process improvement is based on the understanding that software development is a process and that processes can be managed, measured, and continuously improved.

An important assumption is that the quality of the software produced using a specific process is closely related to the quality of the process. This does not mean that it is impossible to produce excellent software using a useless procedure - or indeed the other way around - but the probability of producing good software rises significantly with the quality of the process.

The urge for improvement can come from many places both outside and inside the organization, and both from below and above.

#Customers or suppliers may push or even demand proof of maturity and ongoing process improvement directly. More indirectly they may express requirements in terms of quality criteria and time-to-market, whose fulfillment requires a certain maturity in the software testing and development organization.

#within the organization the Software Testing managers are pressed to obey constraints and to provide growth in the organization.

#Finally employees may well be fed up with constant firefighting and impossible deadlines requiring them to work overtime and cut corners.

No comments: