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 –
- Verification &
- Validation
To put this simply, “Verification” is always done before software code is developed & “Validation” is always done post development of software code.
- Customer Requirements
- Software Architecture
- High-Level Designs
- 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:
- What is Software Quality?
- Reduce Your App Development Costs by More than 50%...
- How a Business Analyst can Save Huge Costs for your Project
Comments
Post a Comment