Ketterä kuulento ja avaruussukkula

Harva tietää, että ensimmäinen kuulento toteutettiin ketterästi. Tuolloin sitä vielä pyydettiin anteeksi.

Apollo-kuuohjelma (1961-1972) ja avaruussukkula (1981-2011) edustavat monelle klassisia vesiputousprojekteja. Yllättävää kyllä, Nasan vuonna 1970 julkaisema artikkeli What Made Apollo a Success korostaa kuulennon onnistumisessa iteratiivisia kehityssyklejä:

”Fundamentally, the design and development consists of a series of iterative cycles in which a design is defined to finer levels of detail as the considerations become better known.”

Avaruussukkulan ohjelmisto oli 30 kertaa laajempi kuin Apollo-kuuraketin. Vuonna 1984 julkaistu artikkeli Space Shuttle Primary Flight Software System paljastaa, että perinteiseksi naamioitu ohjelmistoprojekti koostui todellisuudessa 17:stä iteraatiosta ja välijulkaisusta:

”The requirements of the Shuttle program evolved during the software development process. The requirements were developed over a long period of time with significant change activity occurring after each baseline.”

Avaruussukkulan ohjelmistokehityksessä korostettiin:

  • Early involvement in customer requirements.
  • Early identification of development standards.
  • Implementation of the most mature requirements first to minimize rework.
  • Verification/certification as soon as possible for maximum exposure and testing.
  • Continuous integration with integrated regression testing and ”new” testing.
  • Development of a reasonable requirements implementation plan.
  • Incremental builds and releases of the evolving software system.

Alla muutama herkkupala artikkelista, joka oli 1984 noin 20 vuotta aikaansa edellä:

”The software development program had 17 interim release drops in 31-month period starting in October 1977. Although full software capability was provided after the ninth release in December 1978, an additional eight releases of the software have been necessary to accommodate the continued requirements changes and discrepancy correction activity inherent in large, complex, first-of-a-kind software systems. This incremental release approach satisfied the original objectives.”

”The software was exposed in small increments to both verification and field users. This allowed early identification of software discrapencies and eased problem solution.”

”Throughout this evolutionary process, the implemented structure was tested on a continuing basis to ensure the overall system stability. Continued testing established a sound building-block approach and also provided training valuable to programmers for interfacing with the system and for learning software implementation procedures.”

”Upon completion of module coding, review, and unit testing, each module was scheduled for inclusion into the baseline master system. This was continual process since the master system was updated on a three-week cycle. Postbuild testing was performed before release of the new master system to ensure continued stability.”

Ps. Avaruussukkula-ohjelman päätyttyä vuonna 2011 Nasa aloitti Orion-ohjelman.

apollo-astronauts

Kommentoi

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s