Archives for the Month of April, 2009

The Role of an Agile Customer

TO maximise the effectiveness of the customer of the product and the value of the organisation
AS AN Agile Customer
I NEED to ensure the team works on stories that deliver the highest business value possible.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I have a good understanding of the business domain
  • I have the authority to make business decisions
  • I provide a single voice on business value and business decisions even when there are multiple customers.

Backlog

  • I write user stories and acceptance criteria
  • I define acceptance tests
  • I clarify any ambiguity until it is understood by the team
  • I define business value currencies for the project
  • I assign business value to stories using the business value model
  • I define business rules
  • I help define data rules
  • I update the team on changes
  • I help remove business-related impediments raised by the team.

Prioritisation and Planning

  • I decide the final shape of the Release Plan
  • I prioritise stories to maximise business value, taking into account risk, effort and dependencies
  • I collaborate with the team on Iteration Planning
  • I constantly review, refine and re-prioritise the Release Backlog, also known as Backlog Grooming.

User Acceptance Testing

  • I provide regular feedback by testing the deliverables against a user story’s acceptance criteria
  • I formally accept the deliverables against a user story’s acceptance criteria at Show & Tells.

You can find out more about the other Agile Team Roles and Responsibilities here.

The Role of an Agile Customer Proxy

TO maximise the effectiveness of the customer of the product and the value of the organisation
AS AN Agile Customer Proxy
I NEED to help the Agile Customer ensure the team works on stories that deliver the highest business value possible.

Acceptance Criteria

If an Agile Customer cannot be identified or is unavailable to the team, you can nominate an Agile Customer Proxy to act on behalf of the Agile Customer to the team.

Those of an Agile Customer plus:

  • I have the authority to represent the Agile Customer
  • I act as a communication channel between the Agile Customer and the rest of the team.

Backlog

You can find out more about the other Agile Team Roles and Responsibilities here.

The Roles and Responsibilities of an Agile Team

TO help conventional teams transition to Agile teams
AS AN Agile Coach
I NEED to illustrate the Agile team roles and responsibilities in contrast to those of a conventional team.

Roles and responsibilities is the most frequently-asked-question when a conventional team transitions towards the Agile way of working. Pascal and I have put together a set of role descriptions for a team as they embark on their journey towards becoming agile.

Portia says: The roles and responsibilities we’ve identified are simply guidelines. They are a starting point. It’s entirely up to the team members to refine their roles to meet the goal and needs of the team.

Pascal says: Each team member will play one or more roles at any point in time, as and when the need for that role arises.

Membership of a Typical Agile Team

TO improve the effectiveness of the customer and users of the product and maximise the value of the organisation
AS AN Agile Team
WE NEED to leverage the strengths of each team member and create valuable products now and in the future.

The Role of the Agile Coach

  • Agile Coach – Creates a team that delivers value now and in the future

The Role of an Agile Team Member

TO maximise my contribution to the team
AS AN Agile Team Member
I NEED to be better than I was yesterday every day.

Acceptance Criteria

  • I apply the Agile Values at all times
  • I apply the Agile Principles and Practices
  • I take responsibility for the work I do
  • I prioritise my work to maximise value, taking into account risk, effort and dependencies
  • I do the work that bring the most value to the team
  • I take responsibility for the team’s results
  • I update the team on the progress of my work
  • I raise impediments, risks and issues as early as possible
  • I help remove impediments
  • I believe in collective wisdom: I trust the team to make the best decisions possible based on the information available
  • I understand how quality contributes to the overall value the team delivers
  • I ensure quality is built into everything I do, as defined by the team’s definition of quality
  • I minimise keyman dependency
  • I’m committed to Continuous Improvement.

You can find out more about the other Agile Team Roles and Responsibilities here.

The Agile Coach Toolkit

Welcome to the launch of The Agile Coach Toolkit brought to you by the Agile Trio: Pascal Van Cauwenberghe, Vera Peeters and me. Our mission: to transform work into play!

Join us in a Perfection Game

Send us your feedback using The Perfection Game by answering three questions:

  1. What do you like about The Agile Coach Toolkit?
  2. What would make it perfect?
  3. Score out of 10 (where 10 is ‘It’s Top of the Pops!’ and 0 is ‘Needs a lot more work.’)?

Upcoming Events

See you soon!

    XP Days France

Do You Believe in Manifestos?

Pride and Professionalism

