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.