In software development, validation and verification are key elements to a successful project, but often the terms are mis-understood. Per the CMMI guidelines, validation is used to demonstrate that the product will meet it’s intended use, and verification demonstrates that the product matches the specified software requirements. Validation ensures that you “built the right thing” and verification ensure that you “built it right”.
Verification is largely the domain of the development and QA teams and includes activities such as peer reviews, inspection, and testing. Whereas work that the requirements team does is a big input to their work, the requirements team itself is generally not involved much in verification activities. As you might expect, though, the requirements team is very much involved in validation activities.
In my next post, I’ll further explain validation and provide some best practices.