Put up or shut up

As far as humans are concerned, reality exists in two dimenstions:

  1. idea – knowledge, abstraction, concepts
  2. action – implementation, instance,  software

Asymmetry refers to the disconnect or mismatch in ideas or actions between at least two people.

Knowledge asymmetry is the difference or incompatibility in idea. Action asymmetry is the difference in execution or instantiation.

Software is a manifestation of action. There is so much asymmetry or heterogeneity in software. Operating systems, middleware and applications. They are so diverse like ecology. Look at methodologies, frameworks, design patterns, open source vs proprietary, differences, heterogeneity, incompatibility and complexity all too common in software.

It is a crazy world, it is anything goes (Paul Feyerabend).

The asymmetry in knowledge and action existing in software only shows that traditional engineering pales in comparison to software engineering as far as complexity is concerned.  Traditional engineering is basically static, whereas software engineering is dynamic, adaptive and organic.

That is why there is Agile Manifesto, Extreme Programming, Test-Driven Development, etc that people concoct to bring order out of the chaos of software development.

From a vendor’s point of view, heterogeneity is complexity and interoperability is a necessary evil.  In contrast, homogeneity is a competitive advantage (just look at how integrated Apple is).

Knowledge asymmetry and action asymmetry may explain why there is so much complexity in IT (specifically software).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: