Sie sind hier

INVITED SPEAKER: Accelerating Agile Development through Software Reuse

Main Track

One of the main attractions of agile methods over traditional heavyweight approaches to software engineering is their ability to accelerate the software development process. By minimizing superfluous artefacts such as documentation and focusing on coding, agile methods increase productivity and reduce overall development time. However, this focus also has a down side - it means that new applications are typically written entirely from scratch. Component-based software reuse, as envisaged by McIlroy back in 1969 is not explicitly addressed in the current generation of agile methods.

Until recently this was not a big issue, because resuing fine grained software components was not a cost effective proposition anyway - there simply were not enough good components around and the technologies available for finding them were too inaccurate. However, this situation has changed with the dramatic increase in the amount of freely available open source software, and the emergence of high-performance code search engines such as Koders, Google Code Search and Merobase dedicated to indexing and support searches over these code resources. For the first time, these technologies make fine-grained component reuse a viable proposition, reducing the effort involved in finding and reusing components to a level similar, or lower, to that involved in building them from scratch.

Agile projects, above all, stand to benefit from this enhanced opportunity for reuse because they specialise in development at the level of fine grained components, and they offer the same basic value proposition as software reuse - accelerated development. They also emphasise the description of what components should do (i.e. tests) before the description of how they should do it (i.e. implementation) providing a ready made opportunity to search for potential reusable components before they are implemented from scratch. In short, there is a high potential synergy between agile development and software reuse which can further accelerate the software development process and lower costs.

In this talk, Colin Atkinson will introduce a software tool developed by the Software Engineering Group at the University of Mannheim that aims to promote this synergy. Known as Code Conjurer, the tool is an Eclipse plugin driven by the Merobase component search engine. The tool is released as open source under the GNU/GPL license.


Colin Atkinson has been the leader of the Software Engineering Group at the University of Mannheim since April 2003. Before that he held a joint position as a professor at the University of Kaiserslautern and project leader at the affiliated Fraunhofer Institute for Experimental Software Engineering. From 1991 until 1997 he was an Assistant Professor of Software Engineering at the University of Houston – Clear Lake. His research interests are focused on the use of model-driven and component based approaches in the development of dependable computing systems. He received a Ph.D. and M.Sc. in computer science from Imperial College, London, in 1990 and 1985 respectively, and received his B.Sc. in Mathematical Physics from the University of Nottingham 1983.