07/28/97 - 1 - Using Technology Topologies to Evaluate Software Tools James J. Cusick james.cusick@att.com maelstrom.bns.att.com/~jcusick/ Senior Technical Staff Member Business and Vendor Management William M. Tepfenhart bill@orbit.hr.att.com w1fa93.hr.att.com/~bill/ Senior Technical Staff Member Network and Computing Services CIO 22 July 1997 ABSTRACT A Technology Topology is a road map for using a software development technology. In this paper we demonstrate how an understanding of the underlying technology of an evaluation target can be enhanced through the use of a Technology Topology. The Topologies do not provide a new evaluation method but instead define the field of play for each given technology type and allows for quantitative comparison of products within a given technological domain. In other words, we organize in a concise and pictorial manner the relevant characteristics of a given technology for rapid assessment. We first define the Technology Topology concept and then discuss how to judge a technology instance (such as a tool) by introducing a ‘degrees-of-freedom’ metric bound to each of the Topology’s elements. A Topology provides us with a context-free framework on which to plot and observe a given technology type and its implementation. From this we have a better understanding of how the technology fits into the entire range of development activities which it is intended to support. To illustrate how such analysis can be conducted we consider two popular database technologies. Our Technology Topology clearly demonstrates how the two products differ using the ‘degrees-of- freedom’ metric we introduce. Using a Technology Topology in this way assists in the visualization of a product’s capabilities, facilitates decision making in product selection, and guides implementation by not stretching a product into inappropriate environments or uses. INTRODUCTION Evaluating today’s software tools can remind one of the old parable of the elephant and the blind men. One man touches its tusk and pronounces it smooth. Another touches its skin and pronounces it rough. Software Development Environments and their composite technologies can produce the same effect on the ill prepared or poorly coordinated evaluation team. The underlying reason for this, much as in the case of the elephant, is the complexity of the beast under observation and its range of habitat. While the elephant represents a highly adapted biological organism ultimately suited to the variances of its environment, software tools have yet to evolve quite so far. To understand why this is so we must first consider the full scope of development activity which a tool attempts to cover and those which they avoid.