Dragons in the Algorithm
Adventures in Programming
by Michael Chermside

Culture of Reuse - Part 4: Changing the Culture

Part 4 of a 4-part essay

In the first 4 parts of this essay, we covered how company culture affects the solutions people choose, that Capital One excells at innovation but is poor at reuse, and that reuse is important. Bringing this together, I think we need to change the culture at Capital One to one that supports reuse. Changing a culture is quite challenging, but Capital One is making some genuine progress in this regard.

One thing that makes a huge difference in the culture of organizations is top-down leadership. The things that top leaders say (and even moreso, the way that top leaders behave) has an enormous influence on the culture of an organization; it is one of the most significant ways that top leaders can have an influence. Rob Alexander, the CTO of Capital One, started out 2018 by announcing a technology manifesto, one plank of which was that "we will be fanatical about reuse".

Another thing that matters is the language that we use. Just in the past year-and-a-half, I have begun to hear people talk about the term "Inner Sourcing". This is a term we have created for the process of managing a codebase that is internal, not open-source, but which is "shared" by multiple teams across the company, all contributing to its development. The fact that we are discussing the optimal ways to share code necessarily means that we are paying more attention to reuse.

Good tools help too, because they make things visible. We are building a tool for tracking our existing software which is designed to make it easy for a developer or architect to review the existing codebases and determine whether there is an existing system or library that they can reuse to meet their needs. We will be releasing this later in 2018.

A fourth key for changing a culture is to make use of the levers that people actually respond to. In Capital One, the annual review process is just such a key lever. Folks probably care what is written into our mission statement; they likely care what their managers tell them in their 10-10. But everyone definitely cares what will be discussed in cross-quals. That is why there is a group that is working on annual review guidelines that will be extended to consider how a team member has incorporated reuse, in addition to the ways in which they have innovated.

But, as I explained in part 1, a company's culture is deeply rooted in the stories that we tell ourselves. So if we want to become a place that values reuse -- while at the same time continuing to value innovation (because we don't want to give up on our existing strengths; we need both) -- then we need to start telling ourselves stories about why reuse is important and how we practice it. And that is the reason why I am writing and sharing this essay. I hope it makes a difference in how YOU think about reuse.

[Back to part 3]

Posted Fri 20 July 2018 by mcherm in Software Development