Lessons Learned in Developing an International Planning Software System

Developing a software system for mission planners at NASA’s Johnson Space Center (JSC) to plan and schedule activities onboard the Space Shuttle or International Space Station (ISS) is a complex task. Due to the scope of the complete user requirements and budget restrictions, a full development of all capabilities was not practical. The planning system had to include not only capabilities for planning the daily activities onboard the spacecraft, but also had to include the capability to upload the plans to the onboard system and to merge plans and activities from planners at other remote planning centers, including Marshall Space Flight Center (MSFC) and International Partners. The Integrated Planning System (IPS) Consolidated Planning System (CPS) was developed in an incremental fashion to continually meet the most immediate needs for the users. CPS has been under development for over 8 years and has been operational at JSC for 5 years, supporting Space Shuttle Program (SSP) and ISS mission planning. The journey to this point of software capabilities has been slow, but steady. The current size of the software application is over 380 K SLOC. Initial development focused on capability for scheduling SSP missions, as this was the most immediate need. Next, the development focused on ISS capability, such as plan upload and advanced long-range planning techniques. Finally, the development focused on including/merging data from MSFC and the International Partners. This paper documents some of the “Lessons Learned” during the development of the CPS. Some examples of these include: • Focusing on current operational needs creates system requirements that may not be applicable in future operations • File exchange mechanism uses a proprietary file format that is not flexible to change • Size and quantity of current planning data seriously hampers performance of the system • Incremental approach to development adds new functionality as peripheral to core functionality The nature of “Lessons Learned” tends to focus our attention on deficiencies in the software. We look at actions or functionality that could have been implemented better or planned better. Focusing on these may give the reader the false impression that the CPS is a short sighted, unusable system. However, the system is stable and quite comprehensive in its capabilities for planning current ISS and SSP operations. The incremental approach allowed the development team to tailor the software to shifting user requirements as planning user operations scenarios and requirements changed. Overall, the CPS is an excellent planning system. This paper is intended to provide some assistance in a “path through the mine field” of software development for planning space mission operations. It is hoped that these “Lessons Learned” can be applied in future space mission planning system projects to avoid some of the limitations of the current system.