Categories
The Business of IT

Software Factory Taxonomy

Do you wonder why your software organization struggles to deliver value rapidly, reliably, and consistently? It’s because something is wrong with either the organization’s structure or its relationships—or both.

The software factory consists of its structure and its relationships. Some combinations are much more effective than others.
The software factory consists of its structure and its relationships. Some combinations are much more effective than others.

The following diagram, which I call Shlomo’s Software Factory Taxonomy Matrix, illustrates this effectively. Organizations are structured horizontally, delivering a single functional area such compliance or QA, or vertically, delivering a single product or service. The inter- and intra-organization relationships are simple, when they don’t distract from forward progress, or complex, when they do.

Most large organizations are structured horizontally and have complex relationships. This is the bastion of bureaucracy, where more energy is devoted to internal relationships than with the customer and her needs. The Department of Veterans Affairs is a painful example, notoriously mired in paperwork and hoop-jumping and poor on results. Most legacy IT teams reside here.

Simplifying the horizontal organization’s relationships can dramatically improve service. This is the domain of steady performance, or “tanks,” who make progress very reliably but relatively slowly. Single-function teams often reside here, such as an internal Infrastructure as a Service function.

Vertical organizations with simple relationships are swift, like fighter jets. They move very quickly, perhaps leaving some pockets of resistance behind them, but they achieve their objectives (delivering the service) rapidly. A cross-functional single-product silo lives here, as do product-centric DevOps teams.

Vertical organizations with complex relationships are what I call “wasted potential,” like grounded jets. If only they could get out of their own way they would be effective fighter jets, but they must devote too many resources to the complex relationships instead of making forward progress. A failed DevOps transformation often ends up here.

At least 80% of software teams are stuck in the Bureaucracy quadrant. What would it take to reorient their structure and simplify their relationships to unlock high performance? Contact me for help.

Leave a Reply

Your email address will not be published.