P.: Have you read the Manifesto for Software Craftsmanship?
TJ: Not another manifesto!
P.: Don’t you find it useful?
TJ: Manifestos might be useful to those who write it. If they need reminding of it, I guess they can carry it around in their pocket.
P.: I think it’s synonymous with ‘Professionalism’.

The Nature of Agile

The thing that resonated with me most when I first came across Agile was the four (and then five) XP Values from Kent Beck’s ‘Extreme Programming Explained’, first published in 2000. At the time, it seemed to make so much sense. And it still does. Common sense by definition endures.

For me, Agile represents a common sense approach for mitigating risks on projects against a backdrop of change and uncertainty by providing Real Options.

The Problem with the Agile Manifesto

The Agile Manifesto, like the Manifesto for Software Craftsmanship, makes for a short and easy read. What’s more I agree with the points made in both manifestos. The problem with the manifestos isn’t therefore about the content, but rather in its transmission to those new to Agile or outside of the Agile Community.

Let’s take the Agile Manifesto as an example. I appreciate the spirit in which the manifesto was written, but I don’t use it when I coach. In my experience, citing the Agile Manifesto typically gives people more cause to resist or reject Agile because they view it as a series of words written by a small clique in a galaxy far, far away. Most people’s immediate reaction to having the pre-fabricated manifesto thrust before them is one of suspicion, skepticism and plain old incredulity. After all, how willing would you be to accept a series of pre-written points without question?

Time and time again, I’ve seen how quoting the Agile Manifesto slows down the introduction of Agile unnecessarily, resulting in the creation of waste: a waste of breath, energy and, most importantly, time.

Pragmatic Agile Coaching

1. Begin with the team’s values and then link them to the Agile (XP) Values.

  • Demonstrate the importance of teamwork by facilitating the creation of the team’s own Team Manifesto.
  • Use the Agile (XP) Values to start a conversation about the meaning and importance of teamwork.
  • Engage team members by asking them to define each of the values with their own words.
  • Make the values relevant to each and everyone through a Personal Agility Rating exercise.
  • Highlight that the Agile Values together define ‘Collaboration’ (typically one of the values identified by the team for the team during the Team Manifesto exercise).
  • Use the values to establish an agreed way of working.
  • Use the values to continue the conversation about Continuous Improvement during 1-2-1 Agile Coaching.
  • Lead by example by endeavouring to live and work by the Agile Values.

2. Introduce the Agile (XP) Practices.

  • Begin to introduce practices as soon as possible so that the team can experience the difference between the traditional and the Agile way of working.
  • Explain the practices in the context of a typical 2-week iteration.
  • Start off with Iteration 0 immediately, made up of training, coaching, trying out the practices plus any project setup activities in preparation for Iteration 1 when we will begin implementing stories. 

3. Allude to the Agile (XP) Principles only if it is valuable to learning.

  • Introduce the Agile (XP) Principles should the opportunity arise to supplement the team’s understanding of what being agile means. For instance, if someone asks why Retrospectives are useful, I might reply: ‘Retrospectives allow us to apply the Agile Principle of Reflection so that we can continuously improve.’
  • Never talk through the 14 principles in one go because mere discussion doesn’t enhance understanding.

How effective is your coaching?

Which Agile Coach?

P.: Nine out of ten Agile Coaches I meet are those who live by the mantra of Do-As-I-Say-Not-As-I-Do.
TJ.: Go on.
P.: Some people say that the statistic concerns them.
TJ.: Why? Did you name names?
P.: No.
TJ.: Perhaps their response is out of guilt?
P.: No. They think that it’s better not to hire an Agile Coach since the chances of finding a good one are so slim.
TJ.: That’s a concern I share.

Make it worth more than words

Agile is many things. In summary:

  • It’s a buzzword, a band wagon, a meal ticket.
  • It’s a group of practices that enables people to deliver higher business value through better quality deliverables.
  • It’s a fundamental mindset shift that effects everything you do based on values and principles.

The Lifecycle of a New Idea

The multitude of definitions is a sign of growth. It’s part of the evolutionary adoption of a new idea according to Everett Rogers’s Diffusion of Innovations theory, made better known by Geoffrey Moore’s Crossing the Chasm model.

The challenge for those with a real desire to understand and experience the benefits the Agile way of working is:

  • See through the spin
  • Distinguish those who have neither the experience nor the understanding of Agile from those who genuinely apply Agile Values and Principles to the way they work.

