Tuesday, August 31, 2004

Leaky Abstraction

Joel Spolsky's Law of Leaky Abstraction:
All non-trivial abstractions, to some degree, are leaky.
Technologies (Joel talks specifically about code generation tools) are generally supposed to abstract out something. They create a separation (decoupling) between some abstract service at one level, and some technical code or mechanism at another level.

But all abstractions leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don't save us time learning.

So decoupling is never as clean as it should be, and we should always expect hidden coupling and feature interaction.

The Law of Leaky Abstraction is related to the belief that symbolization (standardization or formalization) is necessarily imperfect, always leaves holes (something to be desired, the invasion of the Real). Complexity, often seen as part of the solution, merely adds to the problem.

Monday, August 09, 2004

Asymmetry

Many enterprises are managed on a false assumption of symmetry.


War and Peace
Traditional armies assumed that their principal enemies were also traditional armies. This assumption was shaken by insurgency and guerilla and is completely irrelevant to the war against terror. Hence the modern interest in asymmetric warfare.

Traditional diplomacy focused on the relationships between nation states, represented by the political establishment within each state. These states has peer-to-peer relationships, and also participated in various international bodies.


Enterprise
Traditional enterprises assumed symmetry between supply and demand. But this symmetry typically suppresses the real demands of the support economy.

General Notes on Asymmetry, Asymmetric Trust, ...

Information Asymmetry: Labelling as Service
Asymmetry of Demand: Business Geometry

asymmetry@del.icio.us

Saturday, August 07, 2004

Power to the Edge

cross-posted to AsymmetricDesign blog


Power to the edge is about changing the way individuals, organizations, and systems relate to one another and work.

  • empowerment of individuals at the edge of an organization
  • adoption of an edge organization, with greatly enhanced peer-to-peer interactions.
  • moving senior personnel into roles that place them at the edge

Power to the edge is being presented in the military domain as the correct response to increased uncertainty, volatility, and complexity. Clearly these factors also apply to civilian enterprises, both commercial and public sector.

Carole Eigen and Philip Boxer presented on this topic at the ISPSO Symposium in Baltimore in June 2005 (paper).

Military use of the term comes from a book by David S. Alberts and Richard E. Hayes, Power to the Edge: Command … Control … in the Information Age. June 2003. Published by CCRP. PDF version available online (1.7 MB).

See John Stenbit statement. See also presentation material by Dr Margaret Myers. Power to the Edge Through Net Centricity - Transformation of the Global Information Grid Text (html) Slides (pdf).

Groove (acquired by Microsoft in March 2005 - see my commentary) always liked this concept (for reasons that should be obvious) - see blogs by Ray Ozzie (now offline) and Michael Helfrich. See also blogs by Doug Simpson and Nathan Wallace.

I found a weblog rant here to the effect that Power to the Edge is all about speeding up information flow, just another name for Reengineering. In my view, this is a fundamental misunderstanding. Obviously Power to the Edge may call for improved flow of information: quality and complexity as well as quantity and speed. But Power to the Edge is not the improved flow itself but what it enables - which is a fundamental transformation in the geometry of the organization away from a hierarchical command-and-control structure. And such structures are still as common in civilian/commercial organizations as in the military, if not more so.

Further comment: Demise of the Super Star, Governance at the Edge.

Monday, August 02, 2004

Tethering

Tethering is the creation of a dependence (tight coupling, binding) by a supplier, in a situation where a consumer may have a reasonable expectation of independence (loose coupling, zero coupling).

Example 1. RealNetworks has recently launched a service to download music onto Apple iPods. Apple regards this as an invasion of its tethering. The blogs I read are generally supportive of RealNetworks.
Example 2. It is alleged that some brands of printer automatically reduce print quality when they detect third-party ink cartridges.

Example 3. Off-shore software developers may put in unauthorized coupling between software modules/components, in order to increase subsequent maintenance revenues.

Tethering represents a clash between the supplier's view of the world and the consumers' view. (We call this Asymmetric Demand.) Sometimes it stems from a deliberate plan to exploit a commercial position or from bloodymindedness. But sometimes the supplier feels that the position is morally defensible and in the best interests of consumers (if they but knew it.) Surely iTunes provides all the flexibility and functionality anyone could want??