Independent Verification and Validation (IV&V) is recognized as a systematic approach to improve product quality, increase process compliance, and ensure intended use and customer needs. It has been applied to all system development projects regardless of development methodology used (i.e., Agile, Rational Unified Process, Waterfall). However, IV&V possesses specific benefits for Agile-based projects. This article focuses on the application of IV&V on Agile projects and the benefits this application has for organizations, teams, and clients.
IV&V is a series of verification and validations activities performed by a person and/or team that is not part of a development organization (i.e., independent from the management, guidance, direction, and oversight of the development organization). IV&V needs to maintain technical, managerial, and financial independence to avoid being influenced by the development process.
When such independence is warranted, IV&V provides the stakeholders with neutral, unbiased, and objective evaluations of the project’s health. It offers recommendations for corrective and preventive actions based on industry best practices and standards which include, but are not limited to, the following:
- CMMI V1.3: Capability Maturity Model Integration;
- IEEE 1012-20012: IEEE Standards for Software Verification/Validation;
- IEEE 829-2008: IEEE Standards for Software/System Test Documentation;
- IEEE 830-2004: IEEE Standards for Software Requirements Specifications;
- ISO 9000-2008: International Organization for Standardization;
- ITIL V3: Information Technology Infrastructure Library; and
- PMBOK: Project Management Body of Knowledge by Project Management Institute.
IV&V activities are performed in parallel with development activities so that any risks/issues can be fixed in a timely manner. Per IEEE standard 1012-2012, verification provides objective evidence to whether a project/system and its associated processes conform to requirements, and meet all acceptance criteria and standards specifications for the methodology’s ceremonies, artifacts, and activities. It also ensures the product achieves its intended use and the business user’s needs.
Verification ensures the system is being built right, whereas validation certifies that the correct system is being built. The verification methods include the review, analysis, inspection, audit, walkthrough, demo, and system testing. Stakeholders, who are not end-users and who are independent of the existing development management teams, perform these tasks. The validation methods only include system/product inspection and user-acceptance testing. The customers or system users only perform these methods. The validation process itself occurs at the end of each Agile Sprint, or at the release level (which consists of multiple Sprints), on “potentially shippable products.”
The IV&V methodology consists of the review, analysis, assessment, inspection, walkthrough, demo, testing and evaluation, and audit of applications developed using Agile methodology and associated processes. The development and IV&V of projects are not feasible without tools. The major tools used for IV&V are listed in the table below, which is by no means comprehensive. The tools used will be determined based on the development efforts and technical requirements.
The IV&V scope includes the operational environment, hardware, software, infrastructure, interfacing applications, processes, and documentation. This will ensure that the products are well-designed and developed in accordance with the prescribed processes to meet the business and technical requirements.
IV&V activities and tasks are performed in accordance with the following four lifecycle phases of Agile project management: Planning, Execution, Monitoring & Controlling, and Closing. IV&V planning is elaborated on in this article, while Execution, Monitoring & Controlling, and Closing phases will be described in future articles.
The IV&V planning phase consists of the following tasks:
- Provide IV&V level of effort estimate and schedules, and allocate sufficient staffing for performing IV&V of the program;
- Identify methodologies, processes, and tools for IV&V activities;
- Develop the IV&V Project Management Plan;
- Prepare the Test & Monitoring Plan and IV&V artifacts such as the User Story Verification Checklist, Test Monitoring Checklist, and IV&V Test Plans and Procedures, etc.;
- Update these IV&V documentation and artifacts to reflect any changes deemed necessary;
- Ensure the IV&V team has appropriate privileges to access appropriate environments for performing IV&V activities;
- Identify stakeholder names, responsibilities, and point of contacts so that the IV&V team can communicate with them to schedule interviews or request for additional information or clarifications to facilitate or finalize their IV&V tasks; and
- Attend IV&V team’s daily meetings and release planning to report the IV&V planning effort and impediments.
The IV&V planning phase provides the following benefits to the organizations and clients:
- Adequate and available resources to perform IV&V tasks;
- Well-defined task allocations and directions;
- IV&V team aware of accountability and responsibility for task assignments;
- Discovery and development of additional skillsets needed for task performances;
- Reduction of cost overrun and schedule slippage via anticipation and mitigation of project risks and issues; and
- Facilitation of performances of the next IV&V phases: execution, monitoring/control, and closure.
IV&V can be beneficially applied to Agile projects and provides extensive benefits for teams, clients, and organizations. Through the Agile project management phase of planning, teams can successfully prepare for IV&V execution in an Agile manner, promoting continuous feedback, improvement, and transparency in all activities.