Unusual risk analysis techniques

I think risk management is really cool … and certainly more fun than the alternative.

Unfortunately many people find the traditional approaches to analysing risks dry and un-innovative; which is a problem because identification and analysis of risk is actually a creative process.

So here are a couple of “unusual” approaches that might work for your team.  Continue reading “Unusual risk analysis techniques”

The Hard Choices game – teaching architecture to agile teams

I have recently been talking about elaborating stories in agile projects and the topic of architecture came up.

As as result Philippe Kruchten sent me a link to the “Hard Choices” game – a game that can be run in workshops and training courses to demonstrate the difficult tradeoffs involved in architecture on projects. 


Continue reading “The Hard Choices game – teaching architecture to agile teams”

Elaborating user stories: what about architecture?

Some people worry that in our rush to become more agile we might be leaving good architecture behind. So I often reassure with the following statement:

Don’t worry – There is no doubt that the system’s architecture will emerge from what we are doing. The only question is whether it will be the architecture we want.

Continue reading “Elaborating user stories: what about architecture?”

Elaborating user stories by using comparison tables

Comparison tables involve listing stories and then comparing the components or factors relevant to each story.  Generally speaking a comparison table is created as follow:

  • Stories are listed as either column headings or row headings; and
  • Story components or characteristics are listed for each story.

Continue reading “Elaborating user stories by using comparison tables”

Elaborating user stories by using abstract to concrete approaches

Abstract to concrete is a term I am going to use to describe the idea of elaborating stories by:

  • Using a structured format to interrogate the story;
  • “Abstracting” the context and meaning behind the story rather than just listing acceptance tests or task; and
  • Making the abstract conversation more concrete by discussing what needs to be done in order to build the story.

Continue reading “Elaborating user stories by using abstract to concrete approaches”

Elaborating user stories by breaking them into tasks

In some teams, the iteration or sprint begins with the team discussing each story and breaking it down into the specific tasks that each team member will need to perform in order to complete the story. The team then track tasks on their story wall rather than complete stories.

Continue reading “Elaborating user stories by breaking them into tasks”

Using MoSCoW to prioritize ideas

I have been on a lot of projects in my time and I used to prioritise ideas or requirements as “high”, “medium” or “low” importance.

If people classified their requirement as low,however, we would record the requirement in a long list, thank them for their idea and then never talk about it again.  If they classified it as medium then we promised get to it in “phase 2”, which meant after we ran out of money.

People learned over time to classify all of their requirements as high priority so we started adding new classifications like critical or super ultra high, which didn’t help at all.

Continue reading “Using MoSCoW to prioritize ideas”