Thank you for subscribing to the Digital Maneuver newsletter.
If you find this content useful, feel free to forward it to others you think will benefit.
If this was forwarded to you by someone and you're missing messages as they're sent, you can subscribe now.
If you have feedback you'd like to share, feel free to email me at email@example.com
The Digital Maneuver Playbook
The Digital Maneuver Playbook (draft) is a set of principles and plays for how to deliver software value to users more quickly. It is also open source and you can contribute or create issues and suggestions via the issues page.
- Keep It Simple
- Measure Progress
- Go Where the Work Is
- Hire and Empower Technologists
- Open by Default
- APIs Everywhere
- Certify the Process Not the Product
- Standardize Smartly
- Ruthlessly Automate
- Implement SRE Principles
- Use Safer Programming Techniques
- Red Team Extensively
All That is Old is New Again
In some organizations, problems persist, unsolved, seemingly indefinitely. Vannevar Bush headed the US Office of Scientific Research and Development, which carried out almost all scientific R&D during World War II to include radar and the early work on the Manhattan Project. He also helped start the National Science Foundation and worked extensively with the Department of Defense throughout his career.
Towards the end of his life he commented on organizational tendencies pertaining to technology advancement and how that might stifle progress. His words are are true now as they were then.
In staff conferences where current strategy and tactics are being discussed there should be present an individual who is master of recent technical developments that are just entering into use or are not far in the future. This principle holds at every level, even at the top where grand strategy is formulated.
-- Vannevar Bush, Pieces of the Action, 1970
POSIWID: the Purpose Of a System Is What It Does
The Purpose Of a System Is What It Does (POSIWID) is a systems thinking heuristic coined by Stafford Beer. The idea is that, regardless of the stated purpose(s) of a system, you can infer what its true purpose is by simply observing its outputs.
The term is widely used by systems theorists. It is generally invoked to counter the notion that the purpose of a system can be read from the intentions of those who design, operate, or promote it. From a cybernetic perspective complex systems are not controllable by simple notions of management, and interventions in a system can best be understood by looking at how they affect observed system behavior. When "side effects" or "unintended consequences" reveal that system behavior is poorly understood, then taking the POSIWID perspective allows the more political understandings of system behavior to be balanced by a more straightforwardly descriptive view.
In other words, for any organization (which is a kind of system), the true purpose of the organization is easily observable by the outcomes it produces.
In larger organizations, this can be seen in a variety of places including the outputs of a procurement or compliance function. The stated purpose of such an organization might be to save the organization money or to ensure some kind of security process is being followed. However, it is often the case that more money is spent in procurement or acquisition processes than is actually saved by following those process. Similarly, security or risk mitigation processes often result in slowness and ossification that is a greater risk than if the process hadn't been followed in the first place.
In those situations, we can use the POSIWID heuristic to determine the true purpose of the continued existence of those organizations and processes. In other words, it's usually better to be slow.
This might seem counter-intuitive in an age where Agile is all the rage, but the reality is that being slow and deliberate is a reasonable survival strategy in a situation where there is no existential threat. Since bureaucracy only responds to disaster, the status quo is maintained seemingly at all costs because the organization is its own worst enemy in a situation where no other outside threats exist.
With this in mind, the POSIWID heuristic can be useful in rapidly identifying the true purpose and motivations of an organization. Consequently, it is very helpful in developing possible actions and solutions to affect the desired organizational changes.
If the stated purpose of an organization is to make software development faster, for example, and that organization actually makes software development slower, then don't believe the hype. POSIWID.
Out of the Tar Pit
This paper titled Out of the Tar Pit from Moseley and Marks in 2006 is one of the quintessential reads in some areas of software development. The paper identifies complexity as the main problem in software development, which is not a new idea. However, it goes on to more clearly delineate the difficulty into essential difficulty and accidental difficulty. The paper argues that essential difficulty items are inherent to the problem and domain itself and cannot be removed, while accidental difficulty is an artifact of the tools used to solve the problem. Therefore, tooling should be designed and used in such a way as to reduce accidental difficulty to the extent feasible.
While the paper is focused from a software development and programming language perspective, precisely the same model can be used for software development or technology organizations and policies.
From a leadership and management perspective, how much of the difficulty of the software development process is simply accidental difficulty? What processes might simply be eliminated with only minimal negative effects, if any? The concept of essential and accidental difficulty is extremely useful in identifying and remove wasteful process and organizations, especially with the POSIWID heuristic described above.
Lean Portfolio Management
Incorporating lean principles (maximizing throughput, minimizing rework, etc.) can be very useful in the context of optimizing business processes, but many of the books on the topic have a high percentage of fluff relative to useful information.
Although I'm not always a fan of their tooling, Atlassian has a great set of guides on a variety of lean and agile topics including Lean Portfolio Management.
There are many differences between traditional portfolio management and Lean Portfolio Management. But overall, the lean approach is designed to maximize speed, reduce the time from vision to value, and ensure that value streams have the ability to pivot as the marketplace changes or customer demands shift. These advantages are essential to building a connected enterprise that can compete in the modern economy.
This guide, and others on that site, are definitely worth a read.
For feedback or to provide contributions, you can email me at firstname.lastname@example.org