Monday, September 17, 2007

The Need for Quality Assurance Software Testing

There are two major industry trends adding to the pressure. The first is accelerated release cycles. As Business Week put it, "A year's worth of change happens in a couple of months-a pace known as 'Internet Time.' .And that's the problem. The whole industry is operating on Internet Time...". Second, while releases are more frequent and cycles shorter, the cost of failure has increased dramatically. Just a few years ago, when client server products were at the cutting edge, releases were, perhaps, annual and the expected number of users was known well in advance, because all the users were employees. An organization could mitigate a system failure with a manual backup; for example, orders could be taken by hand while the system was down.
But as huge portions of the business were overhauled, and these systems addressed larger user populations, releases became more frequent, and system failures commonly meant that no orders could be taken at all. Today with E-commerce applications, releases can occur two or three times per month. Now, the user base is a large but unknown number of customers, not employees. System failures are highly visible and can cause customers to run to the competition.
These trends have several serious implications for project managers. The high cost of failure means that deploying untested software is simply not an option. Additionally, every aspect of quality needs validation, not just one or two. Accelerated release cycles drive the need for automated testing in which tests are easy to create, maintain and reuse. There is just too much to do in too little time to rely on manual methods.
A continuous approach to quality, initiated early in the software lifecycle, can lower the cost of completing and maintaining the software significantly. This greatly reduces the risk associated with deploying poor quality software.

No comments:

Counts