To Be More Agile, Reduce the Abstractions

Here’s a scenario…your organization decides to implement an agile approach to software development. It could be Scrum, Kanban, Lean, XP, etc. — doesn’t matter. The basics are implemented — small teams, product owners, stories, backlogs, daily meetings, retrospectives, etc.

These are all good steps to take but they don’t magically make an organization agile. True agility demands a mindset — a way of conducting business — that is different from the past.

Consider that all agile approaches have at least one thing in common — frequent face-to-face communication. Daily meetings are not enough. Agile teams need frequent face time. Without it, they can quickly regress to the old way of developing software.

The reason behind small teams is to encourage more face time. Too often we become dependent on technology solutions and ignore what has worked for millenniums. The problem with technology solutions is the layer of abstraction they add.

A simple change in behavior can help make any team more agile.

Encourage everyone to follow these guidelines whenever there is a need to communicate with someone else inside or outside the core team. The guidelines are in priority order from most desirable to least desirable.

  1. Walk down the hall and talk to the other person. Failing that…
  2. Pick up the phone and call the other person. If you can’t reach the person…
  3. Send an email. Indicate that you will follow-up with a phone call. Still no luck…
  4. If the person is online, send an instant message. Get a conversation started, then walk down the hall or use the phone. Lastly…
  5. Send a text message and follow up with a phone call. If all else fails…
  6. Schedule a meeting.

Eliminate the abstraction layers and you’ll get more done in less time. That’s agile.

Updated: June 19, 2011 — 10:29 pm