On the eve of the Snowbird Conference, James Grenning was working with Robert C. Martin at Object Mentor when Uncle Bob, who organized the Snowbird Conference, sent an invitation to James. When he learned of the conference location, James accepted the invitation without hesitation and enthusiastically cheered, "I'm going to go skiing!" No one could resist the lure of Snowbird. After all, " it is one of the best ski resorts in the world". Of course, what attracted him more than skiing was that he had the opportunity to discuss his views on software development with Kent Beck, Ron Jeffries, Martin Fowler, Ward Cunningham, etc.
Source：FB Post by Alistair Cockburn
However, he didn't think the conference would have any beneficial impact on his work, nor did he expect it to have such a large and profound impact on the software development industry. "We were pretty sure no one would care about this conference, but at least we did something: Find out what we have in common and where the common ground is."
The Agile Manifesto is, in some ways, the product of people coming together to seek common ground while reserving differences. James thinks it's similar to Planning poker in that they both have something in common: a team needs to agree on a certain part.
The inspiration for Planning poker came from a failed planning meeting. The participants included James as a Scrum Master and 8 developers. Two senior engineers led the meeting, but the two engineers repeatedly discussed how to build user stories during the meeting. In a chaotic situation, James took half an hour or even an hour to realize that the two men were talking the same person-hours at the beginning of the meeting as they were at the end and arguing about what method to use. The other six people in the meeting were already tired because they were not involved in the discussion and estimation. Coincidentally, James had index cards in his hand, so after an intermission at the meeting, he handed out cards to everyone. James requested that everyone could only play their cards after a task was presented and not say anything to reach a consensus decision quickly.
James wrote this story on the Object Mentor website and introduced the Planning poker concept. Then Mike Cohn discovered the method and invoked the Fibonacci sequence and other methods to officially promote the Planning poker without changing the way of using it. After its release, this particular poker pair became very popular for programmers.
Planning poker allows teams to avoid the cognitive bias of "anchoring" by hiding the numbers face down, which improves estimation efficiency. It's a great way to work together and avoid the crowd's confusion. Of course, the estimation doesn't depend on only a deck of cards, so James' clients have promoted planning poker applications, resulting in types such as risk poker and value poker. Although these two types of poker have not been brought to market, it is not difficult to achieve if the team wants to use them.
James started learning Extreme Programming in 1999, working as an embedded consultant. At Object Mentor, James' main job was writing use cases and building architectures for clients. Here, he had his first impressive learning of Extreme Programming and was introduced to something he hadn't known before. When he saw a demo of " Testing Priorities Over Development" (now Test-Driven Development), he was amazed: "Wow! We can break the dependency on things themselves." So if we need to build a system and are in a situation where we can't interact with the hardware, we can still create software and develop things that don't exist yet through stubs or mock objects, etc.
Inspired by introducing test-driven development for programmers who work on the embedded development, James started to give the speech on agile applications to embedded software, hoping to introduce agile to the embedded development community. Additionally, James has published a book on test-driven development: "Test-Driven Development for Embedded C".
As James brought the concept of agile and test-driven development to more embedded development engineers, he realized that languages are different. Not only the programming language is different, but the way people communicate with each other is also different because they talk about different things. Different communities have different worlds, so you can learn wider knowledge by traveling between different communities. For example, James has learned a lot about non-embedded knowledge through collaboration with Bob. Whether object-oriented, extreme programming or test-driven development, he wants to bring these learnings to as many programmers as possible.
James has always highlighted that Agile is not a goal in itself but a way to find more efficient methods to deliver valuable products. In the interview on the 10th anniversary of the Agile Manifesto in 2011, he said that he had the same original heart compared with himself ten years ago and always has a self-learning and progressive spirit. He constantly tried, verified, and improved his thoughts and practice after another. So what Agile brings to James is a way to move forward, not a destination where he can stop. The new decade has now rushed by, but we believe that he is always progressing, never stopping through his constantly updated website and active posts.