Tag Archives: quality

Quality Tested

Everyone who has done any job for a while has a few ‘war stories’. It’s even a standard management technique to throw a few techie-tales into the conversation to bolster credibility with the geeks in the platoon. That can go badly wrong but that’s a story for another day.

Because some of my tales from the trenches were acquired while contracting, I’ve felt bound by client confidentiality and only shared them with a small number of trusted colleagues but surely a good yarn has a statute of limitations, if it is told for the good of society. As this one is more than 20 years old and the company has changed ownership at least twice in that period, I’m going to risk it. The facts don’t reflect badly on any individual, only on a manufacturing culture that had unwittingly survived beyond it’s sell-by date.

A group of Japanese businessmen were being guided around a luxury sports car manufacturer’s engine test facility to show off the company’s recent massive investment in robotics. The company had experienced a long-standing problems with cars being delivered to customers or showrooms, only to be returned because of significant oil-leaks from around the engine-block.

In the new system, each engine arrived in a wooden box which was unpacked and delivered on it’s pallet to a testing station where an operator attached oil, water and electrical connectors. Each engine had a bar-code attached so that it could be tracked throughout the manufacturing process and the foreman knew who was to be blamed for any error. Each engine was filled with oil and water then started up and run through a number of test cycles until the operators had either made minor adjustments to get the engine through the tests or had failed and been sent back to manufacturing for complete re-work. No more sub-standard engines would be put into cars and sent out of the factory gate to damage brand reputation.

The UK managers turned to the main Japanese visitor, glowing with pride that for once they were ahead in the race to manufacture the most reliable cars. The visitor hesitated then said, “That is very impressive but what I don’t understand is: why did you decide to build some of your engines with leaks?”

I dedicate this story to my Agile & Lean friends whose tests are built into their manufacturing process and I offer it as a warning to those who throw their software onto a transporter for delivery to Engine Test.


New Rules to Make Free Markets Fairer

If you believe in free markets then as well as allowing people to work hard to become wealthy, you believe they are good for consumers, because competition encourages innovtation, increases quality, reduces price and ultimately improves value. This is particularly important to the poor.

People will choose a range of different ‘best-value points’ on the quality/price graph, usually according to their income. The wealthy get better quality. This incentivises the poor to strive to become rich. You see, I DO understand ‘the idea’ behind Capitalism.

The danger is a supplier that comes to dominate a market to such an extent that it can control that market and disrupt competition. It is a duty of government to prevent such monopolies, even if MPs are shareholders or provide consultancy services.

I want to outline some legislative changes that I think would make to free markets work better for consumers and the environment.

  • Bundling
    It should be illegal to offer discounts for buying more units than you want, unless there is a genuine cost saving to the supplier for supplying in bulk.
    Our planet is running out of resources. We don’t want to rush that.
    Buying food to throw away raises prices for people who can’t afford to eat enough to stay healthy. That is immoral.
    Buying 2 or more completely unrelated products together, at a discount, gives an unfair advantage to large companies.
  • Stop loyalty cards
    Yes, it’s just ‘virtual’ or ‘time-lapse’ bundling.
    People are ‘loyal’ to organisations that give them consistently good value
    A ‘bribe’ is a different thing
  • ‘Walled gardens’
    If 2 different products work together via an interface then that interface should be made public, so that competitors can compete fairly.
    When third-party products, parts or services are used, a supplier should not be able to withdraw warranty for unrelated parts.
    Purchase of Services e.g. an iPhone should be able to buy music easily from a site other than iPlayer and that option should be made as obvious by Apple as its own service. Microsoft were forced to make other browsers available to compete with Internet Explorer.
    A new phone manufacturer should be able to buy music from Google Play by developing its own software, making calls from their software via the same published interface libraries Google use, so it is not put at a competitive disadvantage by another product/service.
    If the original supplier claims that development costs were high and need to be recouped, then fair licensing costs should be charged, in exchange for full exposure of those costs.
    Such competition causes original manufacturers to provide the value their customers require.
    Manufacturers should not be allowed to keep purchase price low by subsidising from the sale of over-priced consumable items later, such as ink cartridges, vacuum cleaner bags or coffee machine capsules, or by suppying devices such as laser-printers with cartridges that are only half full with toner.
    Devices should not be sold at less than manufacturing cost.
    Total running costs should be made clear at point of purchase, in a standard format, to allow comparison with competitors.
    The ‘cost per standard unit’ of consumable items should be clearly marked. e.g. cost per cup of coffee.
    It is best for consumers if open interfaces are used, so offer tax breaks for companies on products that use industry-wide open standards for interfaces, developed in co-operation with all competitors, as that reduces overall costs to citizens.
  • Stop allowing patenting of non-innovative ideas
    Stop all software patents. They are destroying the software industry. Writing software is hard enough without having to constantly check if the idea you just thought of has ever been thought of before, via your legal department, if you have one.
    Small, innovative companies do not have legal departments, allowing large companies to put competitors out of business.
    Stop patents of any ideas, once the development costs + x% have been recouped. x might be different for industries with varying rates of R&D success. Being first to market already has a significant market advantage in fast-moving industries.

