Publications and Research

Document Type


Publication Date



The traditional software development model commonly named “waterfall” is unable to cope with the increasing functionality and complexity of modern embedded systems. In addition, it is unable to support the ability for businesses to quickly respond to new market opportunities due to changing requirements. As a response, the software development community developed the Agile Methodologies (e.g., extreme Programming, Scrum) which were also adopted by the Embedded System community. However, failures and bad experiences in applying Agile Methodologies to the development of embedded systems have not been reported in the literature. Therefore, this paper contributes a detailed account of our first-time experiences adopting an agile approach in the prototype development of a wireless environment data acquisition system in an academic environment. We successfully applied a subset of the extreme Programming (XP) methodology to our software development using the Python programming language, an experience that demonstrated its benefits in shaping the design of the software and also increasing productivity. We used an incremental development approach for the hardware components and adopted a “cumulative testing” approach. For the overall development process management, however, we concluded that the Promise/Commitment-Based Project Management (PBPM/ CBPM) was better suited. We discovered that software and hardware components of embedded systems are best developed in parallel or near-parallel. We learned that software components that pass automated tests may not survive in the tests against the hardware. Throughout this rapid prototyping effort, factors like team size and our availability as graduate students were major obstacles to fully apply the XP methodology.


This article was originally published in Journal of Software Engineering and Applications, available at DOI: 10.4236/jsea.2016.910031.

This article is licensed under a Creative Commons Attribution International License (CC BY 4.0).



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.