Prairie Trail Logo

Views from the Prairie

April 15

Quick Training and Shoddy Construction

It is possible to hire a day laborer and after a few weeks of training, have someone who is able to do a creditable job of laying bricks in different ways. However, one would not try to use that person as the architect of a skyscraper needing to withstand hurricanes and airplane crashes.

In a similar way, we see "code camps" springing up that can train a person to create code after a few weeks of training. However, that person does not have the experience nor the training to be able to design a system capable of withstanding a major intrusion attack or design to PCI or HIPAA standards. The belief that such people are able to build major systems or that young people are the best people to hire is part of the problem that the industry has with project failures.

Many a manager wants to hire "day laborer" priced people to code a major project. There is always the hope that a new tool will allow such people to build without needing to think about the design. Many a manager thinks that the only action needed is to "code" it.

This is not new to computer programming. Ever since any technology appeared, managers have wanted to hire just young, strong, healthy workers and let the older and more experienced workers go. In the Middle Ages, the trade guilds were a reaction to that trend and were stewards of quality work. In the Industrial Age, those guilds were dismantled by the factory system where people were trained in a short time to be productive. In response, the trade unions brought back the idea that experience counted.

When we look at how a skyscraper is built, we can see that experience, "best practices", and building codes all are part of quality construction. In the new World Trade Center building, it isn't just the outward design, but even the recipe used in the concrete and how it is poured all contribute to making the design secure. Almost none of the managers who will office in that building would understand those construction details or would be able to manage the design and construction. Only someone trained in that kind of construction can manage that project.

To build something that lasts in either software or construction, a lot more time has to be spent on factors that are not visible to the casual observer from the design to the site preparation to the internal structures. To make software that is able to handle today's constant attacks; far more design work must be done than for a throw away program.

At one time, the guilds kept quality methods secret. In today's world, building codes and professional organizations publish the quality standards. In software, those standards are still being developed.

In software, best practices, standards, and quality control techniques take time to learn. We either depend on the personal dedication of the individual programmer to quality or we purchase from an organization that has its own quality control.

Types of Failure

What types of failures do you accept from your team? It is important to accept some failures and reject others. Part of the problem is that we don't always know the real cost of each failure.

The IBM employee who headed the negotiations with that small upstart company, MicroSoft, made one mistake in the negotiations. He didn't include exclusivity in the contract. He later stated that not very many people have the opportunity to make a $10 Billion mistake. Yet, he was not fired for that mistake.

Mistakes come in many forms. Those which come from human frailties, failures in the materials, etc. are normal mistakes that we need to plan around and work to minimize. Those that come from moral choices are much more serious and need a different response.

The financial cost of the mistake cannot be the reason to fire. There are mistakes from human frailties that have heavy costs and mistakes from moral choices where the cost seems to be negligible. Yet, the ultimate cost of moral choices is far greater.

Enron and its fall hold many a lesson on the greater value of morals. This is especially true for companies that are creating new processes and new markets. Enron celebrated fast moving and creative thinking in both trading and finance. While those innovations might have had benefits, the problem was that they were used in unethical manners which brought down the company.

When we don't know the costs of a specific failure, we are left with using our own judgment. That judgment is best when built on ethics instead of monetary costs.

Risky World

Today's cities are becoming "smart cities" where traffic lights, utilities, and more are connected to the Internet. The result is that hackers are starting to target these cities and cause some problems. A lot of cities have not planned for hackers and still have not encrypted the communications that they are putting on the Internet.


This newsletter is posted here as well as sent via mail and email. If you wish to receive updates, please sign up above.

Prior Years

  1. 2008
  2. 2009
  3. 2010
  4. 2011
  5. 2012
  6. 2013
  7. 2014