“Agile Project” is an Oxymoron

From http://en.wikipedia.org/wiki/Project:

“In contemporary business and science a project is defined as a collaborative enterprise, involving research or design, that is carefully planned to achieve a particular aim.

Projects can be further defined as temporary rather than permanent social systems or work systems that are constituted by teams within or across organizations to accomplish particular tasks under time constraints”

Projects are risky, slippery things, particularly when made out of software, which is notoriously difficult to get a grip on. Large companies take big risks with projects so have to protect themselves with governance systems and project portfolio management and project managers to take the blame. Project managers become highly skilled at batting blame away.

The effect of all this insurance is that projects become even more expensive. The smallest software project may have a start-up cost of £50K, used to build the corporate control structures necessary to get permission to begin. This makes it a very bad idea to run any small software projects, however good their apparent benefit:cost ratio. You want nice chunky projects to spread that £50K of overheads across.You’ll think of something.

Assume you didn’t – say you ran a project that only cost another £50K to complete. You would have spent £50K to insure yourself against £50K of risk, while exposing yourself to the new risk that your project might be rejected, which would have cost you £50K to do nothing. That would be CRAZY!

What is project management? You write a specification that precisely defines your aim. This is generally described as ‘the scope’. Then ALL YOU HAVE TO DO is achieve ‘the aim’ (which is hopefully in some way related to ‘the scope’ – no-one is quite sure) while balancing the famous ‘Time, Quality, Cost triangle’ on your head. It is unlikely that you will get any actual definition of the Quality that is required, so if the triangle falls off, that is clearly the side you should aim for it to land on. Luckily, quality is unlikely to be tested until the end of the project when either the time or the money will have already run out, so it will be too late to do anything about it and you win. We now refer to this method as ‘Traditional’, much like Morris dancing or cock-fighting.

What the cool-kids are doing these days, in their fancy Internet start-ups, is called ‘Agile’. They don’t have a whole load of cash to spend on insuring themselves against risk so they cunningly avoid it; or at least minimise it so that it doesn’t need to be managed. They don’t do a year of work to decide and plan what they are going to do over the next 5 years. They say “What do we need right now?” and “What can we achieve in a month?” and then they do it. They might make a big list of what they’d like and guess it could take 2 years with the resources they have but after a month they have some software that they can hopefully use. If they are happy with it then they decide what to do next month.

So there isn’t really anything you could call a “particular aim” or “a scope”, or indeed any long-term “time-constraint”. As long as each month of work promises to deliver value, you can carry on. Or you can stop because you can think of better things to do with your money now.

In total it is not, in fact, a project.

Clearly there is a down-side to all of this. There must be, mustn’t there? You can’t build a house or a bridge or a car without planning! But software isn’t a house, or a bridge or a car. Modern software is built out of objects, like Lego bricks in zero-gravity. You can change things later, at reasonable cost.

Retired due to quality issues

I have retired hurt from the National Blog Post Month competition after pulling a muscle in my brain.

I was using the competition to put pressure on me to write something every day but I’ve found the need to have something in a state other people could understand, by the end of each day, was actually distracting me from my longer term aims.

I’m not sorry for having tried. I learned something (which I already knew, really) about the way I write. My ideas tend to come in bursts. I need to capture them from the ether before each disappears then move on to the next.  I can refine things when the flood abates. #NaBloPoMo caused me to push ideas away because I had a deadline to meet. That’s what normal, target-focussed people do. I believe that for me, following my Way (Tao) is more productive in the long-term, in both quantity and  quality.

I’ll be writing but not rushing to post. I’ll post when I think I have something worthy of your attention. Thanks for reading anything you have so far.