This challenge reminds me of the journey of the programming language Java. Cast your mind back to the Dotcom era. Back then, Java was the latest shiny thing and I remember meeting self-proclaimed Java gurus who had only ever created web pages out of HTML and perhaps dabbled in Javascript at best. The buzz, the buskers and the learners are part of the entourage of the growth of a new idea.

How to Hire a Good Agile Coach

I apply the same principles of hiring a team member/employee to hiring an Agile Coach. Here are some of the things I like to find out about them:

  1. What they value and why.
  2. Their knowledge and thoughts on the Agile Values, Principles and Practices.
  3. Their knowledge and experience of the Agile Delivery lifecycle and the effects of possible variables (such as time, cost and scope) on the Agile way of working.
  4. Examples of where, when, how and why they’ve used Agile or a different approach.
  5. How they use Agile for personal development.
  6. Why they’re an Agile Coach.
  7. Evidence of their professional experience (including online presence, references, recommendations) to determine their credibility.
  8. Would I want to work with them, day in day out? If ‘Yes’, why? If ‘No’, why not? Then I reflect on my responses to find out what they tell me about me.

My Principles on Hiring

  • If in doubt, don’t hire.
  • If you’re undecided, find other ways of gathering more information. Introduce them to the team over lunch. Or invite them for a day’s worth of work experience.
  • Hire people who learn.
  • Hire people you can learn from.
  • Prefer team players over self-proclaimed leaders.
  • Always get a second opinion because we all see the world in different ways. I find it useful to pair when interviewing.
  • Make it a WIN-WIN opportunity for you, your company and the new hire.

The Secrets of Consulting

I never wanted to be a consultant. That’s because the recurring pattern I saw among the consultants with whom I’d worked was this: consultants increase waste and reduce value. More often than not, they had less skill than the permanent employees they were brought in to help and, worst of all, they had little or no experience in what they were supposed to be experts at.

The result: client organisations would pay for the privilege of training the consultants while underestimating the competencies of their own people. We all know how the story ends. A legacy of more waste and less value, all at the expense of the client organisation.

Time passes and I learn two key things. One, that many of the consultants I’d met weren’t representative of good consultants. It wasn’t that consultancy was a bad profession, but rather that there were many who were doing it wrong. Two, most of us are consultants at work in that we provide options without being decision makers ourselves.

A Tale of the Unexpected

Once upon a time, I worked with an organisation that provided a bus service between the work campus and the local train station. Fortunately, as a consultant, I didn’t have to rely on the bus service to get to my meetings on time, but I couldn’t help but notice that something wasn’t quite right. Judging from the regular, long queues of fifty plus people stood at the bus stop during wind and rain, I could see the waste mounting up: a waste of people’s time, a reduction in their goodwill and a serious impact on the quality of life for those sentenced to such a terrible, and unnecessary, commute.

At first, I would jump into a taxi and offer a lift to those I recognised in the queue, picking up as many people as would fit into a regular 5-seater. Then I would wait at the taxi rank until I got the people carrier in order to transport more people in one go, all for the same price of a single taxi journey. After that, I practiced Genchi Genbutsu and gave up using taxis all together.

I started documenting my user experience as a bus passenger, recording details such as my waiting time, the number of of people in the queue, the rate at which the queue grew and gathering comments from other bus users and even the bus drivers. Everyone I asked told me they’d given feedback to their respective managers on the poor level of service but nothing had been done.

I continued to collect the data over a couple of weeks until one day, I’m invited out for dinner. ‘Would you like to come out for dinner with our client?’ my boss asks. ‘Will senior managers be there?’ I say.

After a brief conversation about value and quality over dessert, two of the senior managers helped reduce the average passenger waiting time to ten minutes as well as extend the bus service so that folks no longer had to pay for a taxi home if they had to work late.

Be Your Own Consultant

In my experience, a good consultant has a large toolset that’s also wide in range. They should be the kind of generalist-specialists that Agile teams strive to create. Most of important of all, a good consultant understands and enjoys working with people.

To learn more about improving your personal and professional effectiveness, I recommend reading:

As a consultant, I’ve learnt to be creative when it comes to delivering value because it’s not always obvious and you almost always have to first overcome considerable challenges. And the reward? Knowing that you didn’t get paid just to stand by and do nothing to help people in need.

The Team Manifesto – Part 2

