Neither users nor developers are unlikely to find user involvement very fruitful if users don’t understand what Agile is or how it works. So it’s imperative that users should be trained:
- In Agile as a general approach to development.
- How your organisation/team interprets Agile.
- The flavour of Agile you prefer.
- The specific processes you follow.
- Your roles and organisation.
- How the team relates to their users and other stakeholders.
- The role you’d like them to play in the process.
Secondly, users absolutely must be trained in the specific tasks, tools and techniques they are most likely to be involved in:
- Writing and maintaining stories.
- Collaboration with developers.
- Acceptance testing.
Training for each of these skills is explained elsewhere.
In addition to understanding how Agile works, users need to understand the specifics of the release and iteration to which they will be contributing. Ideally they should be actively involved from as soon as the release has been agreed, but in any case they need to be briefed about:
- Who the other team member are, including other users who will be involved.
- The regular ‘ceremonies’ the team has – Daily Stand-up Meetings, Showcases, Retrospectives, etc. – and how the user will be involved.
- The backlog, including:
- the individual stories this user will be involved with.
- the other stories the iteration or release is expected to deliver.
- the side business and operational context, including the goals and expected outputs and outcomes for the release as a whole.
- the expected risks and issues.
- The wider business and organisational context:
- Key stakeholders the user may meet or needs to be aware of.
- Support functions the team uses.
- The systems and processes the team will be creating or changing, to the extent that this user needs to know about them.
How users can prepare themselves
There are also things the users themselves can do to make sure that they are comfortable working as part of the development team:
- Talk to other users who have worked in an Agile environment, especially those who have worked with this particular team. In particular it is useful to ask:
- How much involvement was really needed?
- Who they actually worked with?
- What issues or problems arose?
- Do they have any other ideas for how to prepare?
- Review the stories, including not only the ones they are personally involved with but also the parts of the backlog as a whole that relate to their area.
- Talk to the user groups who will be affected by these stories, to make sure that their aims, preferences, concerns and perspectives are understood.
- Talk to their manager to make sure that they share the same expectations about:
- The level of involvement with the development team.
- How the user’s normal responsibilities (their ‘day job’) will be covered while they are working with the development team.