18 January 2008: Empowered to be efficient


    Agile methods empower teams to use whatever means they see most effective in delivering customer value. This power never comes without responsibility: the team needs to ensure the quality of the solution and that the development speed can be maintained and improved over the whole duration of the project. What does this empowerment include and what are its limits?

    In software development, the customer naturally has the final decision-making authority. The customer defines its business value and decides on feature priorities. There are also contractual issues that are best handled between customer and the supplier's project manager, rather than inside the team. The technical environment poses its own requirements to the developed software, which are not optional or controllable to the team. Therefore, even in agile methods many issues are left outside the team's empowerment. Yet, agile methods provide many new aspects to project work.

    New approach to team work
    Teams, whether traditional or agile, need naturally to be manned with people who know what they are doing. They know how to code, test, and how to design good user interfaces. In other words, they are the best experts on the software design and implementation.

    Agile working methods however, strive strongly for giving teams more authority to examine their own work and to continuously improve it. New practices that will improve the work can be agreed upon, and more importantly, unnecessary activities can be given up. One agile slogan is "maximising work not done". Examine what you do and stop doing anything that doesn't add value.

    The teams shouldn't be constrained by artificial software development processes. Such processes can be used as inspiration and support, but teams should actively use their right to evaluate the usage of the processes in specific project context.

    In agile methods, the team's self-management is one of the key elements. An agile project manager does not plan, assign or track the implementation tasks but instead delegates the authority to a team. The team agrees with the customer what will be built next, thereby committing itself to the iteration and implementation goals. The team tracks its own progress and decides on how to handle challenges during the iteration. An agile project manager provides support to teams to manage the responsibilities.

    It is important that agile teams maintain their ability to make changes to the code throughout the project. Since it is not necessarily certain which parts of the code will need to be kept modifiable, it is of the teams' particular responsibility to keep the whole code in high quality. In project manager's perspective this means changing the traditional approach "trust but verify" into a more agile approach "trust and help by providing feedback".

    More focus on team building
    A group of people working together don't necessarily make a team. It can remain a group of people working together, each person with their own interests and agendas. Such a team lacks common drive and collaborative supportive environment. All commitments remain individual, which don't necessarily add up to the desired result.

    Agile methods and frameworks emphasise that a team needs to be multi skilled and able to handle all activities needed in the development of the customer's software system. The team works together, using each team member's expertise, to fulfil the customer needs as effectively as possible.

    In many respects, agile teams are like sports teams. They too, have different specialists working together to achieve the goals of the game. The team's success rises from its ability to work together - not just from the skill level of each individual.

    In fact, also the agile project managers have their rough equivalent in sports teams. They are the coaches standing at the sidelines. They don't participate in the game itself and make game decisions on the field, but manage and lead it all at a higher level (team compositions, general strategies, etc.). They train and coach the team to work better together in a game, and arrange the facilities. They have a key role in enabling the formation, operation and performance of the team.

    When a group of people come together (not a team yet), they go through four steps: forming, storming, norming, and performing. In the forming phase, they learn about each other and the goals they are expected to achieve. In the storming phase, various ideas on how they should work, how should they achieve the goals, how should they operate as a team etc. compete with each other. In the norming phase, the team members start to adapt their behaviour to each other and agree on common guidelines, practices and values. If the teams successfully go through the three phases, they will enter the performing phase. These teams are able to function as a cohesive unit and can produce extraordinary results effectively.

    Building high-performing teams is the goal of agile leadership and coaching, yet not every team will go through the phases successfully, especially if left without appropriate support. Furthermore, it needs to be accepted that not everyone feels comfortable in a strong team-focused approach and intensive collaborative work. As companies move towards agility, this is to be recognised and addressed in some way.

    Everyone chips in
    In traditional projects the technical leadership is often assigned to specific individuals. In agile projects that kind of externally assigned authority is not identified. That doesn't mean that the team wouldn't appreciate and listen to highly skilled specialists. Especially when the team is heterogeneous on skill levels, the experts do carry a lot of the weight, but they don't have the sole responsibility.

    Agile methods don't expect the teams to be able to self-manage themselves automatically. Agile project managers' (Scrum Masters in Scrum) are therefore there to nurture the empowerment. They support everyone to be able to participate in collaborative decision-making and to contribute in the project with full skills and competences. This enables true team commitment to the end result and goals, providing the best foundation for delivering customer value effectively.

    For further information: Petri Heiramo, Senior Process Improvement Manager