Improving Wetware

Because technology is never the issue

Magical Thinking

Posted by Pete McBreen Wed, 08 Jun 2011 05:12:00 GMT

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 …

Understanding The Fundamentals

Posted by Pete McBreen Wed, 01 Jun 2011 06:01:00 GMT

Is there a Mathematics Generation Gap

Calculators became affordable in the mid- to late-1970s. Students in the 1980s were taught by teachers who had learned mathematics without calculators, and could do basic mental arithmetic. Students today might be taught by a teacher who is himself unable to work out 37+16 without help. The consequences are neatly described in an “Alex” cartoon I have on my fridge about a proposal to ban the use of calculators in school. “Faced with home work which requires him to work out simple sums in his head today’s lazy seven-year-old will instinctively turn to the quick and easy method of arriving at the answer… i.e. asking his dad, who, embarrassingly also wouldn’t have a clue without a calculator.”

Implications of this could be interesting for software development. When there is a large part of the workforce unable to do simple calculations without the use of a “Guessing Box” I expect there will be a lot more errors in software. Or at least errors that can be attributed to the Garbage In, Garbage Out problem of the users (and developers) not having the basic skills to detect implausible answers from systems.

Story About The Start Of Scientific Management

Posted by Pete McBreen Thu, 21 Apr 2011 18:04:00 GMT

An older article from The Atlantic, on Management Myths. Telling comment from the viewpoint of Scientific Management

the science of handling pig iron is so great and amounts to so much that it is impossible for the man who is best suited to this type of work to understand the principles of this science, or even to work in accordance with these principles, without the aid of a man better educated than he is.

Worth a read if only for the historical perspective.

Strange error from RubyGems due to linux prelink …

Posted by Pete McBreen Thu, 07 Apr 2011 21:32:00 GMT

After installing Ruby 1.9.2 from source on Centos, a few days later got a strange error from rake and gem commands

