11.01.2017 Views

A Technical History of the SEI

ihQTwP

ihQTwP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

community, to do so without benefit to <strong>the</strong> DoD would clearly be nei<strong>the</strong>r appropriate nor sufficient.<br />

S<strong>of</strong>tware Engineering Context into Which <strong>SEI</strong> was Formed and Evolved<br />

At <strong>the</strong> time, even <strong>the</strong> notion that s<strong>of</strong>tware development could be called an engineering discipline<br />

was debated. There were, after all, few analytic techniques available to a “s<strong>of</strong>tware engineer;” and<br />

<strong>the</strong>re was no set <strong>of</strong> accepted practices to guide managers, developers, and maintainers <strong>of</strong> s<strong>of</strong>tware.<br />

There was no widely accepted curriculum for preparing a student for such activities. Few universities<br />

<strong>of</strong>fered such a program (most universities did not even <strong>of</strong>fer s<strong>of</strong>tware engineering courses),<br />

and few faculty were prepared to teach <strong>the</strong> subject. Moreover, <strong>the</strong>re was no accepted body <strong>of</strong><br />

practice for pr<strong>of</strong>essionals. Indeed, although <strong>the</strong> term “s<strong>of</strong>tware engineering” was coined at a conference<br />

in 1968 [Naur 1968], <strong>the</strong> term was notional and still not yet well defined in 1983.<br />

In <strong>the</strong> DoD, s<strong>of</strong>tware development and maintenance was an acknowledged source <strong>of</strong> failure [DoD<br />

1982]. The department was about to adopt <strong>the</strong> Ada language for all new developments; but few<br />

were familiar with <strong>the</strong> s<strong>of</strong>tware engineering concepts that <strong>the</strong> language enabled, and even fewer<br />

were prepared to adopt <strong>the</strong> new programming paradigm.<br />

An example <strong>of</strong> <strong>the</strong> prevalent misconceptions was <strong>the</strong> assumption that <strong>the</strong> systems architecture and<br />

hardware architecture should be defined before any thought was given to <strong>the</strong> s<strong>of</strong>tware. The DoD<br />

acquisition and review processes even dictated this approach, based on <strong>the</strong> assumption that systems<br />

engineering could be separated from s<strong>of</strong>tware engineering and that system capabilities could<br />

be defined with no regard to how <strong>the</strong>y might be implemented in s<strong>of</strong>tware. This assumption held<br />

that since s<strong>of</strong>tware is changeable, s<strong>of</strong>tware developers could respond appropriately and subsequent<br />

changes to <strong>the</strong> hardware could be accommodated.<br />

This hardware-centric acquisition process assumed that s<strong>of</strong>tware could be completely defined before<br />

any implementation began. It also generally ignored <strong>the</strong> impact on <strong>the</strong> s<strong>of</strong>tware structure <strong>of</strong><br />

later changes to requirements or hardware characteristics. (The notion <strong>of</strong> s<strong>of</strong>tware architecture had<br />

not yet surfaced, at least not in <strong>the</strong> DoD). A consequence, for instance, is that systems would <strong>of</strong>ten<br />

be fielded with computer hardware that was one or two generations old, real-time systems would<br />

deadlock due to timing conflicts, s<strong>of</strong>tware development would be behind schedule and over<br />

budget delaying release <strong>of</strong> <strong>the</strong> system, and systems maintenance <strong>of</strong>ten led to disastrous results<br />

[DoD 1982]. One reaction to <strong>the</strong>se problems yielded <strong>the</strong> tendency to build custom hardware,<br />

which <strong>of</strong>ten exacerbated <strong>the</strong> s<strong>of</strong>tware problems.<br />

The <strong>SEI</strong> Began by Interpreting <strong>the</strong> Charter and Developing a <strong>Technical</strong><br />

Strategy<br />

With this context, CMU began <strong>the</strong> journey that has taken <strong>the</strong> <strong>SEI</strong> into technology that was undefined<br />

in 1984 and into arenas that were not—and probably could not have been—predicted. With<br />

a small staff recruited from <strong>the</strong> CMU Computer Science department, <strong>the</strong> <strong>SEI</strong> took up temporary<br />

residence in an old factory while a new building was constructed. Experts were, thus, recruited to<br />

an entity that was unknown, before a new administrative infrastructure was created and, most importantly,<br />

a technical strategy envisioned [Barbacci 1985].<br />

CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 6<br />

Distribution Statement A: Approved for Public Release; Distribution is Unlimited

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!