When implementing agile software development in teams, context seems one of the least noticed factors. That’s remarkable as it is one of the most important aspects to consider when adopting agile methods. With a series of posts I want to shed some light on that topic, looking at context in agile software developments from different angles.
Contexts that are relevant and worth to consider when starting agile software development are organizational culture, team setup (distributed or collocated, skill levels, language and cultural differences) and experience in agile methods and principles (maturity).
Let’s look at context related problems that might occur when not respecting the team’s maturity in agile methods and principles, in particular a team that’s new to agile software development.
Frustration caused by high degree of uncertainty and endless discussions about applied methods. This tends to happen when a team new to agile software development doesn’t have good guidance and rules to build upon. The team gets frustrated after a while as different understandings and opinions about processes and methods are conflicting. It’s more likely to be successful in a positive atmosphere. For a team new to agile software development and clear understanding of (not too many!) rules and a good coach/guide supports that. Avoid frustration by starting with more rigid environment with less space to experiment.
Confusion occurs when too many changes are applied at once and the team is overloaded with rules and processes while still building up understanding of agile software development. Confusion can also be caused by introduction of too many new terms and changes in short time. Imagine you decide to adopt Scrum (with it’s roles, artifacts and ceremonies), a new estimation technique (or units such as story points) and potentially even a new technology at once to a team that never heard of all of this. Avoid confusion by introducing little changes at a time.
Confusion and frustration usually occur together and lead to negative mood within the team. There are some basic practices that can avoid that and help the team on its agile journey. Think of something like a boot camp with a kick off training for a good understanding and defined rules (that are in line with the Agile Manifesto) for an certain period of time until the team feels comfortable and has gained trust in new methods. From there the team starts to inspect and adapt on it’s own and will develop towards agile maturity.