In the now classic book by Martin Fowler, Refactoring: Improving the Design of Existing Code, Kent Beck co-wrote a chapter on smells that begins with this quote:
If it stinks, change it. Grandma Beck, discussing child-rearing philosophy.
There is something very attractive about seeing symptoms of something going wrong as a smell. The idea has since caught on and been used to describe more than design problems; it has been incorporated into our notion of Agile practices - and what happens when things go wrong.
Mark Levison wrote an interesting blog summarizing some of the work that has been done to catalog Agile smells. Here are some smells you might recognize:
- Talking Chickens: This happens when non-team members - external stakeholders - over-participate in Daily Stand Up meetings. This action severely limits the self-organization of the team and their ability to act independently to meet their iteration goals.
- Is It Really Done? : Does the team have a definition of Done and keep to it? What happens if they don't?
- We're Not Acting Like A Team : If we're not acting a self-organizing team, then many of the benefits of all the remaining Agile practices will be diminished.
There are many other smells listed, and they vary in quality/style by author. This is a mark of maturity in our community as we look back and learn from our years of experience.
Some related works to Smells are Patterns. Jason Yip has written about Stand Up Meetings as a pattern format, Mike Cohn has written about Patterns of Agile Adoption, and Amr Elssamadisy has written Patterns of Agile Practice Adoption: The Technical Cluster (which is available for download here on InfoQ) and Agile Adoption Patterns: A Roadmap to Organizational Success. The work on patterns, similar to those on smells, builds on our communities experiences by bringing us common ways that teams have succeeded AND common ways they have failed.
As our community grows, documenting our years of experience for others that are adopting Agile practices will be increasingly important. Smells and Patterns are great ways of doing so.