Agile Methods for Embedded Systems
Agile methods are a relatively new approach for structuring and organizing the development process of software systems. In many aspects, they stand in sharp contrast to most of the process frameworks that are favored by the embedded systems industries. Based on empirical studies, we want to compare the applicability under industrial constraints and, if possible, improve current processes by combining the most successful elements.
As of now, empirical studies for the following techniques have been carried out:
Short planning horizon: What are the effects of less architectural design throughout a project? The data gathered during a lab course suggests evidence of a rather negative outcome regarding the amount of work for a short planning horizon.
Refactoring: An assessment of continuous change in order to restructure code during the complete development cycle was carried out. The effect of this restructuring process was assumed to improve non-functional aspects such as modifiability and maintainability. The main effects observed during this experiment were a smaller code base needed by the refactoring group with additional effort needed by this group.