Today, we feature exclusive conversation with one of the original signatories of Agile Manifesto and XP Pioneer – James Grenning. It was our pleasure to converse with him. We learned more about his thoughts on Agile, Birth of Planning Poker, Agile implementation in non-IT environments, and his memories with Mike Beedle.
Q1. It is said that you were Agile before it was Agile. Please elaborate a little for our readers.
James: I started learning and practicing Extreme Programming late in 1999. The Agile Manifesto was created in 2001. Simply, XP proceeded the writing of the Agile Manifesto. My opinion is that there would not have been a manifesto, if there was no XP. The provocative name got people looking at it, mocking it a bit. Though, they took notice and many discovered how it provided a way of working that solved many of the problems individuals, companies and our industry had. With 20 year experience prior to seeing XP, I got the problems and the solutions seemed logical.
Q2. How was Planning Poker born? How did it transform ‘Estimation’ in past few years?
James: There is a paper on my website describing planning poker. You can get the complete story here https://wingman-sw.com/articles/planning-poker.
Basically, at an early XP planning meeting, our client’s two senior architects would debate for an hour how to implement something and finally write down an estimate. Often the same estimate they mentioned in the first minutes. We had a lot of stories to estimate; all the talking got in the way. Most the other people around the table were not engaged.
We took a break and when we got back together, I asked participants to take a note card and write their estimate on the card, then simultaneously reveal their estimates. (Deciding then showing helped to avoid bias of verbal estimates. a.k.a. telegraphing) After a little while people were holding what looked like a poker hand. Planning poker was born. I wrote about it and posted it on Object Mentor’s website. Mike Cohn read my paper and asked if he could put it in his book and started giving away decks of planning poker cards at conferences.
In retrospect, planning poker was a pragmatic solution to a problem in a planning meeting. We studied and practiced structured problem solving as part of Total Quality Management (TQM) at Teradyne in the 1980s. We learned various communication and problem solving techniques. One was brainstorming, but not out loud. Given a question or a problem, everyone would write their ideas for solutions or causes on post it notes or note cards. The we would group common solutions and discuss the possibilities and merits of each proposal.
In verbal brainstorming, often ideas immediately get shot down. This tends to make people not express their ideas. It also biases the participants when the loudest or senior person dominates. The day of the first planning poker game, the two ‘experts’ dominated and no one else had a voice.
In a nutshell, planning poker was initially solving the problem of people in agreement talking too much and dominating the effort.
Q3. Which one thing, you think today’s Agile Practitioner’s are missing while implementation? Please share one of your experiences addressing such issue.
James: Most Agile adoptions I see first adopt management and planning practices. Developers struggle because they lack knowledge and skill incremental engineering. This is a a formula for pain and unhappiness.
Q4. If you have to introduce application of TDD to embedded C to a novice, what benefits would you like to highlight?
James: The initial problem being solved by TDD is that programmer make mistakes, many per hour. TDD helps detect many mistakes immediately thus preventing code and product defects. The opposite of TDD is Debug Later Programming. In DLP, programmers write code and debug it later. How long does it take to find the cause of a bug? It’s big unanswerable question. The TDD cycle is very predictable. You can read a comparison TDD vs DLP here: https://wingman-sw.com/articles/the-physics-of-test-driven-development.
TDD also produces a regression test suite virtually for free. Another driver for TDD is the need to automate tests. You can read why Manual Test is Unsustainable here: https://wingman-sw.com/articles/manual-test-is-unsustainable
These are only the started benefits. In the hands of a knowledgable and skilled software engineer, TDD has many more benefits. The experienced practitioners tell me TDD’s test let you change your mind about design and safely refactor for you needs software’s changing needs.
Q5. When developing the Agile Manifesto, have you ever thought that it would be implemented beyond the IT Industry? How do you feel when you see Agile being implemented in HR, Marketing and other non-IT practices?
James: For starters, we never thought anyone would notice or care about the Agile Manifesto. As far as applying the principles in other areas, I think it is pretty natural. People work incrementally. Some say it cannot work for embedded software. I don’t share that opinion. It works for embedded software, it can work other places. You’ve heard of the wiki-speed car? A group of people are building a car using Scrum techniques.
Be it hardware, software, or mechanical, something is being invented. Incremental learning and building is part of the process.
Q6. Agile Transformations has been an emerging trend in past few years in various domains. What it would be after Agile? Do you feel the need of any changes in Manifesto with time?
James: The Agile Manifesto is a historic document. As far as I know, none of the authors are interested in changing it. That’s not to say that Agile should not change and evolve. It should. Don’t worry about the Manifesto. It’s fine. How people adopt Agile needs to evolve. I’d like to see a big emphasis in the industry to embracing high-quality incrementation engineering approaches, those embodied in XP are a great start.
Q7. What are your plans for 2019? What should we expect coming from Wingman Software?
James: I’m cutting back my travel a bit being more selective, working with clients that really want to improve how they collaborate and engineer their products.
I’ve been doing an Industrial Internet of Things (IIoT) prototype with my brother’s company. I think there are some important concepts in how to approach the problem and how to keep code independent of the ecosystem I’m using. That will be a topic.
I’ve had some wonderful family things that have gotten in the way of writing. I’ve got ideas I’d like to share. Hopefully I’ll get back to writing.
Q8. Mike Beedle’s sudden demise has been a shock for Agile Community. Please share your fond memories with him while developing Agile Manifesto.
James: It is sad and tragic that Mike was taken so senselessly.
Mike and I skied together one of the afternoons at the meeting that created to the Agile Manifesto. We skied some very tough tree runs in that famous Utah knee-deep powder. It is a fond memory.
Mike and I did not cross paths a lot professionally. Though he was a respected man in Agile and Chicago, the city that is my home.
James W. Grenning is one of the original signatories of Agile Manifesto. He trains, coaches and consults worldwide. He started developing software in last 70s after avoiding computers from high school to early college years. He had worked in both technical and management practices to development teams.
He had authored much read book ‘Test-Driven Development for Embedded C’. James is one of the few experts in applying TDD to embedded C. With his 1.5 decades of training,coaching, and practicing TDD in C, C++, Java, and C# he will lead you from being a novice in TDD to using the techniques that few have mastered. Any C or C++ programmer can use this book to learn the whys and hows of TDD.