Extreme Programming and Embedded Software Development

This article explores advantages Extreme Programming can provide to embedded software developers. The article also looks at some of the challenges of applying XP to embedded software development, and how to adapt them. This article was submitted and presented at then Embedded Systems Conference in 2002, 2003, 2004 while James Grenning was with Object Mentor.

There are two (almost) universal truths of embedded systems development. The first truth is shared with software development projects of all kinds. The date is fixed long before the requirements are known. The second truth is unique to embedded development. The target hardware is not available until late in the project. Without hardware in the early part of the project, progress can be limited. Teams are limited to the creation of speculative requirements and design documents. The software development team is often on the critical path for delivering the product. Wouldn’t it be helpful if the team could make concrete progress on the software earlier in the development cycle?

What if there was a way to make concrete progress early and often in your embedded project? Can software development get off the critical path? Would you be interested if both those questions could be answered affirmatively? If so, then you probably want to know more about applying the techniques of Extreme Programming[BECK] to embedded systems development.

Download the slides.
Download the paper.

Published: March 01, 2004