InfoQ

News

Agile Smells: Don't Let This Happen To You!

Posted by Amr Elssamadisy on Jun 20, 2008 11:56 AM

Community
Agile
Topics
Adopting Agile
Tags
Adoption ,
Scrum

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.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
Work in Progress, your help requested by Mark Levison Posted Jun 20, 2008 4:06 PM
  1. Back to top

    Work in Progress, your help requested

    Jun 20, 2008 4:06 PM by Mark Levison

    Thanks writing about this work Amr. In my mind these are very much a work in progress and will need a lot of help from the community to take them to the next level. To edit the wiki you need the 'invite' aka password which is 'agile'. I look forward to seeing the contributions. Cheers Mark Levison

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.