People sometimes use the words verification and validation interchangeably (and often abbreviate them to V&V), but while they can both help you avoid errors and omissions lawsuits, there are key differences between the two techniques.
As you design software, there are two questions you need to answer:
- Does the software meet the requirements established by my client?
- Does the software work well, handle data securely, and provide a user-friendly experience?
The first question can be answered by validation, whereas the second falls under the category of verification. Here's an explanation of these two basic types of software testing:
- Validation is the process of making sure software satisfies the client's requirements. This can include testing for and reviewing the specifications in your contract. Validation makes sure you deliver the exact product your client asks for.
- Verification, on the other hand, is how you test that your program works well and doesn't have any major defects. Verification can include walkthroughs, quality control, and other usability testing.
HealthCare.gov: A Case-study in V&V Problems for Software Contractors
The New York Times recently published a detailed history of HealthCare.gov's problems. The article is seven pages long, so we'll summarize the important parts. Many of the website's problems were caused by two things:
- Insufficient testing.
- Problems coordinating between contractors and multiple vendors.
For multiple reasons – including rushed deadlines and a lack of communication – the IT contractors made validation errors and failed to deliver the product specified in their contract. The website was supposed to be able to handle 50,000 users logged on at one time; however, when as few as 500 users logged on, the site crashed. Given that a quarter of a million users tried to access it on the first day, this was a huge problem.
In addition, key components of the code were flawed. The code that connected Oracle software to the website was buggy – a classic example of a chain only being as strong as its weakest link.
By failing to build a website that met the specifications of their client –in its failure to perform key functions and inability to handle the desired amount of users – the programmers were not able to fulfill their validation requirements.
The rush to finish the website led to insufficient software testing, which meant there were also a number of usability and verification issues. For instance, sloppy code and other problems made the website much slower than it should have been. During the initial rollout, webpages took over eight seconds to load; now, after fixing the code, they take less than a second.
What the website's problems reveal is that validation and verification testing are interconnected. If the software doesn't deliver a client's requirements (i.e., fails validation and doesn't function properly), you can't perform sufficient verification tests to improve usability.
Validation and Verification: Protection from E&O Lawsuits
Together, verification and validation are a vital part of testing software and protecting your business from liabilities and software lawsuits.
Lawsuits about the quality of your work are called errors and omissions lawsuits because they are often about mistakes or bugs in the code (errors) or failures to perform a necessary part of your job (omissions).
Testing software helps reduce the risk of lawsuits, but there's more to it than that. When you sign a contract with a client, you need to maintain clear communications with them. This helps you know exactly what software they want and reduces your E&O exposures from the planning stage. One small miscommunication early can become a huge lawsuit down the road.
In fact, many clients will request their IT contractors have E&O Insurance (also called Professional Liability Insurance), which can cover the cost of a lawsuit over faulty software. These clients typically include a clause in your contract requesting a certain amount of E&O coverage.
If you'd like to learn more about how E&O Insurance works and how much it will cost, check out the page "What Is the Cost of Errors and Omissions Insurance for a Small Business?"