Keeping Pace with Human Spaceflight
An Agile approach to independent verification and validation
History has seen plenty of winning combinations: peanut butter and jelly, bacon and eggs, spaghetti and meatballs, and now, Agile development and independent verification and validation (IV&V).
IV&V is like having a really smart proofreader check your work to make sure nothing blows up. Agile is an incremental development technique. Maybe what you wrote needs to be changed and probably a few more times due to circumstances and thus needs additional proofreads. The combination of Agile and IV&V helps manage and ensure those proofreads as the write-up evolves.
SAIC’s NASA team applies Agile IV&V to things like the Orion spacecraft, a capsule designed to take humans further into space than ever before. This human-rated spacecraft needs to keep astronauts safe while exploring deep space. Orion will let astronauts return to lunar orbit, explore asteroids, and even go to Mars.
Now, imagine the software needed for Orion’s complex mission. Comparing IV&V to proofreading, a simple IV&V job might be a help-wanted ad going into the newspaper, so Orion is James Joyce’s Ulysses. Orion’s software creates a resource challenge for everyone involved in its design, launch, and evaluation--especially those of us on the IV&V team. IV&V focuses on adding assurance that mission-critical software will do what it is supposed to do, not do what it is not supposed to do, and respond appropriately under adverse conditions.
Prior to flying humans aboard Orion in Exploration Mission 2 (EM-2), the spacecraft will undergo two separate test flights. The first, Exploration Flight Test 1 (EFT-1), occurred in December 2014, launching Orion into a two-orbit flight to test various systems aboard the vehicle. The second test flight will be EM-1, scheduled to launch in late 2020, which will send the Orion capsule to orbit the moon and into space for close to three weeks--a mission which will be very similar to the first flight with humans on EM-2.
As the software development for EM-1 matured, the IV&V team noticed the negative effects of trying to add assurance relative to its staffing level. We needed to keep up with the flight software developer’s fast-paced Agile development cycle while adding assurance for everything that IV&V had identified for future analyzation.
Without the ability to clone ourselves and with no desire to slow down the flight software developers’ schedule, we worked with NASA to develop a novel approach to safely accelerate IV&V for Orion: Agile IV&V. We applied relevant Agile principles to the management and execution of IV&V to create a winning combination.
Agile IV&V uses an adaptive, risk-targeted (“Follow the Risk”), capability-based assurance approach. This approach allowed the Orion IV&V team to add assurance for the highest risk areas to Orion flight software and simultaneously gave it flexibility to shift focus rapidly if the areas of risk changed for any reason.
Orion IV&V has also focused on providing both negative and positive findings. Negative findings are issues and risks, while positive findings are assurance conclusions confirming the flight software’s ability to do what it is supposed to do, not do what it is not supposed to do, and respond appropriately under adverse conditions. This provides a more balanced assessment of the condition of the software than simply providing the negative findings as was done in the past.
The Agile IV&V approach enables Orion IV&V to continue to provide high-value findings while adapting to the rapidly changing environment of Orion flight software development and verification.
The approach has been so successful that we have now assisted our customer in presenting it outside of the IV&V program to others in NASA. What this winning combination might help others do is very exciting.
Peanut butter and jelly has had a good run. So has spaghetti and meatballs. Now, let’s see how many engineers pack Agile IV&V into their lunchboxes.
Please check out my 8 tips for assessing risk in complex software development for more details on the Agile IV&V approach.