Software verification and validation

Every time the output of a process correctly implements its input specification, the software product is one step closer to final verification.

The output of each software development process stage can also be subject to verification when checked against its input specification (see the definition by CMMI below).

During internal software validation, it is assumed that the goals of the stakeholders were correctly understood and that they were expressed in the requirement artifacts precisely and comprehensively.

Successful final external validation occurs when all the stakeholders accept the software product and express that it satisfies their needs.

Software verification ensures that "you built it right" and confirms that the product, as provided, fulfills the plans of the developers.

Software validation ensures that "you built the right thing" and confirms that the product, as provided, fulfills the intended use and goals of the stakeholders.

The goal of ISVV is to provide assurance that software performs to the specified level of confidence and within its designed parameters and defined requirements.

The ISVV team independency is performed at three different levels: financial, managerial and technical.

ISVV results and findings are fed back to the development teams for correction and improvement.

Meanwhile, IV&V (and ISVV for software systems) consolidated and is now widely used by organizations such as the DoD, FAA,[8] NASA[7] and ESA.

Initially in 2004-2005, a European consortium led by the European Space Agency, and composed of DNV, Critical Software SA, Terma and CODA SciSys plc created the first version of a guide devoted to ISVV, called "ESA Guide for Independent Verification and Validation" with support from other organizations.

[10] This guide covers the methodologies applicable to all the software engineering phases in what concerns ISVV.