Distributed Agile Teams and Use Cases in Agile

Distributed Agile Teams and Use Cases in Agile

The Agile 2008 Conference in Toronto

Note this is a reposting of some older material. The article has been given a date that reflects the time that this event occured so it will appear chronologically in the articles list

I had a great time at the Agile 2008 conference. It was well organised with a couple of great keynotes (see below!) and I met some super interesting people like Kelly Pow (one of my very first LinkedIn connections!) and Craig Smith.

This was my first conference outside the UK and the first time the Agile Alliance conference series had a track dedicated to distributed agile development. I was honoured to have two talks accepted to the conference, and one of course in the "Distributed" track.

Agile Development in a Globally Distributed Team

One of my talks was on exactly this topic, "Agile Development in a Globally Distributed Team", and to my surprise it was in fact the first talk to demonstrate that you could in fact use an agile development methodology in a distributed setting. Indeed it was the only talk at the conference that concluded that distributed agile was possible when distributed from the outset.

The majority of other talks that were "experience reports" recommended that an agile methodology could only work with a distributed team if at first the team was brought together for a period of time, at the beginning of the project, and then again periodically. Very different from my experience where a key observation is that the solution to distributed development is not co-location!

Yes, you can effectively deliver as a agile team within a distributed team, and with reasonable tool support this can be quite pain free!

The talk therefore attempts to captures many of the lessons learned from several years of working in agile distributed teams and as it turns out going agile can really bring benefits in a distributed setting as it helps focus both the nature and the quality of communication.


User Stories and Use Cases? Sure, it even makes sense.

The other talk I gave was titled, "User Stories and Use Cases? Sure, it even makes sense" which basically addresses the trend that asserts that User Stories were are 'agile' and Use Cases largely relegated to use as a high ceremony tool for non-agile methodologies. This talk sets out to challenge that view by suggesting that both User Stories and Use Cases could, and should, co-exist as complimentary techniques in effective agile methodologies.

The terms User Story and Use Case are two pretty broad terms, so the first thing the talk does is to clarify just what I mean by each. It would of course be possible to adopt one term over the other. For example, we could call a User Story a Use Case Brief (a la Cockburn), but I believe it is helpful to keep a separation between the two terms. Another aspect of the talk was the idea that User Stories can be used to provide a uniform method of capturing functional requirements, as well as system constraints.

Having introduced the terms, I outline how, and when, User Stories and Use Cases can be used in a typical agile methodology, and importantly how one relates to (and compliments) the other. For example, typically User Stories are the technique of choice when Release Planning and Use Cases help a lot with Iteration Planning.

As User Stories and Use Cases can exist at different levels, from business use down to component interaction, I show how a User Story can relate to more than one Use Case, and how a Use Case can be related to more than one User Story. Similarly I also look at how Use Cases can sometimes provide a 'glue' between User Stories.

If you are an experienced agile developer I would hope this talk gets you thinking more about your requirements elicitation tools!

I shared the session with Scott Ambler (who most of you will know from his Agile DatabaseTechniques book) and packed room so it was great to have a large, knowledgeable audience.


Other Take-aways from the Conference

The opening keynote that deserves a special mention is Alan Cooper's "The Wisdom of Experience" presentation. You can find a full narration, including the slides on Alan Cooper's Medium article "How Far Have We Come?". If you ever wanted to hear a talk that made you feel valued to be a developer and understand better how Agile and UX come together, then this is the talk you want to read.

The other keynote that really caught my attention was James Surowiecki's keynote that talked about his bestselling book "The Wisdom of Crowds".