Skip to main content

Focus on Verification (V&V) to Transform Your Organization


When I was a quality manager in my earlier job in an MNC (Multi-National Company), a lot of my team members were quite misinformed about the “Power of Verification” in a software development process. I went through a lot of reflection around my own experience working on multiple projects related to doing “software verification” exercises. I gained profound understanding of how organizations can gain immense benefit just by understanding the true power of this activity (if done correctly).

For the uninitiated, let me give a brief understanding about what “Verification” means.

As part of ensuring quality of any software, the whole development process can be split into 2 simple parts –

  1. Verification &
  2. Validation

To put this simply, “Verification” is always done before software code is developed & “Validation” is always done post development of software code.

A “Verification” activity means, doing detailed analysis and reviews for –
  1. Customer Requirements
  2. Software Architecture
  3. High-Level Designs
  4. Detailed-Level Designs

A “Validation” activity means, running actual tests at various stages of the actual software development (such as unit testing, integration testing, systems testing, systems-integration testing and user acceptance testing).

The “Verification” activity is extremely important to “prevent issues” in the later development of the software code. This activity is so powerful, that if this is correctly done by the team, a lot of issues and rework on code can be simply avoided!

Organizations can thus save huge costs and time by doing the following and literally bring in “transformative changes” in delivering very high-quality projects.
  • Mandate Requirement Reviews: Make your teams spend more time in ensuring very high-level of clarity on customer requirements by doing detailed requirement reviews. Moreover, it is very important that every customer requirement is documented by a business analyst! I have worked with so many business analysts who make this eternal mistake of NOT documenting the smallest of requirements and unfortunately, a miss here has a major impact during the software development process.
  • Mandate Architecture and Design Reviews: I have been through so many misconceived ideas from development managers, that the whole team is not required to do an architecture and design review. It is a myth that non-technical staff can not give constructive feedback on architecture and design. Instead, the opposite is true. Leadership should ensure that the whole team should perform a review of the architecture, high-level and detailed-level designs. Sometimes, a simple comment from a layman’s perspective can provide an extremely useful insight to the development team related to their high-level and detailed-level designs.
  • Design Models to Achieve Comprehensive Requirements Coverage: Establish standardization and a process-oriented approach to create models, that become a reference to the team for doing the requirements and design reviews. How a review should be done and the basis of doing the review can greatly help the team and the organization to ensure very high-quality deliverables to their customers.

The last point above can help you standardize with the most appropriate metrics to monitor and optimize across the execution of multiple projects.

I shall be sharing exclusive posts on above, that can help organizations design and build the most appropriate models and metrics to perform a productive requirements and design review session.

A lot more is coming in future… and we will keep you posted.

Please also refer to our other related posts below:

- Written by Anand Nanavati (SupraDigit Solutions)

Comments

Popular posts from this blog

The Top 4-Ways to Build the Right Test Strategy

A Test Strategy is created to guide all teams on steps to achieve software quality objectives. With software companies adopting agile practices in a big way, an effective Test Strategy becomes even more important with iterative / sprint-based application development. A test strategy being a live document, should ideally plan to integrate the business, development, testing, and management teams, define the quality objectives for the intended application and chart-out a path on how all the teams can help achieve these. The test owner and the team can build an effective test strategy with these 4 best-practices: A)   Focus on Prevention – Helps avoid major issues and rework on projects. ü Prioritize requirements and business rules. ü   Communicate changes in priorities immediately and effectively to important project stakeholders. ü Strictly review and implement common require

Reduce Your App Development Costs by More than 50% by "Simply Preventing Bugs"!

"Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”— Steve Jobs Everybody loves to avoid a disaster, but there is a “proactive” effort to do activities that can prevent a disaster from happening. Most of the executives do not want to “get involved” in such “proactive” efforts, simply due to the love of fixing urgencies Or having a mindset that it’s not important.   I remember, when once I was working with the Quality Assurance team on a product. The development team simply refused to spend efforts on the most essential “unit testing” for their developed components! The intent was to release the software to the QA team as soon as possible and focus more on so-called “core development”. Over the years, looking at multitude of projects failing in-spite of highly experienced resources, reasonable time and the intent, I have uncovered that, prevention is the “Most Important” and “Ignored” part of software development. Why should we

What is Software Quality?

“Why do we never have the time to do it right the first time, but always have time to do it over and over after the first time?” – Anonymous  Quality is something that happens at every stage of Software Development! When I talk about Software Quality, almost everyone in the Information Technology world thinks about “Software Testing”. Unfortunately, this is a myopic view of Quality as a specific team effort and not as something, that should be embedded and part of the complete Software Development Life Cycle! Quality can be defined and need not be an “ambiguous term” for an organization. For any software, quality is more aptly seen from a view of what the customers considers as ‘Quality’. Although, this is not the only way to consider ‘Quality’. Quality must be seen from the viewpoint of ALL stakeholders involved with the product. Apart from this, ‘Quality’ should be considered as everybody’s res