Why a Good Agile Team is so Hard to Find

Author: Lorraine Pauls Longhurst Published: LPLSC Blog Date: 30 September 2010

Why a Good Agile Team is so Hard to Find.

Everyone has heard about the benefits of a strong Agile team. They are focussed, extremely productive and self-managing. Why is it so hard to make your agile team gain these same benefits?

There are a few key challenges that your organisation must overome to do this and below are some tips to ensure that you do.

Agile knowledge

It’s easy to give your teams a day of Scrum training and ask them to go away and start using that framework to develop software. The problem is that a team needs strong team members with Agile experience or a good Agile coach to ensure they continue to follow the basic principles of Agile.

One of the most important things is to ensure the team is dividing work up in to logical chunks within a sprint and release. You can tell the team that they must have release-able software at the end of the sprint but this is something that can be difficult to put into practice without experience.

The same thing goes for outlining requirements. You can tell the Product Owner and Business Analysts (BA’s) to write requirements as user stories but what you will find is that they will still tend to write them as functional requirements.

For example, a BA may write ‘As a user, I want a new button on this screen so that I can do this’. The requirement should be written in a way that enables the developer to decide on the best solution. A better way to write this requirement would be ‘As a user, I want to be able to do this so that I can gain this benefit’. The solution may be a button or it may be something else.

An Agile coach can help the team understand their options and decide on the best technical direction which will allow for logical release cycles as well as coach them on writing requirements.

Teamwork

It usually takes time for a team to gel and start acting as a team rather than individuals. Strong communication amongst developers, testers and BA’s is extremely important to improve productivity.

All team members should be very clear before development begins what will be tested so that the developers can write code that meets the requirements.  Defects will therefore be minimized.

Ideally, if you are starting a new Agile development project, you can bring in a team that have already worked together, but this is not always possible.

To encourage informal teamwork, ensure the team is co-located and that they feel welcome to drop by each others desks at any time.

They must all treat each other with respect which only comes with experience working together. Developers must be willing to explain things to testers and all members must have the confidence to approach each other with questions.

If team members do not have the willingness or ability to do this, they should not be part of an Agile team.

Self-managing team

How do you encourage the team to take responsibility for their actions rather than feeling that the Project Manager/Scrum Master should decide what they do?

It’s important that team members commit to the goals of a sprint during sprint planning so that they have control over what they agree can be accomplished. If someone tells them what goals they need to meet, they will not feel the same commitment to getting the work done within the sprint.

Rather than deciding who will do what at the beginning of a sprint, developers should select their own tasks from the planning board each day.  As issues arise, the team should help each other out as needed to accomplish the overall sprint goals as a team.

To encourage this kind of behaviour, there must be cross-functional knowledge across the team which pair programming will help. Team members must be given a chance to work outside their area of expertise to gain knowledge in a new area.

Share