Tuesday, July 29, 2014

More Agile smells


"Agile" means many things - there are Agile processes, Agile values, Agile ways of working together as a team.  Becoming truly Agile requires a lot of education, willingness to keep an open mind, and lots of trust within the organization. 

When things are less than perfect, as they usually are, many teams get to experience "an Agile smell". Agile smell, similarly to code smell, is not necessarily a problem by itself, but rather a likely indicator of a serious problem with the team’s implementation of Agile.  

Learn to identify Agile smells, and the problems that may lead to them. Then get busy fixing the problems.

Smells "Our KPIs measure the wrong thing"
  • Team talks about velocity points, rather than discuss stories and value created
  • Members worry about being busy and putting in hours, rather than about producing valuable results
  • The team strives to meet arbitrary deadlines, rather than focus on delivering quality working software
It is tempting to measure the team's success by velocity points archived, hours worked, or hitting deadlines. But velocity points are imaginary and unequal units, that differ from team to team, and even for the same team over time. They are too easy to game. Same with deadlines - deadlines are derived from imperfect estimates, and hitting those deadlines causes loss of quality and team spirit. Hours worked is straight-forward to measure, but has little correlation with value delivered. 

Smells "We are not using our tools well"
  • The information in the tool is treated as the source of higher truth, rather than a starting point for a conversation
  • Fill out the fields by the letter of the rules, rather than store useful information in an easy-to-understand format
  • Use the tool insofar as the process requires it, but are uncurious about better ways a tool can help us improve
Tools are there to serve the team. They help to compile information over time, store details, and offer a choice of presentation layouts. Tools are not there to drive the team's value, do the work of coordinating and facilitating communication, resolve issues. It is OK to tweak the rules imposed over a tool usage, if it helps the team to work smarter. It is not OK to be a servant to the tool, rather than its master. 

Smells "We are not being awesome"
  • Compile excuses why we are not doing a good job, rather than look for a better way to work
  • Look for ways to make Agile process entertaining, rather than focus on the excitement of delivering great software
  • Build Chinese walls between specialties, Agile team members and their responsibilities, rather than work together 
IT and software development is complex and complicated work. Every team that works hard and strives for success is going to make mistakes sometimes - and that's OK. In fact, it is good, because the only way to not make mistakes is to play it safe, aspire to little, and settle for less.

Problems do happen, and it is important to admit and examine what doesn't go well, take responsibility. So that the team can improve, do better in the future, and have fun while doing it.  

This is a second post in the series on Agile smells.  Read the first part here


No comments:

Post a Comment