Tuesday, June 08, 2010

Culture Conflicts in Software Engineering Technology Transfer

Abstract

Although the need to transition new technology to improve the process of developingquality software products is well understood, the computer software industry has done apoor job of carrying out that need. All too often new software technology is touted as thenext "silver bullet" to be adopted, only to fail and disappear within a very short period.New technologies are often adopted without any convincing evidence that they will beeffective, yet other technologies are ignored despite the published data that they will beuseful. Clearly there is a clash between those developing new technologies and those responsible for developing quality products. In this paper we discuss a study conducted among a large group of computer software professionals in order to understand what techniques can be used to support the introduction of new technologies, and to understand the biases and opinions of those charged with researching, developing or implementing
those new technologies. This study indicates which evaluation techniques are viewed as most successful under various conditions. We show that the research and industrial communities do indeed have different perspectives, which leads to a clash between the goals of the technology researchers and the needs of the technology users.


1. Introduction

When the computer industry began several decades ago, software engineering was somewhat unique among engineering fields in that researchers and practitioners worked closely together in using and understanding this new technology. There was easy cross-fertilization between these two communities. Over time, this has changed with tremendous growth of computer applications, computer users, and computing professionals.Programming languages have evolved from-low level assembler languages to today’s very high level visual object-oriented languages. Simple programs have become complex large systems, with some systems running an entire enterprise. Methods for developing programs have grown from design-writing on napkins to a myriad of overlapping processes comprising varieties of methods and documentation types.
A response to this growth has been a corresponding growth in organizations dedicated to supplying an everincreasing need for better tools and techniques for producing these complex products. Trade shows, research conferences, trade magazines proliferate on the technology scene. New professional technical journals regularly come alive to add to an already large number; the IEEE alone through its Computer Society currently publishes 20 monthly or bimonthly computer technology publications.
In spite of an abundance of methods and tools and information about them, why do the same problems appear over and over again in new software developments? Why are development schedules not met? Why do some systems fail? Why do some technical problems remain unsolved? While new solutions are frequently proposed, many have not been transferred into the industry at large. Many problems remain untouched by researchers. Why does it appear that today researchers and practitioners are no longer necessarily understanding each other’s needs and efforts?
Researchers have been looking at the role of experimentation in computer science research [Fenton94].However, most of these have looked at the relatively narrow scope of how to conduct replicated scientific experiments within this domain. We have been looking at the larger problems of the role of experimentation as an agent in transferring new technology into industry. We have been studying various experimental methods, in addition to the replicated experiment, useful for validating newly developed software technology [Zelkowitz97] [Zelkowitz98], and we have also studied various evaluation methods industry uses before adopting a new technology. As we later explain, these two processes are very different. The questions important to us include "Which of these validation and evaluation methods are most effective?"“Why aren't these methods used more often?” and “Why don't these results provide evidence for the transference of a technology into industry?” To try to understand these questions, we decided to survey a cross section of computer professionals about their views about software engineering technology validation.

No comments:

Post a Comment

Powered By Blogger