Agile software development includes a set of terms which convey the forward progress of team. These include concepts like ‘Velocity’ and ‘Burndown’. One day, quite by accident, I was saying something witty or sarcastic and introduced the phrase Enterprise Viscosity. While I don’t advocate making it an official part of any parlance, it’s a useful idea and something to look for when projects proceed slower than expected.
Enterprise Viscosity is the sum of all factors great and small that do not contribute to moving a project forward. It is the amount of friction, drag, resistance or impedance that slows projects down by nature of the environment, culture or people. Larger organizations are more likely to experience Enterprise Viscosity than smaller ones by nature of the communication overhead and the intersections of various disparate groups with different functions (hence the ‘Enterprise’ qualifier). Even so, smaller groups can experience high levels if the circumstances are unfortunate enough.
There is no such thing as a software project that encounters zero problems. You can’t completely eliminate friction regardless of how smooth you try to make things. This applies in software development just as much as in physics. There will always be some level of resistance and that’s to be expected. The goal of any group or company should be to reduce enterprise viscosity to the lowest level possible.
Enterprise Viscosity can take many forms and left unchecked can have a devastating impact on team morale, productivity, job satisfaction, motivation and all the other factors we expect to see in remarkable people and teams. Below are some examples of unnecessary drag at varying degrees of severity that can occur:
- That weekly staff meeting that takes an hour to deliver 10 minutes of useful information.
- Office politics of any kind that reaches the team level.
- Mandates that force the use of inferior tools.
- Needless bureaucracy.
- Management ‘dropping by’ frequently to see if the project is ‘on track’.
- Days broken into 30 minute or 1 hour chunks due to meetings.
- Shuffling people on or off teams that are working well.
- Urgent or critical issues that turn out to be neither urgent nor critical.
- Referring to people as resources (or worse treating them that way).
- Placing more emphasis on process than results.
- Committing to Agile methods without committing to Agile philosophies.
- Any meeting that starts with no agenda, lasts longer than twenty minutes or ends with no action items or resolution.
The common themes above are interruptions, lack of focus and poor management. If you are an Agile Manager, one of the primary metrics of your effectiveness must be how you reduce Enterprise Viscosity – wherever and however it manifests. Remove the resistance and get out of the way so your teams can do what you hired them to do.