As the Agile Manifesto approaches its 10th anniversary, SD Times is speaking to several of its authors to discuss the gathering at Snowbird, what perspective they brought to the meeting, and what they might have done differently. The 12 original authors will reunite at the Agile Alliance Conference this August in Salt Lake City.
In this installment, we speak to James Grenning, founder of Renaissance Software Consulting, who currently trains, consults and coaches teams worldwide.
SD Times: What was your reason for attending the gathering at Snowbird?
Grenning: At the time, I worked for Bob Martin at Object Mentor. He invited me to join him at the lightweight methods conference, as we called it at the time. Of course I told him I wanted to go (there would be skiing!). I also looked forward to spending some time with the pioneers of Extreme Programming that I already knew, as well as other “lightweights” that I had not yet met.
What area of development had you been working on, and how did you see it meshing with the other efforts going on at that time? Are you still working to advance that specialty?
I was coaching and training engineers and businesspeople in Extreme Programming. Some, but not all, of the teams I worked with created embedded software. When I first saw Extreme Programming, it seemed to be a very good fit for the problems I had seen in embedded development efforts, particularly test-driven development, evolutionary design and automated acceptance testing.
I saw a potential in using TDD for embedded to help make progress before hardware was ready, and to leverage a TDD environment off the embedded processor to help speed up development. I learned, refined and adapted TDD to programming in embedded C and C++. I am one of the authors of CppUTest, an open-source unit test harness that we use for embedded C and C++.
I’ve also just finished writing a book on the topic, “Test-Driven Development for Embedded C.” Now most of my time is spent working with embedded developers and teams in their quest to adopt and adapt agile and TDD in their development efforts.
Looking back, is there anything you would have included or struck from the Manifesto?
I don’t think I would take anything out of the Manifesto, but I might add something about continuous improvement, adaptation and learning.
I feel that agile itself is not the goal, but rather the goals are about finding honest and productive ways to deliver valuable products. Regarding learning, I unfortunately find too many people that think they are masters and have nothing else to learn. Many are masters—they have that part right—but there still is more to learn. We have a young and evolving field with much yet to discover.
Where do you see agile development moving in the next five years?
I think agile has a way to go. It’s not a stationary target. Kent Beck told us 12 years ago that Extreme Programming was just a starting point. He was right. Agile is exciting to me because of all the passionate people that are working to make everyone’s lives better. They keep pushing the state of the art.
Unfortunately, I find too many people and organizations that are agile in name only and don’t really embrace the values or practices. There will continue to be failed adoptions, great successes and sustained improvement efforts.
One of my hopes is that people view agile and a road to continuous improvement. I’ve also recently started to learn more about lean and Kanban, both parts of the agile camp. I see them providing great influence.
I’d also like to offer what I think will happen with agile in the embedded software world: I have been educating and promoting agile, TDD and improved design at embedded conferences almost for a decade now. At first I was a lonely voice. I found that many engineers doing embedded software were not open to my message. Now it seems the message is being heard.
My talks and others at the Embedded Systems Conference are heavily attended, with many attendees offering their “agile for embedded” experiences. We have an Embedded stage at the Agile 2011 conference in Salt Lake City this summer, which will let us learn more from other agile embedded adopters as well as familiarize people new to agile the possibilities.