How do we really know who influences most in a software project? We can easily track code commits, but there are more bits to the project than the commits.
I had the good fortune to attend Mik Kersten’s Code Graph presentation at SXSW last week. Mik started the Eclipse Mylyn project and went on to found Tasktop. Both are built on the very intriguing concepts that software development production (aka work) is organized around tasks.
His premise is that organizing around tasks provides a more manageable and actionable view of a project than a more traditional application life-cycle management (ALM) approaches. I’m a sucker for any presentation about lean development process that includes references to both DevOps and industrial engineering (I have an MS in IE), but Mik surprised me by taking his code graph concept to a whole ‘nutha level.
The software value chain is much deeper than just the people who write code. Mik’s approach included managers, testers and operators in the interaction graphs for his projects.
By including all of the ALM artifacts in the analysis, you get a much richer picture of the influencers for a project.
For example, the development manager may never show up as a code committer; however, they are hugely influential in which work gets prioritized. If your graph includes who is touching the work assignments and stories then the manager’s influence jumps out immediately. That knowledge would completely change how and who you may interact with a team. It effectively brings a shadow contributor into the light.
The same is true for QA members who are running tests and opening defects and operators who are building deployment scripts. Ideally, it should include users who exercise different parts of the applications capabilities.
Mik’s graphs clearly showed the influence impact of managers because they touched all of the story cards for the project. The people who own the story cards are the most potent influencers in a project, yet they are invisible in code repositories!
I would love to see an impact graph for a software project that equally reflected the wide range of contributions that people make to its life-cycle. This type of information helps rebalance the power in a project.
Industrial engineering legend W.E. Demming‘s advice is to look at production as a system. Finding ways to show everyone’s contributions is an important step towards bringing lean processes fully into software manufacturing.