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.

Categories
The Business of IT

CIOs: Get more out of your networking (no, not that kind)

The most significant improvements in a CIO’s businesses effectiveness come not from technical tips at all, rather consist of improving habits. Here are my top three:

– Recognize that “networking” is about relationships: relationships between IT services that span organizational boundaries. The best way to improve relationships among IT services is to improve the human relationships that underlie them. Demonstrate the importance of, and train your staff in, establishing and maintaining productive relationships with stakeholders.

– Educate your team in the ways of exploring business value. Business value comes not only from the features and services delivered by the IT, but also from the controls and relationships that IT incorporates. There is real—if intangible and unquantifiable—business value in the workflow as it has developed over time, so don’t be overly quick to eliminate bureaucracy. There are often pearls in what might otherwise be declared “waste.”

– Accept that you won’t be more productive by fitting more meetings into your schedule. Instead, eliminate meetings as a medium for information sharing. Declare “calendar bankruptcy,” and allow your entire staff to do so as well. Replace meetings with chat rooms, wikis, etc. Provide a limited budget of meeting hours per day per person—say, one—and insist no individual meeting can run beyond 20 minutes. Watch productivity skyrocket.