Improving Wetware

Because technology is never the issue

Some climate links

Posted by Pete McBreen 23 Jun 2011 at 21:34

Clearing up the climate debate

The Rolling Stone piece Climate of Denial

Not climate, but about useful questions for a different denial community from PZ Myers

Another take on the Software Engineering idea

Posted by Pete McBreen 23 Jun 2011 at 21:28

Why Software Development Will Never be Engineering

Basic idea in the article is that things like bridge building are now fairly static. The types of bridges we know how to build are well codified and replicable. Not mentioned in the article is that novel bridges still have novel problems, but after a few mistakes the construction engineers seem to resolve most of the issues.

Software development is different because it keeps on changing. The article argues that 10 years ago the future seemed to involve UML and CASE tools, but that the current state of the art of software development (Agile) does not use either of them.

Magical Thinking

Posted by Pete McBreen 07 Jun 2011 at 22:12

There is a constant refrain that occurs whenever people try to achieve anything

There must be an easier way

We learn this lesson at an early age and never forget it. The toy problems we are “challenged” with while learning always have an easy solution. Sometimes the easy solution is non-obvious and hard to find, but there is always a trick that makes solving the problem easy.

Unfortunately the world does not work this way — but we want to be tricked into thinking that it does.

Some examples:

  • Finding the one food that will help the pounds melt away
  • A pill that will cure all diseases
  • The invisible hand of the market
  • Buying a CASE tool to improve code quality
  • Adopting Extreme Programming
  • Thinking that Requirements Traceability makes systems better

Whether we think of these as “Silver Bullets” or a “Technological Fix”, it seems that we are hardwired to seek out simple solutions. In part this could be because we are so good at pattern recognition that we see a pattern where none exists.

All of this makes progress in software development difficult, because collectively we don’t want to believe how hard it is to deliver reliable systems. There has to be an easier way …