Software engineering technology innovation – Turning research results into industrial success
Introduction
Research organizations produce a steady stream of results, typically in the form of publications, such as papers and technical reports, and optionally complemented with proofs of concepts. Whether or not these results are viewed to be successful strongly depends on the perspective taken by its beholder. From an academic perspective, success is typically defined in terms of the numbers of papers produced and the proclaimed quality of the journals and the proceedings of conferences in which these publications appear. From an industrial perspective, success is typically measured in terms of resulting business success, based on revenues of products and/or intellectual property rights. At least to become a business success, research results not only have to be transferred from a research organization to an industrial organization, but must also be applied.
We perceive a software engineering technology (SET) as a method or tool to develop software for high-tech systems. These systems contain large amounts of software and are characterized by the fact that several disciplines, like hardware, mechanics and optics should work together with software. Examples of high-tech systems are medical devices like MR scanners (Jaring et al., 2004) and lithography systems like a waferstepper (Engels and Brugman, 2007). Apart from its size, the software in these systems is also complex and therefore requires dedicated software engineering technology (SET). In Section 4, we will illustrate two of such technologies, namely relation partition algebra (RPA) and an aspect oriented language (AOL) and tool for C. But many other techniques can be thought of such as:
- –
Architecture description languages (ADLs), like Koala (Ommering et al., 2000) and architectural methods (Bril et al., 2005).
- –
Configuration management systems (Krikhaar and Crnkovic, 2007).
- –
Modeling techniques, like UML2.0, with related tooling to draw e.g., class or activity diagrams (Fowler, 2003).
- –
Software process improvement support, like (Humphrey, 1989).
- –
Verification and/or testing techniques, like Model-based testing (Broy et al., 2005).
- –
Process approaches, like RUP (Kruchten, 2000) and Scrum (Kniberg, 2001).
Principally, three types of software engineering technologies (SETS) can be distinguished, namely: methods, tools and paradigms. A method consists of an underlying model, a language, defined steps and ordering of steps and guidance for applying the method (Kronlöf, 1993). A tool is support to implement a method. It might be a program that aids in the development of other programs, like a compiler or test generation tool. The broadest qualification of a technology is when it is perceived as a paradigm, a general theory, like object-oriented technology. In this paper, we focus on the transfer of methods supported by tools.
We define technology transfer from research to an industrial organization as a process that takes a proof-of-concept version of a technology from research as input and yields a production proof version of that technology embedded into that industrial organization as output. This is also true for software engineering technology (SET). The technology is considered to be embedded in the receiving organization when it is used for a considerable period of time in a number of projects. The technology transfer is considered to be sustainable (Punter et al., 2006) when its application no longer depends on the people who originally introduced the technology, such as ‘champions’ that promote the technology to their colleagues. Instead, the receiving organization took care of ownership of the technology.
We acknowledge to Krasner (1995) that “successful technology transfer” occurs when a perceived problem meets a technologically based solution within an appropriate interval of time and when there exists “commitment on both sides of the producer–consumer relationship at all organizational levels”. We add to this definition that transfer is successful if the technology supports the business success, e.g., because it is an innovation to an existing development process that helps in reducing the development lead-time (shorter time-to-market), improving the quality of constituent software in products, and or reducing the development cost.
During the past 15 years, in which we – the authors – were involved in large software engineering projects in the Netherlands, we experienced that technology transfer is particularly challenging when the technology to be transferred does not belong to the core business of the receiving organization. A SET, such as an analysis or design method and tool, is an outstanding example of technology that typically does not belong to the core business of an organization. To justify investments in technology transfer and costs of subsequent ownership of technology in such a situation, the technology must either solve a pressing problem in the receiving organization or provide that organization with a competitive edge. We therefore view transfer of SET as a change process, which aims at making a business success out of research results.
The remainder of this paper is organized as follows: In Section 2, we focus on the parties participating in an innovation process (stakeholders and roles) and their view on a technology. By doing so, we also address the demand pull and technology push-orientation in transfer as well as ownership of technologies. In Section 3, we define technology innovation as a process consisting of two phases: technology creation and technology transfer. The latter phase consists of three activities, namely: technology evaluation, technology engineering, and technology embedding. Based on these activities, we revisit the push and pull-orientation in transfer in this section. In Section 4, we present two case studies from the Dutch high-tech sector (in which a lot of software is developed) that illustrate these activities in technology transfer. Section 5 sets the relation to existing literature on technology transfer in software engineering. In Section 6, we summarize and draw some conclusions.
Section snippets
Parties and ownership in technology transfer
This section discusses on the parties that are engaged in innovation in general and in the technology transfer phase in particular. In the first Section 2.1 we view the parties as stakeholders that have their own values and/or expectations about a technology. In the second Section 2.2 we look at the parties from a role perspective, where each role has a set of connected behaviors according to which a party acts in a technology transfer. Next, we address the technology push and demand
Technology innovation
As we have stated in the introduction we focus in this paper on software engineering technologies that have to be created, they are not ready-to-use or off-the-shelf. This implies that the technology creation is rather important for technology transfer, although we agree with Pfleeger (1999) that the creation is not part of the transfer itself. We prefer to define a technology creation phase11 that is conducted in parallel iteration with
Technology transfer in the Dutch high-tech sector: push versus pull
The overall process that we introduced in the previous section is based on our experiences in the Dutch high-tech sector. Nowadays, these systems contain millions of lines of code. In this section, we look at two cases to illustrate the activities of the transfer phase in the Netherlands. The cases are:
- •
Relation partition algebra (RPA) approach for software architecture analysis and validation.
- •
Aspect oriented language (AOL) approach for weaving aspects.
Related work
Existing literature reports about factors that are relevant for the success of the technology transfer of software engineering technologies. Factors like the availability of a champion, management commitment are mentioned, see, e.g., (Pfleeger and Menezes, 2000, Bril et al., 2005). We recognize these factors from our observations, however in this paper we take the position to look at the transfer process, and identify its characteristics.
Redwine and Riddle (1985) have reviewed the growth and
Conclusion and discussion
This paper has dealt with the innovation of software engineering technology by transferring methods and tools from research to industry. Innovation encompasses two phases, namely: technology creation – which is synonym to research in our paper – and technology transfer. Although transfer was the primary focus of our paper, we have argued that we need to balance both phases. Focusing on technology transfer requires also paying attention to technology creation. Approaching both phases has enabled
Acknowledgement
We thank the anonymous reviewers and Pierre America for their comments on earlier versions of this paper.
Teade Punter is Knowledge Manager at the Embedded Systems Institute, the Netherlands. He is involved in the transfer of research results to industrial partners and the consolidation of this knowledge into courses, methods and tools. He received a M.Sc (Ir.) from University of Twente in 1991 and a Ph.D. from Eindhoven University of Technology in 2001. Teade started his professional career in course development at the Open University of the Netherlands. In 1996 he started his PhD work on software
References (35)
- et al.
Software configuration management
Science of Computer Programming
(2007) Understanding and improving technology transfer in software engineering
Journal of Systems and Software
(1999)A method for module architecture verification and ist application on a large component-based system
Information and Software Technology
(2003)- et al.
Architectural support in industry: a reflection using C-POSH
Journal of Software Maintenance: Research and Practice
(2005) - et al.
Maintaining a legacy: towards support at the architectural level
Journal of Software Maintenance: Research and Practice
(2000) - et al.
Software technology transfer
Software Engineering Journal
(1991) - et al.
Identifying objects using cluster and concept analysis
- et al.
ASML: the carrying industrial partner
- et al.
A relational approach to support software architecture analysis
Software-Practice and Experience
(1998)
UML Distilled: A Brief Guide to the Standard Object Modeling Language
Managing the Software Process
Representing variability in a family of MRI scanners
Software-Practice and Experience
Cited by (10)
A quantitative model for software engineering trends
2011, Information SciencesCitation Excerpt :Our work complements the techniques discussed in Hodgson et al. [11] and the profiles of success that we discuss in this paper provide an alternative means to mitigate the risks posed by unpredictable technological shifts. In Punter et al. [24] Punter et al. discuss the process of innovation in software engineering technologies, which they break down into two phases, technology creation and technology transfer. They focus on the latter phase, which they further divide into three phases, namely technology evaluation, technology engineering, and technology embedding.
An industry survey on approaches, success factors, and barriers for technology transfer in software engineering
2023, Software - Practice and ExperienceAdaboost-multilayer perceptron to predict the student’s performance in software engineering
2019, Bulletin of Electrical Engineering and InformaticsApproaches, success factors, and barriers for technology transfer in software engineering—Results of a systematic literature review
2018, Journal of Software: Evolution and ProcessAn empirical investigation of transferring research to software technology innovation: A case of data-driven national security software
2018, International Symposium on Empirical Software Engineering and Measurement
Teade Punter is Knowledge Manager at the Embedded Systems Institute, the Netherlands. He is involved in the transfer of research results to industrial partners and the consolidation of this knowledge into courses, methods and tools. He received a M.Sc (Ir.) from University of Twente in 1991 and a Ph.D. from Eindhoven University of Technology in 2001. Teade started his professional career in course development at the Open University of the Netherlands. In 1996 he started his PhD work on software product certification, which was done in cooperation with Kema Nederland B.V. From 2000 till 2004 he was a groupleader assessment and measurement at Fraunhofer IESE, Germany. After that he was for two year a consultant in formal methods research at Eindhoven University of Technology. Since January 2007, he is at the Embedded Systems Institute. Teade’s interests are in model driven engineering, integration & testing and technology transfer.
René Krikhaar is a part-time Associate Professor of Software Engineering at the VU University Amsterdam (VUA) and director of ICT NoviQ, a consultancy company in the Netherlands. He received his M.Sc Informatics from the Radboud University Nijmegen in 1986, a M.Sc in Knowledge Engineering (with honors) from the Middlesex University (Great Britain) in 1994 and a Ph.D. from University of Amsterdam in 1999. After his military duty, he started his professional career at Philips in 1987 and worked at both Philips Research as well as various Business Units (Communications, Healthcare). In 2006 he started at ICT NoviQ as principal consultant, advising companies in software architecture, configuration management and quality (processes). His main interests are Collaborative Software Production addressing themes which helps industry to develop complex systems with large, geographically and organizationally distributed. He teaches Software Configuration Management for Software Engineering Master Students.
Reinder J. Bril is an Assistant Professor of Computer Science in the department of Mathematics and Computer Science at the Technische Universiteit Eindhoven (TU/e), The Netherlands. He received a B.Sc. and M.Sc. (both with honors) from the University of Twente, the Netherlands in 1981 and 1984, respectively, and a Ph.D. from the TU/e in 2004. He started his professional career in January 1984 at the Delft University of Technology. From May 1985 till August 2004, he has been with Philips, and worked in both Philips Research as well as Philips’ Business Units. In September 2004, he made a transfer back to the academic world, i.e. to the System Architecture and Networking (SAN) group of the TU/e. His main research interests are currently in the area of reservation-based resource management for networked embedded systems with real-time constraints.