IV&V activities and tasks are performed in accordance with the following four lifecycle phases of Agile project management: Planning, Execution, Monitoring & Control, and Closing. The planning phase of this lifecycle was described in the previous article for GovernmentCIO Magazine. This article elaborates on the Execution, Monitoring & Control, and Closing phases.
The IV&V Execution phase includes the following tasks:
- Follow up on and attend the following Agile ceremonies and meetings to ensure that they are conducted for all Agile/Scrum applications per the schedule, and in compliance with the Agile methodology and framework: Sprint planning, Sprint review, Sprint retrospective, daily standup meetings (Scrum), release planning meetings, and Go/No-Go meetings.
- Review product and Sprint backlogs for accuracy, completeness, consistency, testability of user stories, and correct prioritization. When changes are made to the backlogs, the changes should be assessed to determine the impact on the task implementation and schedule.
- Ensure sufficient tasks are created for each user story and review them for QA purposes.
- Follow up on reported impediments to ensure they will be resolved satisfactorily and in a timely manner.
- Ensure that acceptance criteria are created for each user story; analyze all acceptance criteria to determine if they are either verifiable or testable with the pass/fail results; verify the acceptance criteria for completeness and correctness so that they can serve as evidence to determine the user story is completed and works as expected (i.e., it can be granted the “Done” status); and identify any missing acceptance criterion and recommend any additions to the acceptance criteria list.
- Review and assess all user stories to verify that they comply with the “INVEST” model, which reflects the user story’s characteristics. The INVEST model is made up of the following acronyms:
I - Independent: easier to plan, prioritize, and estimate.
N - Negotiable: high level. Details will be added via collaboration.
V - Valuable: provides values to the users or customers.
E - Estimable: cannot be vague or unclear.
S - Small: should be able to implement within a scheduled sprint.
T - Testable: good acceptance criteria should be provided.
The benefit of the “INVEST” model is to describe the qualities of a good user story to ensure that all user stories included in a Sprint meet these qualities. This ensures that user stories are implemented completely, correctly, within the sprint schedule, and as “potentially shippable products.”
The IV&V Execution phase also involves the review and evaluation of the following project artifacts for completeness, correctness, and adequacy: project plans and schedules, system architectures, interface control documents, use cases, test documentation, release plans/manifest, and User Manuals/Operation Manuals.
The Test Driven Development (TDD) process is also subject to IV&V assessment to ensure that the TDD process is implemented on all Agile projects. Additionally, the IV&V assessment is intended to verify that the TDD process includes the following three steps: develop a test that fails, write code lines that make the test pass, and refactor code to reduce redundancy and improve design.
Code review is performed to identify bugs at early stages and ensure code standard compliance, maintaining consistency in software design and implementation. The IV&V team needs to participate in the code review process to verify that a programming coding standard (e.g., Java) is created for the code used to develop the system; the code review process is implemented on all projects; code is reviewed by peer-reviewers, or with a tool to ensure that it meets the coding standards, and implements all the specified system requirements; and all coding issues identified during the review are logged and corrected in a timely manner.
Test activities are performed under the IV&V’s monitoring and control to ensure that all Test Readiness Review (TRR) meetings are conducted to review the TRR checklist for all applications under test; evaluate the system readiness for the System Integration Tests (SIT) and System Acceptance Tests (SAT) based on the TRR checklist; review the Requirement Traceability Matrix (RTM) to determine if all user stories/requirements are mapped to corresponding test cases; monitor all testing activities to ensure that all test cases are executed per the approved test plans and procedures; review Test Summary Reports for QA purpose; and assess automated test scripts for QA purposes.
The IV&V Execution phase ends with the development of IV&V reports to document issues and risks found in the IV&V activities. The IV&V reports also include recommendations for corrective actions (CAs) and risk mitigations (RMs). The IV&V reports are distributed to relevant stakeholders for validation and approval. The issues and risks that are validated by the stakeholders will be presented to the Change Control Board (CCB) for determination for either resolution in the current release or deferment to a future release based on their severity and priority. Approved CAs and RMs are implemented by responsible parties.
Monitoring and Control
The IV&V Monitoring and Control phase starts with following up on the implementation of the approved CAs and RMs to ensure they would be resolved satisfactorily, in accordance with the approved plans and schedule. The IV&V team attends Sprint planning and daily Scrum meetings to track the CA and RM progress. When these CAs and RMs are completed, they are returned to the IV&V team to validate and close them, if they have been done right; otherwise they would be given back to the development team for rework.
The IV&V Closing phase begins with assigning the “Close” status to these CAs and RMs, after the IV&V team has validated them. The IV&V reports are updated and disseminated to the stakeholders for review and approval. The approval of these artifacts marks the end of the IV&V activity.
By focusing on unbiased and objective reviews, assessments, and audits of Agile projects and processes, IV&V offers significant benefits to Agile project management. IV&V identifies and helps resolve issues and risk early in the Agile project life cycles; thus, development and maintenance costs and time are decreased and the quality of products and overall compliance are improved. IV&V’s issue and risk findings and resolutions increase system performance, operation, and maintainability. They also improve visibility into the health of Agile projects and increase clients’ satisfaction.