The Use of Agile
Agile 2007 is coming to Washington DC in August. This gathering of agile practitioners, lecturers, and other interested parties promises to be an interesting pedagogical opportunity that will incorporate plenty of informal opportunities to network with like-minded developers.
The agile movement found its roots in IT, and has slowly made some inroads into the firmware sector. My observations suggest that, to date, embedded developers use either few of agile's tenants, or cherry-pick a handful best practices into more traditional strategies. It's somewhat rare to find a shop that employs, say, all 12 of eXtreme Programming's (XP) practices.
Some XPers maintain that there is only One True Way to do XP. Others
suggest that eXtreme Programming is more a framework that one tunes to
a particular environment.
Me, I think that some of the approach's ideas should be shouted from the rooftops, praised in pulpits and embraced by all developers. Others are totally batty " or are perhaps only suited for an environment like web development that is practically orthogonal to embedded systems.
But all truly professional developers, even if totally cynical about the agile methods, should be intimately familiar with the precepts. Professionalism implies a deep connection with one's field, and a willingness to learn and use new ideas. Any developer who isn't paying attention to the agile revolution isn't part of the community of software developers.
Agile topics routinely make it into the sessions at the Embedded Systems Conference. Those classes are well-attended, suggesting a lot of interest in this topic from firmware types. Interestingly, I can't think of any classes advocating big-bang design.
Two classes at Agile 2007 will be focused on embedded development.
I talk to folks all the time who express disappointment with a book
or a conference. They've learned a few things, gotten some fodder for
thought, but had hoped for total enlightenment from the Mount. I figure
good ideas are scarce.
A book, a discussion, a conference that yields one good idea is irreplaceable. One that produces a single great idea might save weeks or months of work, or might spur a train of thought that results in a new product or a startup.
I haven't been to previous Agile Conferences, but plan to spend some time at this one, hoping to find a neat idea or two, or maybe just to meet some insightful folks that help birth new concepts. In my experience, it's pretty hard to attend any sort of conference and not learn something.
What do you think? What is agile's role in firmware development? Will you go to the conference.
Late update: according to the website, the conference is already sold out.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at firstname.lastname@example.org. His website is www.ganssle.com
IF Project = (small AND non-critical AND non-complex) THEN Agile
- Martin Allen
Agile is based on iterative and incremental development. A technique that has been in use for a few decades. The practices of agile are helping a lot of developers and teams get their work done predictably with high quality. Keep an open mind. Keep learning.
- James Grenning