Leverage the Wisdom of Your Team (Duration: 15 – 30 minutes)

Now we have our team values and the team’s definition of Quality, we’re ready to create our team manifesto out of two A0 posters. A team manifesto should be created by the team for the team.

  1. Ask the team to divide up into two groups, one to produce the Team Values poster and the other for the Quality definition poster.
  2. Give each group 10 minutes to produce their poster. Tip: Ensure the posters retain the order of the original lists of team values and Quality.
  3. Ask the team to post up their poster side by side in the teamspace. Tip: Find a place that is visible from everyone’s desk and, ideally, to passers-by. This serves as a reminder and declaration of the importance of the manifesto to the team.
  4. Invite everyone to affirm their commitment to the manifesto by signing below each of the posters. Tip: If certain members are reluctant to sign the posters, find out why. It may be that the team needs to revisit certain points on the posters until they come to a consensus. We suggest adjusting your facilitation style to increase the involvement of those people during the subsequent discussion.

Why the manifesto works

  • It harnesses the collective wisdom of the team. Collective wisdom is an increasingly well-recognised approach for helping disparate groups to find solutions, gain buy-in, resolve conflict and increase respect for one another through shared knowledge.
  • It’s self-enforcing. Refer back to manifesto the regularly. Since the team came up with it, individuals are more likely to behave responsibly and encourage others to do the same.

We strongly recommend asking everyone to affirm their commitment by signing the manifesto.

Sixty minutes later and we’ve created our very own team manifesto. Smiles everywhere.
The team stands back and gazes in silence at what we’ve achieved.

The Team Manifesto – Part 1

TO create a team that delivers value now and in the future
AS A group of individuals
WE NEED to create an agreed way of working.

Immediately after the Profile Card Exercise, we create the team’s manifesto.

The Definition of Team (Duration: 15 – 25 minutes)

We begin by asking the group: “What does ‘Team’ mean to you?” We use the Clustering Exercise to ensure we collect everybody’s ideas.

The Clustering Exercise

  1. Brainstorm ideas: Pose a question to the crowd. Ask everyone to write down their answers in silence, describing each idea or thought in no more than a few words on individual Post-its. Set aside 3- 5 minutes for this.
  2. Share ideas: Ask each member to go through their entire stack by reading out a Post-it then posting it up one at a time. Ensure everyone can see the information being posted up.
  3. Cluster ideas: Ask everyone to group the Post-its by theme. The clustering must be done in silence so that individuals cannot verbally influence one another’s way of grouping.
  4. Identify themes: Select a cluster then read out the individual Post-its one by one. Ask the group to give the cluster a theme. Write down the theme on a Post-it and place it at the centre of the cluster. Repeat this step with each process.
  5. Vote for themes: Count up the total number of themes then divide it by 3. The product is the number of votes given to each member. Ask each member to vote for their preferred themes. If someone feels particularly strongly for a theme, they can allocate all their votes to a single theme.
  6. Spot the top themes: Count up the total number of votes per theme. Note down the number of votes on the associated theme Post-it.
  7. Select the top themes: Write out the question you posed to the group as a heading on an A0 piece of paper. Identify and agree with the group up to top 5 themes to form the group’s collective answers to the question. Write down the themes as a numbered list below the question heading.

Once we’ve defined the team values, we take a break. After the break, we move on to the second exercise to build up our team manifesto.

The Definition of Quality (Duration: 15 – 20 minutes)

Quality is an integral part of everything we do. We’ll have many conversations with the team throughout the project about Quality, so it’s important to define upfront what Quality means to us.

Next, we ask the team “What does Quality means to you?” using the Clustering Exercise. Again, we begin by finding out what Quality means to each individual and then come to a common understanding of what it means to the team.

Why define Quality?

  • To come to a common understanding of Quality.
  • To find out how important Quality is for the team.
  • To tap into the team’s sense of professional pride.
  • It helps team members to stick up for what they believe in, because they’re supported by the team.
  • It’s self-enforcing. Since the team came up with it, individuals are more likely to behave responsibly and encourage others to do the same.

Why is the Clustering exercise useful?

  • It allows introvert thinkers to share their thoughts and ideas without being dominated or distracted by the extrovert thinkers in the group.
  • It shows the coach how individual members behave in a group.
  • It develops a sense of solidarity as a group works together to come up with a collective answer.

Now we have the information for creating two posters that make up the Team Manifesto. Here’s what we do next.