Working at the Correct Level of Abstraction at the Right Time: All the Time.

Today I observed a mob of programmers self-organize into 3 concurrent levels of abstraction. They were developing a computer game.  If Whole Team Programming or Mob Working is a new phrase to you, the basics are here.

Roles and Levels in Mobbing
At the lowest level (1) of abstraction was the Driver. They operate the keyboard and mouse to manipulate the IDE, version control, and code base.  The least experienced developers went on a 3 way rotation in the Diver role. 

The next abstraction level up (2) was the Navigator & Researchers roles. Three more developers who had their own laptop computers, occupied these roles. They were switching between conversation, searching the web for code samples, design patterns, and the suite of test scripts. They were making code alterations and commenting with Teletype. 

Concurrently, at the highest level (3) there was the conversation about the User Experience, game mechanics, and game variants.  This role was that of Product Owner. Their focus was the marketability of the game, ROI of features in the work backlog, and priority of work objectives. They revised the order of items in it, and refined them. The PO also confirmed “Done” items in real-time.  At least 1 individual as PO elicited the opinions and input from other mobbers. The person in the PO role was comfortable operating at any of the levels.

Opt-in Behavior over Rules and Punishment
Whatever was happening at any of the 3 levels was observable, if not transparent, to anyone operating in the other levels.  Anyone other than the person actively filling the role of Driver at the moment, was free to voluntarily move up and down the 3 levels to engage in collaborative conversation.

In understanding this particular work dimension of “abstraction hierarchy,” it is important to keep separate and distinct the dimension of technology stack (aka. architectural layers) which in my model are merely separate topics of discussion occurring among and between levels 1 and 2 of the work mob predominantly.

Of particularly important note is the fact that the stratification of work conversation arose organically, as an emergent behavior pattern.  There was no explicit request, demand, or compliance therewith, that precipitated the emergence of this structure of work system.  The only thing that was outwardly agreed was that this would be a Mob Programming session. 

In very fact, the participants in the mobbing session, were unaware of the emergence of this structure.  Rather, subsumption, stigmergy, and entrainment seem to be arising.  The co-facilitators of the mob, not being directly responsible for the completion of work objectives, but rather having their focus on the manner of collaboration throughout the mob, independently observed and reciprocally verified this pattern having occurred in the given setting.

It is theorized that the broad distribution of skill sets, experience contexts, and professional interests is what gives rise to this social phenomena, and now is a budding social technology.

Also of note is that emergent leadership dynamically moves from one individual to the next. It’s based on who has the highest degree of confidence in the relevance of their idea, technique, or experience in a given moment. So, this governs the balance of their self-editing vs. self-expression based intrinsic drive.  Furthermore, the movement of emergent leadership inside each level is independent of all other levels.

Governing Principles at Play
There are underlying principles operative in this work environment can be described as “The Concept of Ba.” They are, namely: self-management and the presence of Open Space Technology. OST affords all participants the freedom, or obligation rather, to go to the place where one experiences a sense contribution, learning, or fulfillment. The Law of Mobility demands one go wherever in the system, and whenever one can to maximize such feelings.  Leaving the system with complete impunity is also an valid option.  In other words, a sense of connectedness, is the potential result. Those are the requisite and sufficient conditions, in my opinion.

I welcome your comments, inferences, and questions related to this topic. You may post them here, subject to my curation.

Jon Jorgensen

Leave a Reply

Your email address will not be published. Required fields are marked *