I recently attended the Agile2011 Conference in Salt Lake City, Utah. Atomic has been applying Agile practices in the embedded realm for years, but this was the first time the Agile Conference included a track focused on embedded systems development.
I was lucky enough to get to present “Growing Embedded Applications Organically with Ceedling and Friends”, but the most valuable part of that experience was to learn what other great things the Embedded Stage had to offer.
Throughout Atomic’s endeavors of pushing Agile into the embedded realm, we noticed something. Although Agile practices and methodologies are focused on software development, the motivations and principles are applicable to many other engineering disciplines as well. The presence of two presentations regarding the application of Agile to hardware development proved that we were not the only ones intrigued by this broader applicability.
Neil Johnson of XtremeEDA gave a great talk, “Applying Agile to IC Development… We’re Not That Different After All!” In this session, Neil explored how continuous testing, iterations, and ongoing planning can be effectively applied to the development of the actual chips that run the code that us software dudes write. Timo Punka of Schneider Electric presented an even broader experience report on applying Agile to developing full hardware solutions, “Agile Hardware and Co-Design.”
It was amazing to hear that Timo and his team were able to define and implement iterations of only two weeks — each with a working system! In order to define realizable iterations, they utilized prefabricated development boards and breadboards for interfacing circuits. The end iteration resulted in a working fully-custom embedded system. It was both enlightening and inspiring to see that Atomic is not alone in seeing the possibilities of Agile changing the way not only software is developed but also the hardware it runs on. I am excited to watch where this adventure goes…