Four Centers of Excellence

I used the term DevOps Center of Excellence to describe a COE that delivers a service to the organization in the essay, Types of Center of Excellence.  This type of COE is a consolidation of the personnel to deliver a service into a group that can be drawn on by other parts of the organization.  Another name or description of this type of COE is a Center of Functional Excellence (COfE). After reading the essay Pete Franklin (@PeteFranklin) tweeted:

Eight Avoidable Reasons Why COEs Fail… via @TCagley – I’ve almost never seen a functioning CofE

When asked his opinion on why that was his experience he responded:

My theory is that the whole model is based on some fundamentally incorrect assumptions. In particular, that skills that exist in one place can be deployed into another team with no losses or issues. The old ‘fungible resource’ fallacy 🙂

I have seen functional COEs work and work well, however, I tend to agree that the seeds to make this type problematic are often present.

The intent of a functional COE is to establish or concentrate a core competency around a specific discipline.  Examples abound, I have worked in several COEs of over the years, some were very effective and others — well, not so much.  Functional COEs that work have a number of attributes such as a highly focused goal, the right amount of funding, leadership support, and a value orientation. In the ones that work well, people establish long-term relationships with their product teams.  Those that I have observed that are less effective often inject two forms of muda, waste, into the flow of value.

The first form of muda occurs when the COE creates a constraint in the flow of value.  For example, a testing COE that requires all work to be tested by members of the COE will at some point create a bottleneck.  Peak demand will create a queue of work in process (WIP). Queues are a sign of flow inefficiencies. This problem tends to generate conversations about staffing models that view people as fungible resources that can be traded in and out of the flow of work.  This might work in industrial processes but is problematic in knowledge work that requires context and product knowledge. Functional COEs are better served when they focus on delivering knowledge that enables the teams they support rather than playing a role in the critical path for delivering value.

The second issue that functional COEs can foster and/or reinforce is a silo mentality.  Agile and lean support breaking down the barriers between roles to improve the effectiveness of cross-functional teams by creating an environment in which team members have the skills and expectation that they will help each other out when needed.  Silos and specialization are the antithesis of the T-shaped people model common in agile implementations. People that are more than their specialty and have a reason to leverage all of their skills to support their product team improve team effectiveness. Silos get in the way.  

Functional COEs are not doomed to fall into these traps.  Generally, organizations create these problems with all of the best intentions.  Words that signal that these issues are looming include independent, matrixed, specialized, and resources (when used as a shorthand for people).  The words are not the issue but rather an assembly line or factory vision of knowledge work. Functional COEs work but only when they help teams optimize the flow of value rather than inhibit the flow.

What is your experience?

Note:  Not all functional COEs exist to maximize the flow of work.  Audit and other control COEs are special cases where independence is a requirement.  These types of COEs ensure compliance to regulations or agreements that, if not followed, would generate tangible risk to the organization or the users of the product.  Examples of COEs that fit into this category ensure work is done according to contracts or meet safety or security requirements. COEs in this category help to establish the boundaries that, while irritating to the initiated, improve the effectiveness of a team by keeping them from doing something that will turn out to be silly or tragic.