4

In the context of SDLC, I know that Verification and Validation is about verifying the deliverable input from previous phase and validating the output of the current one. And that testing is a phase among the SDLC phases.

Based on my research, I found from UToronto lecture notes that:

V&V performed by a separate contractor

Which means that IV&V (Independent Verification and Validation) professionals are externally involved in SDLC, and thus have nothing to do with the testing phase.

On the other hand, I find on another course that:

Testing is the most common, but not the only form of V&V

Which means testers are involved in IV&V.

This makes me confused about whether both testing phase and IV&V are made by same person (let's say QA engineer) or the persons doing IV&V are not involved in the testing stage.

Does the job V&V professional exist in the software industry? What relationship exists between QA engineers, testers and IV&V?

How is the V&V process involved during the project management: is it performed continuously within SDLC in the early stages or in the last stages?

Also does the SDLC include IV&V as a stage?

  • If you downvote, at least leave a comment, so I can further improve the question. – Kais Apr 14 at 10:44
  • 1
    I think you should include that somewhere yes. But just investigating Dr Steve Easterbrook (formally of NASA) where the use the term exensively – Ewan Apr 14 at 11:14
  • 1
    yeah the links are good but old. (and in comic sans?!) add the NASA link so people believe tis a real thing and not just an academic invention from 10 years ago – Ewan Apr 14 at 11:16
  • 1
    also I would add some of Dr Easterbrooks cat pictures. no one can downvote a cat cs.toronto.edu/~sme/cats.html – Ewan Apr 14 at 11:18
  • 1
    possibly. You know I think you should email the Dr and ask him to post an answer. That would be super cool – Ewan Apr 14 at 11:20
5

Software verification and validation are all the activities that ensure that the software fulfils all the needs and requirements for its intended purpose. As such V&V is part of the larger set of Quality Assurance activities (the latter also include activities to improve the quality, beyond the area of quality control to which V&V belongs)

The best known of these activities is of course testing, which verifies that the software works well, produces the expected results, is usable, and with acceptable performance. Of course this activity can be highly automated, even if usability tests and acceptance tests may require human involvement in near operating conditions.

But testing is not the only verification. Code review for example is another Q&A activity, that verifies if the code is robust, and meets some quality criteria that are expected to facilitate future maintenance. Another kind of verification is related to security. These kind of code reviews might be required to enusre that no undesired stealth behavior was hidden in the software (e.g. spying functions sending data to a foreign country once it is in operation), or that no vulnerability was implanted on purpose.

Nowadays, the V&V should no longer be considered as being necessarily a sequential step in a waterfall-like SDLC. THese activities can be integrated smoothly in the day-to-day activities (e.g. embedded in the definition of done) in agile processes.

Independent V&V is another (expensive) thing. This is often found in the context of mission critical systems (e.g. aircraft systems, factory system in a pharmacological company, etc..) and governement acquisition process. The reason is that team members (or staff members of a supplier) may have unconscious bias, or apply incomplete verification procedures (procedure might even be flawed because of purely economic consideration that are not appropriate for systems on which human lives depend on). This is why an independent team might be required. It is to ensure that V&V is carried out as objectively as possible and with state of the art expertise.

So V&V and IV&V are highly related. It is just that the second must be performed by a different economic operator in view of a proper segregation of duties. Note that in some cases V&V or even independent V&V could be subject of legal requirements.

3

The relationship... doesn’t exist.

Modern software development generally doesn’t have discrete phases where you take and validate some input, do some work, and then pass it down the assembly line. And these days even having a separate role for testers or other quality assurance work is more and more rare.

At the scale necessary for most software, the verification process is automated and included in the continual deployment process. There are occasionally dedicated professionals that automate those tests, but they are just QA engineers or Software Develoment Engineer in Test (SDETs). The labels don’t much matter, but I’ve never heard V&V used.

  • also never heard of V&V. – Ewan Apr 14 at 9:06
  • @Ewan every engineer must know V&V. – Kais Apr 14 at 10:45
  • @kais after reading the links I know what you mean by v&v but I never heard the term before or seen any job adverts using it. Perhaps its just a particular industry or something? – Ewan Apr 14 at 10:54
  • @Telastyn V&V includes inspection techniques (for spec, artifacts, code) which I found that it can be by a separate contractor for the sake of independent technical opinion. So these inspection tasks are performed by QA engineers? – Kais Apr 14 at 10:57
  • 2
    I doubt that CI/CD would completely avoid V&V for mission critical software in embedded aircraft systems, nuclear power-plants and other highly regulated application areas (like GMP governed industries), where verification and validation are either legally mandatory steps or contractual requirements related to huge liabilities (and sometimes CD is not even an option). – Christophe Apr 14 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.