InfoQ has just published a video of myself and Dave Nicolette’s presentation at Agile2008 – A Managers’ Introduction to Test Driven Development
All presentations are now available on the Downloads page. The KFC Development files are in Office 2007 format, so if you have an earlier version of Office you’ll need to download the Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats.
Alan Cooper’s closing keynote turned out to be surprisingly good for me. There were points when I wondered where he was going, and whether I agreed, but by the end I was won over. His closing sentence was “Agile is the best thing to happen to Interaction Design”, and his key message seemed to be to iterate more at the start, and increment more at the end. Iterating early over a walking skeleton allows good understanding of the problem, after which incrementing becomes a less risky activity.
Finally, I was able to go to a repeat of some of Kenji’s sessions about Toyota and Lean ideas. The highlight was his translation of a Japanese video about what happened when a student of Tahichi Ohno want into a Sanyo factory and how a Kaizen, process improvement initiative went. Both informative and amusing!
That’s it for Agile 2008. Its been a different conference for me this year. On the one hand, I don’t feel to have been inspired by as many new ideas. On the other hand, I feel the kanban software development ideas are gaining traction, and I’m exciting about being able to contribute to this growing community.
Thursday morning was take up with presenting “KFC Development”. We were really pleased with how this went – around 20 people came along, and I think everyone stayed the course! Unfortunately we ran a bit over and had to stop short the final simulation, but I think we had got the ideas across by then. If you attended, please leave feedback in a comment!
In the afternoon I made it to Joshua Kerievsky’s “Estimating Considered Wasteful”. It was great to hear someone like Joshua proclaiming that he didn’t use backlogs (“piles of stories” instead), timeboxed iterations or estimates. It sounded like a very simple kanban system. He also asserted that his wasn’t an advanced technique, which I also agree with. Rather, I think were learning new ways of explaining and teaching these new ideas. A couple of other new terms – feature fat (i.e. gold plating) and bargains (i.e. high value, low cost features)
The day finished with the conference banquet. Bob Martin gave the keynote, and was on top form as usual. A great political metaphor, comparing Scrum to Obama and XP to McCain. The 2008 Gordon Pask Awards were also announced. It was delighted that the winners were Arlo Belshee and Kenji Hiranabe. Arlo’s “Naked Planning” last year was big influence on my interest in kanban, and Kenji has also been a vocal kanban advocate. Kenji also arranged a performance of “Dear XP” at the banquet. Rather then try and describe this, simply have a look!
Wednesday kicked off for me with a talk by Ron Jeffries and Chet Hendrickson on “Natural Laws of Software Development” where they began with some basic ideas about delivering features and value early, and from that, derived most of the XP practices. On the way they described some continuum, which struck me as good ways of thinking about approaches to software development:
Paper <-----> Conversation Distance <-----> Close Infrequent <-----> Continuous Abstract <-----> Examples
Two things struck me as conspicuous by their absence – timeboxing and estimation. Asking Ron about this afterwards, he suggested that they weren’t critical, although he didnt know how to develop without them. I was reassured to hear this, given my focus on kanban systems for software development.
No other highlights, unfortunately. In the afternoon, I went to “Come and Take It! Lean Pull Applied”, but found it disappointing, although the exercise had potential.
We also presented our “Managers’ Guide To TDD” which went well and was videoed for InfoQ. I hope the edit turns out OK and will post details when its available.
Thanks to VersionOne for finding me a ticket onto their cruise in the evening. A great trip round the lake with beer, food, conversation and gambling (with fake money).
This is a quick brain dump of the day for me – brief summaries and key highlights that stood out.
The conference kicked off with an interesting keynote by James Suroweicki, author of Wisdom of the Crowds. Essentiallly this is about how collective intelligence can be better than individual intelligence. For example, we had a live experiment where all attendees were asked to guess the number of lines of code in Visual Studio as part of the registration process. The average guess was 47 million and the actual answer was 43.2 million – only an 8 percent difference. In fact only 2 out of the 15000 attendees had better guesses. (The closest guess as actually by a Conchango colleage, Toby deBelder). Other examples given were Who Wants To Be a Millionaire’s Ask The Audience option, where the audience is correct 90% of the time, and horse racing betting, where the ‘favourite’, as determined by the crowd of gamblers, is invariable the winner. In order for the wisom of the crowds to work however, a number of conditions are needed, including cognitive diversity, in order to have different perspectives, and independence, to avoid group think. All of this makes perfect sense when relating it to cross functional teamwork as a basis for agile software development teams being successful.
The Feature Injection by tutorial Chris Matts was essentially a guide to how the business analysis role fits into Agile. Rather than trying to push every requirement into a system (via documentation) the BA ‘injects’ value-derived features using a pull model by describing examples. From a kanban perspective, Feature Injection describes how the features in the system are discovered and scheduled.
In the afternoon I was part of an Open Jam on the Evolution of the Agile Model. This was a follow up to a similar conversation last year, planning on how we can be more active in taking things forward next year. More to follow soon hopefully.
Finally, I went to the talk on Code Metrics & Analysis for Agile Projects by Neal Ford and Ram Singaram. The metrics themselves are really useful, but its important to remember that they are just numbers – information to be shared and used to inform decisions about the code base. They need to be “read like tea leaves” as they are context dependant. One really cool things I found was the use of tree maps to visualise the state of the code base.
- Behaviour Driven Development Using Plain Old JUnit, Elizabeth Keogh & Dan North – should given an interesting insight to how BDD is compared to plain old TDD.
- Learning Kaizen from Toyota (with Mindmaps), Kenji Hiranabe – a great opportunity to learn more about Lean and Mindmaps at the same time
- Feature Injection, Chris Matts & Julie Chickering – an interesting take on how to schedule features on demand
- Coaching Self Organizing Teams, Joseph Pelrine & Steve Freeman – Joseph has some great insights into coaching and teamwork
- Resistance As A resource, Dale Emery – Dale is the expert on this topic!
- Natural Laws Of Software Development – Deriving Agile Practices, Ron Jeffries & Chet Hendrickson – Ron and Chet always have something interesting to say
- Value Stream Mapping – Extending Our View To The Enterprise, Alan Shalloway – an essential lean tool for agile in the enterprise
- New Car Development In Toyota, Kenji Hiranabe – more lean material from about Toyota
- Come and Take It! Lean Pull Applied, Rod Coffin & Don McGreal – pull is an emerging art
- Metrics for Agility, Dan Rawsthornw – an insight into what metrics can add value
- GTD + Kanban + Round Robin for Product Owners, Thomas Nilsson – an interesting mix of techniques
- Prioritising and Sequencing Features: Several Techniques Including “Minimal Marketable Features”, Evan Campbell – MMFs are gaining recognition
- Future Direction For Agile, David Anderson – David has some unique ideas and insights
- User Story Mapping: Making Sense Out Of Your User Story Backlog, Jeff Patton – some really practical ideas for managing large backlogs
- Artful Making For Agile Team, Lee Devin & Stacia Broderick – a refreshingly different take on things!
- Estimating Considered Wasteful: Introducing Micro Release, Joshua Kerievsky – a really lean approch to agile
- Exploring User Stories Through Mind Mapping, Kenji Hiranabe & Takeshi Kakeda -a powerful use of mind mapping
- Starting A Kanban System for Software Engineering With Value Stream Mapping and Theory Of Constraints, Corey Ladas – Corey is a master of kanban
Agile 2008 is almost here and I’m looking forward to presenting 3 sessions this year.
Managers Introduction to Test Driven Development (with Dave Nicolette)
Wednesday 6th, 16:00 – 17:30, Civic Ballroom South, Customers & Business Value Stage
The purpose of this session is to help non-technical managers understand the business value of one of the popular agile software development techniques. It is designed to help managers understand the impact on their projects when their technical teams use the agile technique, test driven development (TDD). We begin by demonstrating the technique of TDD using a tool familiar to nearly all managers: Microsoft Excel. Clarke Ching developed a TDD exercise using Microsoft Excel that many others have used as the basis for demonstrations and presentations on the subject. We use this exercise to demonstrate the red-green-refactor TDD cycle with a tool familiar to nearly all managers so that they can see what the buzzword means and get a feel for the technique. This is followed by a presentation focusing on the effect of TDD on a project’s timeline, code quality, cost of development, cost of ownership/support, and longevity of the code in production. The core of the message is that TDD helps a team control the accumulation of technical debt in the codebase, and this in turn controls costs, reduces time to market, and results in a cleaner product that will have a longer production lifetime.
KFC Development – Finger Lickin’ Good (with Aaron Sanders)
Thursday 7th, 8:30 – 12:00, Essex Ballroom, Breaking Acts Stage
This workshop explores three important Lean concepts – Kanban, Flow and Cadence (KFC) – which can be combined to generate a more pipeline-based approach to software development, as opposed to the more common timebox-based approaches of more traditional Agile methods. We will describe our experiences implementing these ideas at Yahoo! and explain the concepts using examples, simulations and games. In addition, because this is a new and emerging way of working, there will be an opportunity for discussion between the participants about how the ideas might be applied in their own situations, in order to advance the art.
Integrating Scrum with the Process Framework at Yahoo! Europe (with Alexandre Boutin)
Friday 8th, 8:30 – 10:00, Kenora, Agile & Organisational Culture Stage
This presentation describes how Yahoo! International, and in particular, the Yahoo! Europe, has moved from having a very waterfall inspired process framework, to having one which is very lightweight and flexible, and thus compatible with Agile methodologies. This was achieved through Agile teams collaborating with the Process Group in its own iterative inspect and adapt cycle. The Process Group has evolved from being a control-oriented team, with a process-centric framework, to being a coaching-oriented team, with an organisational-centric framework. Thus, rather than telling teams how to run their projects, they help teams ensure they are meeting business needs.
I’m really pleased to have had a number of submissions accepted for various conferences this year. I’ve added details onto my Calendar page.
In particular I’ve had 3 talks accepted for Agile2008 in Toronto, one of which is a workshop called KFC Development. I’m really looking forward to sharing my thoughts and getting feedback from attendees which I hope will help clarify the ideas.