A Technical History of the SEI
ihQTwP
ihQTwP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Configuration Management<br />
The Challenge: Configuration Support for S<strong>of</strong>tware Developers<br />
When <strong>the</strong> <strong>SEI</strong> was founded in <strong>the</strong> mid-1980s, s<strong>of</strong>tware development was already a complex activity,<br />
with single projects <strong>of</strong>ten involving millions <strong>of</strong> lines <strong>of</strong> code and large (<strong>of</strong>ten distributed)<br />
teams <strong>of</strong> developers. At <strong>the</strong> time, developers in government and industry, including government<br />
contractors, adapted established configuration management (CM) practices in o<strong>the</strong>r engineering<br />
disciplines, such as versioning <strong>of</strong> design documents and physical system parts and managing<br />
changes through change control boards [IEEE 1987]. They complemented <strong>the</strong>se practices with<br />
version control systems to manage versions and revisions <strong>of</strong> <strong>the</strong>ir source code; <strong>the</strong>y used databases<br />
for tracking versions and changes to <strong>the</strong> artifacts. Many were home-grown systems. However,<br />
s<strong>of</strong>tware development presented several unique challenges. First, s<strong>of</strong>tware development is a<br />
continuous design activity in which bug removal affects <strong>the</strong> design. Second, s<strong>of</strong>tware design and<br />
source code are easily changed, and configuration, parameterization, and deployment <strong>of</strong> s<strong>of</strong>tware<br />
on hardware can result in unexpected system behavior. Third, s<strong>of</strong>tware development is easily distributed<br />
across multiple teams, thanks to networked computing environments, which were emerging<br />
in <strong>the</strong> early 1980s. Finally, at that time, system engineering drove <strong>the</strong> development process,<br />
with s<strong>of</strong>tware developers getting involved late in <strong>the</strong> process and having to write code against ambiguous<br />
specifications and repeatedly changing requirements. (These were some <strong>of</strong> <strong>the</strong> factors<br />
contributing to <strong>the</strong> s<strong>of</strong>tware crisis that prompted <strong>the</strong> establishment <strong>of</strong> <strong>the</strong> <strong>SEI</strong>.)<br />
A Solution: Configuration Management Tools<br />
In <strong>the</strong> 1980s, DARPA—<strong>the</strong> main <strong>SEI</strong> sponsor—was interested in research into configuration support<br />
for s<strong>of</strong>tware development environments, both for Ada specifically and for environments in<br />
general. At <strong>the</strong> <strong>SEI</strong>, work was soon under way to establish a framework for improving <strong>the</strong> s<strong>of</strong>tware<br />
process, which became known as <strong>the</strong> Capability Maturity Model [Humphrey 1988]. This<br />
framework included configuration management as a key process area, leveraging established CM<br />
practices [IEEE 1987].<br />
From <strong>the</strong> mid-1980s to 1993, <strong>the</strong> <strong>SEI</strong> worked on tool-based solutions supporting <strong>the</strong> full s<strong>of</strong>tware<br />
development process and complementing <strong>the</strong> organizational process focus <strong>of</strong> <strong>the</strong> CMM. The <strong>SEI</strong><br />
quickly expanded from evaluating Ada environments [Weiderman 1987] to integrated s<strong>of</strong>tware<br />
development environments (ISDE). Recognizing <strong>the</strong> challenges <strong>of</strong> configuration management for<br />
s<strong>of</strong>tware, in 1988 <strong>the</strong> <strong>SEI</strong> established a series <strong>of</strong> international s<strong>of</strong>tware configuration management<br />
workshops under <strong>the</strong> auspices <strong>of</strong> <strong>the</strong> ACM, chairing <strong>the</strong> first set <strong>of</strong> workshops [Winkler 1988,<br />
Feiler 1991]. These workshops continued for more than a decade. The <strong>SEI</strong> published papers on<br />
<strong>the</strong> role <strong>of</strong> CM in integrated environments [Dart 1989], <strong>the</strong> different roles CM plays throughout<br />
<strong>the</strong> s<strong>of</strong>tware system lifecycle and <strong>the</strong> concepts supporting <strong>the</strong>m [Feiler 1988], and process support<br />
through CM [Feiler 1989]. To facilitate collaboration between <strong>the</strong> s<strong>of</strong>tware process and <strong>the</strong> ISDE<br />
research communities, <strong>the</strong> <strong>SEI</strong> published a set <strong>of</strong> s<strong>of</strong>tware process development and enactment<br />
concepts and definitions [Feiler 1992]. As promising research results emerged, <strong>the</strong> <strong>SEI</strong> assessed<br />
<strong>the</strong> state <strong>of</strong> <strong>the</strong> art in ISDE and its support for CM [Brown 1992, 1993a]. In <strong>the</strong> early 1990s, <strong>the</strong><br />
<strong>SEI</strong> provided <strong>the</strong> co-chair <strong>of</strong> <strong>the</strong> Navy NGCR Project Support Environments Standards Working<br />
Group (PSESWG) and took on a lead role in <strong>the</strong> development <strong>of</strong> a reference model for Integrated<br />
S<strong>of</strong>tware Engineering Environments [Brown 1993b], which included configuration management<br />
CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 203<br />
Distribution Statement A: Approved for Public Release; Distribution is Unlimited.