Beginning the move to one team - step four
Some might argue that the concept of metaphor should come earlier, but we recommend introducing this towards the end of this stage, since this is the first time we draw in the customer/business. Metaphor is a common language about the system between customers and developers. This may not seem important, but take the example of an Exoftware government client: the development team routinely referred to the business (that is the people who were defining the system requirements) as customers. However to the business, "customer" referred to the end consumer. This caused confusion as well as frustration amongst both the developers and "business".

Metaphor is more than a common language -- it's also about context and understanding at a high level what the system is about. Here we're able to take steps towards really communicating with our business partners and sharing a common goal. 3Q uses something called the Adaptor Tree Hierarchy which gives a broad system overview in a language that is agreed with the customer/business. For example:

ThreeQData

  • todaysDate
  • marriage
    • spouse
    • economicindicators
    • client
      • lossofincomestory
        • annualincome
        • coveramortisationeroision
        • ...
      • managedfundstory
      • pensionstory

Each part of the tree expands out into more detail, can be changed easily, and provides a good view of the system as well as a common language for the whole team.

Critical success factors

  • Stick with it -- metaphor only works if you are going to stick with it. It will become part of everyday language, but it takes time
  • Get the basics down first â€" work on getting the basic framework of the metaphor down, learn it and use it then build from there.
  • Get help -- get as many relevant business/customer people involved in building the metaphor -- it's vital to get people involved early and up front.

The team practices of Agile aim to help the team focus on working together, and to understand the shared practices and goals. While some of the practices such as coding standards can be done in isolation, these team practices work best if built upon solid developer practices such as test-code refactor and pair programming.

The next part in this series will look at how the developer team will now begin to form "one team" with customers/business.

Brian Swan is an Agile mentor with Exoftware. He has extensive experience in technical and management aspects of Agile, and has successfully led a variety of teams transitioning to Agile, as well as trained developers and managers in Agile thinking and practice. His work with Exoftware and Agile has taken him to a variety of companies, where he has consistently and positively impacted development teams. Brian's previous experience includes lecturing at Napier University in software development and human and computer interaction. Brian can be contacted by email.

Related links

Leave a comment

You must read and type the 6 chars within 0..9 and A..F

* indicates mandatory fields.

Log in


Sign up | Forgot your password?

  • Staff Microsoft shows off IE9 preview

    This week, highlights from Microsoft's MIX10 conference and more in the Roundup. Read more »

    -- posted by Staff

  • Chris Duckett IE9's H.264 vote killed Ogg

    In a split decision by the judges, the winner of the W3C/WHATWG video codec consensus is H.264, taking home the future of video playback on the internet while loser Ogg goes home with nothing but thoughts of what might have been. Read more »

    -- posted by Chris Duckett

  • Staff Google launches Apps Marketplace

    Google launches and app store, while Mozilla plans to re-write its open-source license. More of this week's news in the Roundup. Read more »

    -- posted by Staff

What's on?

  • Optus Deal

    Broadband + home phone + PlayStation®3 in a single package price!