Thursday, September 14, 2017

How does QA fit into the Product life cycle?

THE LIFECYCLE CONCEPT

The product life cycle concept nowadays is about the state that the Copernican view of the universe was three-hundred years ago. Many people knew about it, yet, hardly anybody seemed to use it in any productive or effective way. Today that a lot of people know and in some way understand the product life cycle, it is about time to put it to work.

QA Product lifecycle

QA is the process wherein the entire software development activities would strictly adhere to the regulations and rules. The rules are called Standards, that’s followed in the development lifecycle. If the standard is not adhered to, then there is a possibility of errors in a lot of ways. These standards ensure that the process of development is free from bugs. Simply put, QA is very critical. QA testing is employed to minimize possible defects in each development life cycle stage. The focus of software QA is to continuously monitor all throughout the development life cycle for quality products. This needs monitoring both products and processes. The objective is to determine and eliminate defects as early as possible, thus lowering maintenance and test costs.

MAIN GOALS OF QUALITY ASSURANCE

The main goals of quality assurance during the software development are to develop software that is error free, determine if there’s any variation from the requirements, use the software in real-time and provide confidence in the product, among other things. The inclusion of QA in the product lifecycle could contribute to the reduction of billions invested on IT software project rework.

The life cycle process begins with requirements, and as it evolves inside the SDLC, more efforts are made to build or modify a solution, more people involved and the cost of the project rises. Bugs that are discovered at the end of the process have the tendency to need considerably more effort for fixing. The sooner the bug is determined, the cheaper it would be to fix. In testing, the cost of bug fixing could be represented by something around a logarithmic function, in which the cost could increase by over ten times as the project progresses via the life cycle phases. A bug that is identified during conception will cost something like zero. However, when the same bug is found only after testing or implementation, the average repair cost could get to something from ten to one thousand times more.

The advantages of QA Testing in the earlier phases:

1. A lot of problems are introduced to the system during design or planning. Testing anticipates future issues at considerably lower cost.

2. Testers would be more familiar with the software, since they are more involved with the product evolution in the earlier stages.

3. Since testing is involved with all SDLC phases, management would not feel like testing is the bottleneck for product release.

4. The test environment could be prepared ahead of time, anticipating risks as well as preventing delays.

5. Test cases written during requirements and shared with the team before construction could help developers think outside the box, evaluate more chances of code failure.

6. Involving QA in all product lifecycle helps in making a ‘quality culture’ inside the company.

7. The risk of short time testing is significantly reduced, boosting test coverage as well as the kinds of tests done.

Developers should be aligned with the expectations about the requirements. In most instances, to be able to keep pace with the schedule, developers don’t invest ample time for reviewing the specification. Often, they ignore vita documents or misunderstand some requirements. This type of ambiguity will generate more bugs to be identified at the end of the project and the repair cost would end up more expensive. Moreover, developers should also build unit tests and review code before commits. Together, the small day-to-day activities make great contribution to prevent defect during the construction stage. Additionally, some types of tests definitely worth the consideration of being automated and the automation team will get involved with the process. The automated tests execution, such as load, UI, performance, unit and more could be linked strongly to commits of developers in the construction phase. Preventing a defect is an integral investment with short-term return. The joint actions not just boost the quality of the product by anticipating problems, but reduce the cost of product maintenance as well, increase overall productivity and lessen the development time.

The bottom line appears to be that QA is integral and customers would opt to wait a bit longer for a quality product than receive a potentially flawed one faster. An organization is better off taking time to complete a project than not.

QA or Quality Assurance is an integral aspect in the software product lifecycle. This is particularly true for customers who choose to wait longer for a quality product instead receiving early a potentially flawed one.

No comments:

Post a Comment