Tools Over Rules


A major theme of agile development is that teams are made of individuals. This concept is at the very core as one of the main phrases from the manifesto:

Individuals and interactions over processes and tools

Teams are made of individuals, and software is developed by humans. We all know that the goals and motivations of humans can vary wildly. Entire industries have formed around assessing the personality traits of teams and helping them to learn how to exploit each other’s strengths and support each other’s weaknesses. But even beyond strengths and weakness, humans communicate differently, solve problems differently, manage their time differently, and most definitely work differently.

Why then do so many companies and agile practitioners seek to standardize the process? The core foundation of agile is rooted in the inability to standardize processes when the individuals that contribute to those process are always different, yet we try to create rules that all teams must adhere to even if they hurt an individual team. These rules limit agility.

Our goal instead should be to provide teams with tools to maintain agility. Those things we thought of as rules before (stand ups, groomings, story points, sprints, WIP limits, etc) should really be presented as tools that can help solve a problem that a team is having with agility.

It is important that we remember the goal is to continue to adjust the process for our ever changing team, not to adjust our team to match a standard process. We should learn every type of software process that we can and remember the things described in those processes as rules are really just tools that can be used in our work in a way that fits our team.