Space Shuttle Primary Flight Software System developed iteratively


In this article, the process for developing the Space Shuttle Flight Software is described.

This was 1984, but the process looks very much like Agile. Work closely with requirements originators, implement the most mature features, remove unnecessary functions and features, create automated tests, build frequently, and deploy frequently. Very agile.

Of course, they do state that ‘From an idealistic viewpoint, software should be developed from a concise set of requirements that are defined, documented, and established before implementation begins. The requirements on the Shuttle program, however, evolved during the software development process.’