SOFTWARE TECHNOLOGY MATURATION William E Riddle software design analysis inc 1670 Bear Mountain Drive 6ouider Colorado 80303 303 499 4782 Samuel T Redwine Jr lnstitue for Defense Analyses 180 1 North Beauregard Alexandria Virginia 223 11 703 845 2368 it is well received the active insertion of the technology into some initial high impact arenas and the ultimate marketing and dissemination of the technology to a broad community PBSTRACTi We have reviewed the growth and propagation of a variety of software technologies in an attempt to discover naturai characteristics of the process as well as principles and techniques useful in transitioning modern software technology into widespread use What we have looked at is the technology maturation process the process by which a piece of technology is first conceived then shaped into something usable and finally marketed to the point that it is found in the repertoire of a majority of professionals technology follows Technology transition development within an overall process of technology maturation The study of technology maturation is complex see for example To determine some references 1 and 2 characteristics of the maturation process for software technologies and some of the facilitators and inhibitors affecting the transition segment we have analyzed several case studies3 which individually treat specific software technologies These case studies were prepared by people highly knowledgeable in the technologies thus avoiding some of the more obvious pitfalls in trying to conduct a broad based study From these studies we have extracted data concerning the time required for major steps We have also identified activities critical to the transition steps as well as activities which speed or slow these steps These summary observations are discussed in this report along with our general conclusions concerning the processes of technology maturation and transfer A major interest is the time required for technology maturation and our conclusion is that technology maturation generally takes much longer than popularly thought especially for major technology areas But our prime interest is in determining what actions if any can accelerate the maturation of technology in particular that part of maturation that has to do with transitioning the technology into widespread use Our observations concerning maturation facilitators and inhibitors are the major subject of this paper 6 TECHNOLOGIES INVESTIGATED A The case studies technologies lNTRQDUCTlON Technology transition activities are the heart of any technology improvement program These are planned overt actions taken to move a piece of technology into widespread use They involve primarily the packaging of the technology so that 189 0 IEEE 1985 the following knowledge based systems software engineering principles formal verification compiler construction metric5 abstract data types structured programming software creation evolution methodology SCR Software Cost Reduction methodology software development acquisition standards This report was prepared as part of work performed for the Deoartment of Defense STARS Joint Prouram Dffica bv the Computer and Software Engineering Division of the lnstituie for DefenseAnalyses It originally appedredas part of IDA Paper P1788 Institute for Defense Analyses CH2139 4 85 0000 0189 covered l l l l l l l regarding the acquisition of embedded software systems and the SCRmethodology that underlies the Navy s Software Cost Reduction program DOD STD SDS Department of Defense Software Development Standard AFR Air Force Regulation 800 14 cost models automated software environments Smalltalk 80 SREM Software Requirements Engineering Methodology Unix Conso iUaCed tecLV o ogy the fourth type of technology found in our sample is also secondlevel technology In this case the underlying technology is collected and made to work together so as to provide something significantly better than any of the individual pieces of technology alone A simple example is software cost estimation technology that brings together metrics statistical prediction techniques and empirical study The other example wtthin our sample is automated software development environments for which we have considered three specific systems Unix Smalltalk 80 and the Software Requirements Engineering Methodology SREM For some technologies very specific instances such as the Smalltaik 80 system were investigated For others such as verification technology the investigation was in general terms conslderlng the technology area as a whole Four different types of software technology are present in our sample First our sample includes major tec o ogy areas such as knowledgebased systems metrics software engineering compiler construction and verification Advancements in major areas such as these depend on coordinated advancement in several interrelated areas many of them frequently theoretical in nature In addition only a small segment of the technical community will directly use the technology in these areas For example few professionals actually generate compilers but virtually all of them use a semi automatically generated compiler in their work Cc TFWi lI OGYMATURATlON The indivtdual case studies provide considerable detail about what happens during technology maturation To provide some overall comparisons these individual histories must be placed on a common scale and we use the one displayed in Figure 1 This figure defines six major phases for software technology maturation by fixing the time points that indicate passage between phases Our interest in technology transition leads us to focus primarily on the period following the emergence of usable capabilities time point 2 For all types of technology except consolidated technology this is the point at which overt planned action can start to have some definite impact on technology In the case of consolidated maturation technology the process of fitting individual pieces of technology together may require some basic concept formulation and development and extension and these preliminary activities may themselves also be amenable to acceleration The second type of technology that our sample includes is tecb0oIogy concepts such as abstract data types and structured programming This type of technology is conceptual in nature and usually ends up as a basis for a variety of usable pieces of technology For example structured programming led to the development of structured
View Full Document