TITLE:
Development of a Wireless Environmental Data Acquisition Prototype Adopting Agile Practices: An Experience Report
AUTHORS:
Paul Celicourt, Richard Sam, Michael Piasecki
KEYWORDS:
Data Communications Devices, Rapid Prototyping, Real-Time and Embedded Systems, Systems and Software, Testing Strategies, Wireless Sensor Networks
JOURNAL NAME:
Journal of Software Engineering and Applications,
Vol.9 No.10,
October
10,
2016
ABSTRACT: 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 (PB-PM/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.