Archives for the Month of April, 2009

Latest Edition: The Role and Responsibilities of an Agile Team

Many thanks for all your ardent feedback about the role descriptions! Since being published for the first time last week, they’ve been revised, amended and much improved. We hope you’ll continue reading and look forward to receiving more feedback.

Here’s the latest edition published on agilecoach.net. Happy Reading!

The Agile Apprentice Meets the Agile Coach

J.: So you’re an Agile Coach?
P.: I like to think of myself more as an Agile Apprentice.
J.: What’s an Agile Coach? What do they do all day?
P.: For me, being an Agile Coach is about creating teams that deliver value now and in the future.

The Agile Coach: A User Story

TO create a team that delivers value now and in the future
AS AN Agile Coach
I NEED to help people to reach their full potential.

Being an Agile Coach is one of the many roles I adopt when working with teams. As an IT professional, I usually have one or more roles.  When I work with a team, my roles range from Agile Team Lead, Agile Team Member and Agile Coach to IT Consultant.

To have great coaches, there must be great teams

In our pursuit to become better Agile Coaches, Pascal and I have begun publishing a series of blog entries in the form of an Agile Coach Log to share our approach, experiences and tools on Agile Coaching so that we can learn to be better than we were yesterday every day. We hope you’ll join us in a bit of fun and  help us in our endeavour.

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

  1. What do you like about The Agile Coach Log?
  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.’)?

The Role of an Agile Coach

TO create a team that delivers value now and in the future
AS AN Agile Coach
I NEED to help people to reach their full potential.

Acceptance Criteria

  • I apply the Agile Values at all times*
  • I apply the Agile Principles and Practices
  • I apply the servant-leadership style of working
  • I have excellent facilitation, communication and interpersonal skills
  • I have extensive experience of Agile projects
  • I take responsibility for the Agile process being used
  • I take responsibility for team improvements
  • I provide 1-2-1 Agile Coaching to team members
  • I identify people and process issues
  • I raise impediments, risks and issues as early as possible
  • I help remove impediments
  • I update the team on the progress of my work
  • I believe in collective wisdom: I trust the team to make the best decisions possible based on the information available
  • I prioritise my work to maximise value, taking into account risk, effort and dependencies
  • I do jobs that bring the most value to the team
  • I’m committed to Continuous Improvement.

What Being an Agile Coach Means to Us

You’ll notice the emboldened criteria are identical to those of the Agile Team Member. Pascal and I spend a lot of time thinking and learning about the different types of Agile Team Members we want to work with and the kind of Agile Coach we want to become. The Agile Team Roles and Responsibilities remind us to set the bar high for the kind of Agile Team we want to grow and be part of.

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

The Role of an Agile Tester

TO know the state the project is in and identify where the team can improve
AS AN Agile Tester
I NEED to provide information on the state of the project.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I have strong communication and analytical skills
  • I can perform different types of testing.

Backlog

  • I assist the Agile Customer to define acceptance criteria and acceptance tests
  • I help clarify any ambiguity until it is understood by the team
  • I capture and keep acceptance tests up-to-date.

Agile Estimating

  • I provide estimates to the required level of accuracy for user stories and tasks.

Testing

  • I execute manual test scripts throughout the software development process
  • I run automated test scripts throughout the software development process
  • I provide up-to-date test results
  • I analyse test results
  • I automate test scripts
  • I collaborate with the team to answer queries and resolve issues and defects
  • I help the Agile Customer prioritise issues and defects.

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

The Role of an Agile Architect

TO help teams deliver business value now and in the future
AS AN Agile Architect
I NEED to ensure the team implements good techniques and practices.

Acceptance Criteria

Those of an Agile Developer plus:

Development and Testing

  • I help disseminate good techniques and practices
  • I help review designs from a strategic point-of-view
  • I help teams align their techniques and practices
  • I help make sure what different teams build integrates well
  • I provide insight into the way things are done and what is being produced
  • I ensure quality issues are addressed
  • I have experience of Agile Design and Architecture.

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