# gem list
<internal:lib/rubygems/custom_require>:29:in `require': No such file or directory - ?? (Errno::ENOENT)
       from <internal:lib/rubygems/custom_require>:29:in `require'
       from /usr/bin/gem:8:in `<main>'

Found a fix for this at Ruby Forum Beware prelink and compiling ruby from source. The problem seems to be prelink corrupts ruby, so just need to ban prelink from touching the ruby executables and libraries. Need to ban /usr/bin/ruby in /etc/prelink.conf. by adding the line

-b /usr/bin/ruby

to the conf file. Hopefully someone else will find this in the search engines and not have to reinstall ruby too many times (but once it has occurred you will need to reinstall to fix the corruption).

Some History Of Programming

Posted by Pete McBreen Sat, 12 Mar 2011 20:05:00 GMT

A fascinating one hour videos of a talk by Douglas Crockford on Open source Heresy. The talk includes some humor around the JDON license

The Software shall be used for Good, not Evil.

Interesting to hear the idea that open source dates back to the very early days of Univac …

TL;DR Soundbites Are Going To Kill Us

Posted by Pete McBreen Thu, 03 Mar 2011 06:14:00 GMT

TL;DR If you let other people tell you what you should think, don’t be surprised if you end up doing things that are not in your own long term interest.

Niel Postman was right, we are Amusing Ourselves to Death.

Soundbites cannot communicate nuances of ideas

For whatever reason, few people take the time to really find out what is going on in the world, being happy to be few a soundbite by a politicain or demagogue. Since I have the CO2 level shown in the sidebar, a good soundbite to use as an example is “CO2 is Plant Food”. Yes, CO2 is required by photosynthesis in plants, but the role of CO2 is much much more complicated than that.

Television and Radio news rely on soundbites, and as such are destroying public discourse about important matters that as a society we need to deal with. And yes, I know that TV and Radio news have some value, but that value needs to be considered in the light of what it also does to our understanding of science, technology, economics and the political choices facing us in the 21st Century.

When the Low Cost Supplier Stops Supplying

Posted by Pete McBreen Wed, 23 Feb 2011 02:59:00 GMT

A parallel to the outsourcing debacles is what is currently happening in the supply of Rare Earths (mainly the transition metals if you remember your periodic table). The rare earth metals are commonly used in high tech components, often for the super strong magnets, but also for lots of other electronic components.

China used to be such a low cost provider that it managed to capture most of the market, all of the other suppliers basically closing their mines. Now China, which produces 97% of the world’s supply of rare earths, slashed its exports to a trickle to feed its growing domestic needs. The link goes to a feel good story about a mine that is trying to ramp up production quickly, but there is still a measure of reality in the storyline

“Bottom line, we fell asleep as a country and as an industry,” Smith said. “We got very used to these really low prices coming out of Asia and never really thought about it from a supply chain standpoint.”

In more and more areas we seem to be bumping up against problems when demand starts to exceed easily available supply. It is not that we are running out, it is just that demand is larger than expected so there is not the production capacity, so the price in the market becomes unstable, with large spikes and then resulting drops as some customers leave the market for alternatives.

Mainstream media is catching up with outsourcing

Posted by Pete McBreen Wed, 16 Feb 2011 17:41:00 GMT

The LA Times is the latest to report on Boeing’s costly lesson on outsourcing. They have an interesting lead to the story

The biggest mistake people make when talking about the outsourcing of U.S. jobs by U.S. companies is to treat it as a moral issue.

Sure, it’s immoral to abandon your loyal American workers in search of cheap labor overseas. But the real problem with outsourcing, if you don’t think it through, is that it can wreck your business and cost you a bundle.

I don’t agree that many people thought of outsourcing as a “moral issue.” The conversation was more about the balance between short term economics and the long term implications of outsourcing. Short term the numbers can look better, but long term organizations lose the ability to do the work. The end result is that in the end the supplier becomes dominant, captures most of the available profit, and the outsourcer ends up being responsible for the downside risk.

See also Outsourcing too much part II

Time for Intolerance?

Posted by Pete McBreen Wed, 16 Feb 2011 15:50:00 GMT

Jim Bird recently pointed out that there’s a cost to building good software, so calls for Zero Bug Tolerance are sometimes misguided.

There’s a cost to put in place the necessary controls and practices, the checks and balances, and to build the team’s focus and commitment and discipline, and keep this up over time. To build the right culture, the right skills, and the right level of oversight. And there’s a cost to saying no to the customer: to cutting back on features, or asking for more time upfront, or delaying a release because of technical risks.

He goes on to say …

That’s why I am concerned by right-sounding technical demands for zero bug tolerance. This isn’t a technical decision that can be made by developers or testers or project managers…or consultants. It’s bigger than all of them. It’s not just a technical decision – it’s also a business decision.

Alistair Cockburn has pointed this out in his Crystal set of methodologies, that thecost of an error in different kinds of applications varies, and that an appropriate methodology takes this into account.

  • Life and Safety Critical - things like pacemakers and flight control software
  • Mission Critical - systems that the business depends on, if the system fails you make the evening news (for example a stock exchange)
  • Departmental applications - yes the business depends on it, but a certain amount of downtime can be accepted
  • Comfort - yes, twitter and facebook, I’m looking at you

Processes and verification procedures that are appropriate for a mission critical application would be detrimental to a departmental time booking application. A good test suite would be appropriate for both, but only the mission critical application needs a formal review of the test code to make sure it is covering the appropriate cases.

This is one of the reasons why I support Jim’s idea of being intolerant of the Zero Bug Tolerance mantra.

Wider Intolerance

Some ideas just fail the laugh test, but they are afforded too much deference by people who should know better. The Rugged Software Manifesto fails the laugh test as well.

After reading about the attempts to brand Alberta’s Tar Sands as “Ethical Oil”, maybe it is time to start laughing at politicians that espouse crazy ideas as well.

The UK Government Chief Scientific Adviser John Beddington recently called for scientists to be “grossly intolerant” if science is misused

“I really would urge you to be grossly intolerant,” he said. “We should not tolerate what is potentially something that can seriously undermine our ability to address important problems.”

Beddington also had harsh words for journalists who treat the opinions of non-scientist commentators as being equivalent to the opinions of what he called “properly trained, properly assessed” scientists. “The media see the discussions about really important scientific events as if it’s a bloody football match. It is ridiculous.”

Limits Of Expertise

Posted by Pete McBreen Wed, 16 Feb 2011 02:09:00 GMT

A common problem in software development and science is that people are often not aware of the limits of their knowledge.

The electric car provides a great example of this. Richard Muller in Physics for future Presidents makes several statements about the feasibility of electric cars that have turned out to be incorrect.

This quote is from Confusing Future Presidents part 2

High-performance batteries are very expensive and need to be replaced after typically 700 charges. Here is a simple way to calculate the numbers. The computer battery for my laptop (on which I am writing this) stores 60 watt-hours of electric energy. It can be recharged about 700 times. That means it will deliver a total of 42,000 watt-hours, or 42 kilowatt-hours, before it has to be replaced for $130.

Muller implies in this post that a car would need to replace the battery after only 700 cycles, but although this might have been the case at the time, car battery suppliers are continually extending the life of a battery.

Better Place which is the pioneer in rapid change for electric batteries in cars has also pointed out that the end of life is not a fixed point. In their blog post batteries can have a second life they state

In the world of batteries, what does “end of life” really mean? According to the industry, end of life is defined as that point in time when a battery has lost 20% of its original energy storage capacity or 25% of its peak power capacity. This implies that an EV battery, with an initial range of 100 miles per charge, will reach its end of life when, years later, it only delivers 80 miles per charge.

That time is likely to be reached only after the battery has carried an electric car about 200,000 miles or 2,000 cycles. But that’s not really the end for an EV battery – it’s just the beginning of a second life that not many people know about.

All this goes to show that Muller’s expertise in a branch of physics does not necessarily extend to expertise in economics, engineering and battery chemistry. Muller had tried to dismiss the Tesla roadster before it was released by claiming that it would cost too much and the batteries would be too heavy Confusing Future Presidents part 1. But the Tesla was launched successfully as a niche sports car. Now the GM Volt and Nissan Leaf are also proving that it is possible to build electric cars.

The Better Place business model of renting the battery through quick change stations that can swap a battery faster than you can refuel at a filling station is likely to be a game changer as well.

So the next time someone states categorically that something is not possible, first check to see if they have the relevant expertise in the appropriate areas before listening too long or hard.