2008-19: Empirical Studies for the Application of Agile Methods to Embedded Systems
The following technical report is available from http://aib.informatik.rwth-aachen.de: Empirical Studies for the Application of Agile Methods to Embedded Systems Dirk Wilking AIB 2008-19 Agile Methods are a collection of software engineering techniques with specific differences to traditional software engineering processes. The main differences consist of rapid, cycle based development phases setting the focus of attention on feedback of the source code being developed. The results taken from user feedback, software reviews, or other forms of software evaluation are used as a basis for changes which comprise for example corrections of the user interface or the adaption of the software architecture. Based on single techniques taken from Agile Methods, their application to embedded systems software engineering is empirically evaluated in this thesis. The experiments and studies which have been conducted comprise the techniques of refactoring, short releases, and test driven development. The results hint to inconclusive effects. For example it could be shown that a constant effort for functional work is achieved by using the short releases technique, but its impact on the resulting software remains difficult to assess. For refactoring a reduced consumption of memory was found, but this effect was created by an overhead for applying the refactoring technique itself. The effect of agile techniques appears to be inferior to individual software development ability of participants in terms of factor strength. Consequently, the second part of the thesis aims at creating variables for the purpose of experiment control. Variables comprise C language knowledge and viscosity measuring a participant's level of reluctance to change a fragment of source code. An additional experiment consists of the replication of the N-version programming experiment by Knight and Leveson. The original experiment of independence between two program failures has been extended by an additional factor of hardware diversity. By using different hardware platforms, it has been expected to create mutual independent failures which is not approved by experimental observations.
participants (1)
-
Carsten Fuhs