The Role of an Agile Developer

TO deliver business value now and in the future
AS AN Agile Developer
I NEED to implement  stories with high business value using good techniques and practices.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I have a good understanding of software engineering practices.

Development and Testing

  • I ensure I have enough information to estimate user stories
  • I ensure I have enough information to write unit tests when implementing user stories
  • I ensure I have enough information to design and develop code
  • I test deliverables against a user story’s acceptance tests
  • I ensure Continuous Integration and Build is in place
  • I perform peer reviews
  • I collaborate with architects and other developers to produce just enough design
  • I ensure just enough technical documentation is provided
  • I help remove technical impediments raised by the team.

Technical Backlog

  • I write technical user stories
  • I clarify any ambiguity with the Agile Customer
  • I collaborate with the Agile Customer to assign business value to technical stories.

Agile Estimating

  • I provide estimates to the required level of accuracy for stories and tasks.

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

The Role of an Agile User Experience (UX) Designer

TO maximise the effectiveness of the user of the product
AS AN Agile UX Designer
I NEED to help the Agile Customer discover usability needs, help the team meet them and verify they have been met.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I have a strong understanding of User-Centred Design
  • I have a strong understanding of Information Architecture
  • I help the Agile Customer to establish the usability needs of the user of the product
  • I help the Agile Customer to define usability needs as acceptance criteria
  • I help the Agile Customer to verify and validate the usability-related acceptance criteria
  • I help the team to understand the usability needs and how to meet them.

Agile Estimating

  • I provide estimates to the required level of accuracy for stories and tasks.

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

The Role of an Agile Business Analyst

TO maximise the effectiveness of the customer of the product
AS AN Agile Business Analyst
I NEED to help the Agile Customer discover the goals and needs of the customer of the product.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I have a good understanding of the business domain and business goals
  • I have strong facilitation, communication and analytical skills.

Backlog

  • I help clarify the goal and business value of Minimum Marketable Features
  • I assist the Agile Customer in writing user stories to the level of granularity required by the team, in collaboration with the team
  • I help clarify any ambiguity until it is understood by the team
  • I review user stories with the Agile Customer with a strategic point of view
  • I capture and keep the business rules up-to-date
  • I capture and keep the data rules up-to-date
  • I help remove business-related impediments raised by the team.

Prioritisation and Planning

  • I provide business information during Release and Iteration Planning
  • I help review, refine and re-prioritise the Release Backlog, also known as Backlog Grooming

Testing

  • I help produce acceptance tests from acceptance criteria
  • I provide regular feedback by testing the deliverables against a user story’s acceptance criteria
  • I provide regular feedback by validating that the product meets the business goals.

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

The Role of an Agile Project Manager

TO create value for the organisation
AS AN Agile Project Manager
I NEED to do whatever it takes to ensure that valuable projects are delivered now and in the future.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I apply the servant-leadership style of management
  • I have experience of Agile projects
  • I have strong facilitation, communication and interpersonal skills
  • I take responsibility for the project members and their deliverables
  • I take responsibility for communication within the project
  • I take responsibility for the project’s resources.

Managing

  • I track project risks and issues arising
  • I actively manage project risks so that they don’t turn into issues
  • I ensure that project impediments are removed
  • I establish what the team can decide independent of me
  • I track and communicate the real state of the project.

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

The Role of an Agile Team Lead

TO create value for the organisation
AS AN Agile Team Lead
I NEED to do whatever it takes to ensure the team delivers now and in the future.

Acceptance Criteria

Those of an Agile Team Member plus:

  • I apply the servant-leadership style of management
  • I have experience of Agile projects
  • I have strong facilitation, communication and interpersonal skills
  • I take responsibility for the team and their results.

Managing

  • I track team risks and issues arising
  • I actively manage team risks so that they don’t turn into issues
  • I ensure that impediments raised by the team are removed
  • I establish what the team can decide independent of me
  • I facilitate the Agile process
  • I track and communicate the real state of the team and their results.

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