Mea Culpa
apology for lack of recent writing and an invitation
Forgive me, despite best intentions, August and so far in September were lost in the noise of life. I will be resuming my writing with a focus on a book in progress. The following is a kind of teaser/invitation to check out the book segments as posted and provide feedback, comments, and criticisms. I will post the book segments for everyone; but, I could really use some paid subscribers if you have the ability and the interest.
Manifesto
We assert that the software produced on behalf of business—commonly labeled, IT—is fundamentally flawed: costly, underperforming, unduly complicated and massive, brittle and failure prone, an impediment to realization of business goals, and inhumane with regard those forced to us it and those that develop it.
We assert that too many businesses and the currently common expressions of capitalism have devolved to become inhumane, environmentally dangerous, socially irresponsible, and too focused on the extracting of profit.
We assert that there is an alternative way of thinking about both business and IT that could resolve those issues. One grounded in:
Respect for human beings and uniquely human abilities; as individuals, in teams, and forming organizations.
Recognition of the need to integrate business and IT into a single complex adaptive system, constantly adapting and evolving.
Rethinking the fundamental nature of business (from “rapacious extractive” to “conscious” capitalism) and IT (from “integrated monolith” to “autonomous agents”).
Acknowledgement of the need for a comprehensive (all aspects of the business and the IT that supports it) Theory that is comprehensively shared (everyone in the business from CEO to program coder) is an essential foundation. A Theory consists of knowledge about why the business exists, how it works, what issues it must deal with, what innovations and adaptations are possible/desirable), roles, activities, policies, procedures, long-term evolutionary objectives and much more.
We propose an approach—not a method—for establishing the essential shared Theory and using it, consciously and intentionally, to correct, enhance, and optimize the Business/IT system. That approach includes:
Adoption of the definition of a system as a set of elements and the interactions among them. Elements are defined and differentiated on the basis of their contribution to the system—by what they do (behavior) not what they are. In concrete terms, an Element might be conceptual (e.g., a protocol), a physical thing (e.g., a copier), a human (filling a role), or an “Artifact” (some software and the platform on which it executes).
Application of metaphors and concepts borrowed from natural complex adaptive systems: biological, ecological, social, and cultural.
Establish a single model for any and every Element: name, prose description, list of behaviors (responsibilities), list of knowledge required in order to perform those behaviors, a protocol (list of messages invoking behaviors), and a list of events (changes in state that the Element is willing to share and which other Elements might be interested).
Develop a living Theory (constantly expanding and evolving) via the simple mechanism of shared telling of Stories. A Story is a simple narrative describing the interaction of system Elements in pursuit of an objective.
Recognize that Theory is tacit—existing within the minds of those who participated in the storytelling that developed it.
Create—and populate the business environment with—tangible “Evocative Triggers” that recall to mind relevant portions of tacit Theory; examples being “Story Cards” (index cards with story essentials) and “Domain Map Fragments” (bubble and arc graphics with bubbles labeled with Element names and arcs with labels describing the nature of an interaction between/among Elements).
Ground efforts to enhance the business/IT system on shared Theory; with discussions about the need or desirability of introducing specific changes to the system in order to resolve issues or pursue opportunities—always with the understanding that such changes must preserve human integrity.
Change the system by adding, deleting, or modifying elements; recognizing that modification of an element involves only the addition, deletion, or modification of a responsibility/behavior along with concomitant changes to knowledge required and protocol.
Design and Develop Artifacts as autonomous elements akin to any other system Element, while deferring the technical details of development to the last responsible moment and ensuring that humans expert in the domain as well as human experts in development substantially share the same knowledge of the Artifact and how it works.
Use a common architectural model for an Artifact—one that conforms to the definition of an Element as stated above—which includes a Script (derived from a Story of interacting Elements, and a “cast of characters:” the set of involved Elements.
We Believe numerous individuals, both business and IT professionals, share our concerns about the current state of affairs and who would be interested in learning about, refining, extending, and adapting our approach. There are gaps in the approach as well as technical hurdles (especially with regard software tools) to be addressed and the same individuals could and would contribute to the effort.
We Solicit the participation of those wishing to discuss these ideas and find ways to bring them to the attention of those who can make a difference in how business is conducted and IT is developed.

