If you are a ScrumMaster or Agile Coach working with a new Scrum team(s), it goes without saying that it is really important to spend the majority of your time at the start of your deployment investing in training the team. Obviously by ‘The Team’, I’m not just talking about Dev/Test, I’m talking about Product Owners too. If you don’t do this, you will end up with a confused and frustrated team because they will not know the Scrum process OR what is expected of them as part of a collaborative self-organising team. You need to be tenacious in delivering a clear, consistent message to your team about what Scrum is about, both as a development framework, and as a culture, and be constantly checking on their development as a learning team.
If you know your stuff, it is much easier to start training your team than you think because there are some fantastic online resources to help you deliver a really great session. I am a big fan of the CollabNet Agile e-learning training series (http://www.collab.net/services/training/agile_e-learning ), and at the moment, it is a major element of my training session’s agenda. Speaking of which, here is the agenda I use for Scrum Introductory training:
- Presentation (you should put a few slides together for this):
- What is Agile, and why did it come about?
- Definition of ‘Agile’
- What is The Waterfall Model and why is Agile different?
- The Agile Manifesto
- Other Agile frameworks that are around, e.g. not just Scrum, but Kanban, XP, DSDM etc.
I then use the entire CollabNet interactive training series to train the team. I use the Quizzes and questions provided in the series to ask the room what they think the answer is. I also take the time to explain why an answer they have chosen is NOT right, and why another answer IS. This is a really important part of their learning, and means they will have a better chance at understanding the logic to Agile rather than just learning parrot-fashion, but not really getting ‘why’. The session takes around 2.5-3 hours, depending on questions.
If I have Product Owners to train, I run the above session in the morning, and then hold an afternoon session with the following agenda:
- What is a PO’s role and responsibilities?
- What makes a great PO?
- How to be a PO at <the company you are in>
- Requirements: What is the difference between a granular User Story and sn Epic User Story?
- Introduction to a real life Product Backlog
- How to maintain a Product Backlog, including prioritisation of User Stories
- How to write excellent User Stories and Acceptance Criteria with an exercise. (The group will be split into pairs/small teams and will write User Stories and Acceptance Criteria for a real project, followed by a discussion)
- How to Prepare the Product Backlog properly for a Backlog Refinement Meeting or Sprint Planning
If you do this, you will get everyone in the Scrum teams off to a great start. However, it is also really important to keep their knowledge up. I hold fairly regular ‘open desk’ sessions, where I block out some time and invite people to come and talk to me and ask me anything about Agile.
Finally, teach (theory), demonstrate (real-life application), repeat. I cannot stress enough the importance of reiterating a constant and consistent message. At the Scrum Board, in the stand up, at the retrospective, one on one, in training session, all the time. Being consistent with your approach allows familiarity and the team encourage the team to trust that you are serious about what you say and you won’t also move the goal posts for whatever reason.