An Investigation into Agile Methods in Embedded Systems Development

  • Caroline Oliveira Albuquerque
  • Pablo Oliveira Antonino
  • Elisa Yumi Nakagawa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7335)

Abstract

Embedded systems are widely used in diverse areas, such as avionics, consumer electronics, and medical equipments, causing a considerable impact on modern society. Since these systems sometimes deal directly with human lives, and require a considerable level of quality, their development should be subject to a rigorous process. In another perspective, agile methods (or agile processes) have been adopted by the software industry as a lightweight, iterative, and collaborative approach for developing software systems. Although agile methods do not seem to be suitable to embedded systems, they have been successfully used for building such systems. However, there exists no detailed and analytical overview of the use of such methods in the embedded systems domain. The main objective of this paper is to present a detailed view of how agile methods have been used in the development of embedded systems, and to describe their benefits, challenges, and limitations. For this, we have applied Systematic Review, a technique for systematically exploring, organizing, summarizing, and assessing potentially all works conducted in a specific research area. As the main result, we have observed that agile methods have brought advantages to embedded systems development; however, more studies should be conducted. Furthermore, this work is also intended to contribute to the identification of important new research lines.

Keywords

Software Development Primary Study Embed System Embed Software Agile Method 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Vahid, F., Givargis, T.D.: Embedded System Design: A Unified Hardware/Software Introduction, 1st edn. Wiley Higher Education (2002)Google Scholar
  2. 2.
    West, D., Grant, T.: Agile development: Mainstream adoption has changed agility. In: World Wide Web (2011), (On-line) http://www.forrester.com/rb/Research/agile_development_mainstream_adoption_has_changed_agility/q/id/56100/t/2 (accessed October 02, 2011)
  3. 3.
    Larman, C.: Agile and Iterative Development: A Manager’s Guide. Pearson Education (2003)Google Scholar
  4. 4.
    Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE 2007-001, Keele Univ. and Durham Univ. (2007)Google Scholar
  5. 5.
    Kamal, R.: Embedded systems: architecture, programming and design. McGraw-Hill (2003)Google Scholar
  6. 6.
    Wilmshurst, T.: Designing embedded systems with PIC microcontrollers: principles and applications. Elsevier (2007)Google Scholar
  7. 7.
    Hill, J.H.: Agile Techniques for Developing and Evaluating Large-scale Component-based Distributed Real-time and Embedded Systems. PhD thesis, Graduate School of Vanderbilt University (May 2009)Google Scholar
  8. 8.
    Vijayasarathy, L., Turk, D.: Drivers of agile software development use. Information and Software Technolology 54(2), 137–148 (2012)CrossRefGoogle Scholar
  9. 9.
    Greene, B.: Agile methods applied to embedded firmware development. In: ADC 2004, Salt Lake City, Utah, pp. 71–77 (2004)Google Scholar
  10. 10.
    Wilking, D.: Empirical studies for the application of agile methods to embedded systems. Master’s thesis, Aachen University (2008)Google Scholar
  11. 11.
    Heidenberg, J., Matinlassi, M., Pikkarainen, M., Hirkman, P., Partanen, J.: Systematic Piloting of Agile Methods in the Large: Two Cases in Embedded Systems Development. In: Ali Babar, M., Vierimaa, M., Oivo, M. (eds.) PROFES 2010. LNCS, vol. 6156, pp. 47–61. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Dyba, T., Dingsoyr, T., Hanssen, G.K.: Applying systematic reviews to diverse study types. In: ESEM 2007, Los Alamitos, USA, pp. 225–234 (2007)Google Scholar
  13. 13.
    Mueller, G., Borzuchowski, J.: Extreme embedded a report from the front line. In: Practitioners Reports, OOPSLA 2002, Seattle, USA (2002)Google Scholar
  14. 14.
    Karlstroem, D., Runeson, P.: Scaling Extreme Programming in a Market Driven Development Context. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 363–365. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Ronkainen, J., Abrahamsson, P.: Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 73–79. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Manhart, P., Schneider, K.: Breaking the ice for agile development of embedded software. In: ICSE 2004, Edinburgh, Scotland, pp. 378–386 (2004)Google Scholar
  17. 17.
    Kettunen, P., Laanti, M.: How to steer an embedded software project: tactics for selecting the software process model. Inf. Software Technology 47(9), 587–608Google Scholar
  18. 18.
    Chae, H., Lee, D., Park, J., In, H.P.: The partitioning methodology in hardware/software co-design using extreme programming: Evaluation through the Lego robot project. In: CIT 2006, Washington, DC, USA, p. 187 (2006)Google Scholar
  19. 19.
    Cordeiro, L., Barreto, R., Barcelos, R., Oliveira, M., Lucena, V., Maciel, P.: Txm: an agile hw/sw development methodology for building medical devices. SIGSOFT Softw. Eng. Notes 32(6) (November 2007)Google Scholar
  20. 20.
    Fletcher, M., Bereza, W., Karlesky, M., Williams, G.: Evolving into embedded development. In: AGILE 2007, Aalborg, Denmark, pp. 150–155 (2007)Google Scholar
  21. 21.
    Cordeiro, L., Barreto, R., Barcelos, R., Oliveira, M., Lucena, V., Maciel, P.: Agile development methodology for embedded systems: A platform-based design approach. In: ECBS 2007, Tucson, USA, pp. 195–202 (2007)Google Scholar
  22. 22.
    Wang, Z.: Fuxi: An agile development environment for embedded systems. In: COMPSAC 2007, Beijing, China, pp. 631–632 (2007)Google Scholar
  23. 23.
    Cordeiro, L., Mar, C., Valentin, E., Cruz, F., Patrick, D., Barreto, R., Lucena, V.: An agile development methodology applied to embedded control software under stringent hardware constraints. SIGSOFT Softw. Eng. Notes 33(5), 1–10 (2008)CrossRefGoogle Scholar
  24. 24.
    Cordeiro, L., Mar, C., Valentin, E., Cruz, F., Patrick, D., Barreto, R., Lucena, V.: A platform-based software design methodology for embedded control systems: An agile toolkit. In: ECBS 2008, Belfast, Northern Ireland, pp. 408–417 (2008)Google Scholar
  25. 25.
    Cordeiro, L., Barreto, R., Oliveira, M.: Towards a semiformal development methodology for embedded systems. In: ENASE 2008, Funchal, Portugal, pp. 5–12 (2008)Google Scholar
  26. 26.
    Salo, O., Abrahamsson, P.: Agile methods in european embedded software development organisations: a survey on the actual use and usefulness of eXtreme programming and Scrum. IET Software 2(1), 58–64 (2008)CrossRefGoogle Scholar
  27. 27.
    Smith, M., Miller, J., Daeninck, S.: A test-oriented embedded system production methodology. Journal of Signal Processing Systems 56(1), 69–89 (2009)CrossRefGoogle Scholar
  28. 28.
    Smith, M., Miller, J., Huang, L., Tran, A.: A more agile approach to embedded system development. IEEE Software 26(3), 50–57 (2009)CrossRefGoogle Scholar
  29. 29.
    Srinivasan, J., Dobrin, R., Lundqvist, K.: State of the Art in using agile methods for embedded systems development. In: COMPSAC, Seattle,USA, pp. 522–527 (2009)Google Scholar
  30. 30.
    Cawley, O., Wang, X., Richardson, I.: Lean/Agile Software Development Methodologies in Regulated Environments – State of the Art. In: Abrahamsson, P., Oza, N. (eds.) LESS 2010. LNBIP, vol. 65, pp. 31–36. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  31. 31.
    Savolainen, J., Kuusela, J., Vilavaara, A.: Transition to agile development - rediscovery of important requirements engineering practices. In: RE 2010, Sydney, Australia, pp. 289–294 (2010)Google Scholar
  32. 32.
    Kruchten, P.: The Rational Unified Process: An Introduction, 3rd edn. The Addison-Wesley Object Technology Series. Addison-Wesley (2003)Google Scholar
  33. 33.
    Palmer, S.R., Felsing, J.M.: A Practical Guide to Feature-Driven Development. Prentice Hall (2002)Google Scholar
  34. 34.
    Eclipse: OpenUP, World Wide Web (2011) (On-line), http://epf.eclipse.org/wikis/openup/ (accessed December 29, 2011)
  35. 35.
    International Organization for Standardization: ISO/DIS 26262 Software compliance: Achieving functional safety in the automotive industry (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Caroline Oliveira Albuquerque
    • 1
  • Pablo Oliveira Antonino
    • 1
  • Elisa Yumi Nakagawa
    • 2
  1. 1.Fraunhofer Institute for Experimental Software EngineeringKaiserslauternGermany
  2. 2.Dept. of Computer SystemsUniversity of São Paulo - USPSão CarlosBrazil

Personalised recommendations