Skip to content
August 1, 2011 / David Bleeker

“Self Organizing” is not a license for Neglect

One of the key concepts in Agile is the idea that teams are self organizing, self-managing. Instead of having a manager hand out tasks, the Agile team members sign up for tasks and organize their work the way they feel best. This means that the team is empowered to make day-to-day decisions about the best way to complete the development tasks required for a particular iteration. At the same time it means that the development manager is expected to step back and relinquish some control to the team. For some managers that translates into a welcome reduction in workload as some of the responsibilities are shifted off to the team.

Source: Kheel Center, Cornell University

It is tempting to simply check out, to let the team manage itself. It feels good to sit in one’s office, surveying the factory floor while the worker bees are busy with industry. They are the new, empowered workforce. Making decisions. Working through priorities. There’s a freshly printed backlog to prove that the new Agile process is working. Things have never been better.

When the team is composed of top-rung developers and team leads, things will likely go well for some time. I am talking about seasoned veterans, folks that are paid well and have enough experience to know how to keep things in order. If the team is made up of mostly junior developers, or the developers don’t have tenure, this type of management is sure to end in disaster. Only it won’t be overnight.

At first it will seem that the team is making great strides. There is renewed vigor. One can feel the energy. Releases are coming quicker, priorities are shifting and the Product Owner feels more in control than ever. The first few releases go by without too much hoopla. Then the Product Owner notices that there are a few stories the team was unable to complete. Instead of a quickening pace of delivery, the team reports new issues and problems that need to be fixed before a feature can be delivered. Each iteration brings with it a few more challenges until eventually the team grinds to a halt. It may not be with the software, it could be in other areas.

Development teams are responsible for activities that survive the transition to Agile—activities that are critical to the ongoing success of an application development team. Besides delivering a working system, the development team is responsible for:

  • Application architecture. The modules and structure of the application are sound. Refactoring is being applied to ensure that issues are ironed out of the application code before they become issues.
  • Code quality. Coding standards are being observed. There is consistency across the code base.The code performs consistently well. Bugs are not reintroduced with each new release.
  • Modernizing. Outdated components are archived and removed from the build. New tool versions are installed, tested, and integrated.
  • Build health. Configuration files are in order. Build scripts are able to build a complete system without fail. The deployment scripts work as advertised. Source control has all the files that are in the build, and they are correctly versioned and labeled. The build process eliminates components no longer required.
  • Documentation. I know we are talking about Agile, but what about inline comments? Do they still match what has been implemented? Architecture diagrams correctly reflect the current state of the application as the team makes changes.

Hands-on development managers should not be the exception, but the rule. Teams are still accountable and should be able to demonstrate their ability to function holistically as a team. An astute manager will put down their coffee and get in amongst the developers. There is a lot that an experienced manager can add on a daily basis without micro-managing everything.

When last have you checked on the vital signs in your Agile team?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: