Abstract: NASA’s Cassini mission to Saturn launched in 1997, and has been orbiting the ringed planet continuously since arrival in 2004. Throughout this time, the Mission Sequencing Subsystem team at the Jet Propulsion Laboratory has developed software used to design and validate the spacecraft’s science activities. As we learn more about Saturn and plan more daring maneuvers, the software systems need to be updated. These systems were created before modern architecture and development process frameworks were popular, and typical legacy software challenges are heightened in the limited-funding and risk-adverse environment of a flagship planetary mission. This talk will describe our evolution of teamwork, testing strategy, and procedures over the years.
Lessons Learned from Your Experience: - Legacy products with long-running teams can successfully switch to Scrum, but should invest in training for each team member
- Deep domain knowledge requirements make collaboration difficult
- If the software architecture doesn’t allow for complete test automation, look for partial automation opportunities and build on them
- Creating configurable tests at the right level can reduce long-term test maintenance burden
- Process automation can help to improve throughput in the face of rigid organizational requirements
Attachments: