Prairie Trail Logo

Views from the Prairie

November 17


When software is first written, often it is "fragile"; users can find keystroke combinations or inputs that "crash" the program. Many a web page has been hacked by people who have discovered ways to break the normal behavior. It takes a lot of work to build the software so that it is able to gracefully handle bad input or aggressive attacks. We need systems that are not fragile. The same is true with corporate systems. We need antifragile corporations.

All systems are fragile at first. This is true for corporations, computers, mechanical systems, and roads. When steam engines were first invented, they didn't have the same controls and designs that we have today. The result was a lot of boiler explosions, deaths, and other accidents. When the railroads were first built, they didn't have the same brakes, lights, signaling systems, or coordination between competing railroads. We had numerous runaway trains, head on collisions, and accidents when one train ran into another crossing its rails. Many a corporate structure was fragile when first developed and many failed.

In software development or systems invention, it takes a different mind set to write code that can be attacked or to build a system that is resilient.

Normally, when a person is writing code, the main emphasis is on how to make the desired function work. Some desired functions are quite difficult to get working and it can take quite a bit of thought to figure out some of the more challenging requests.

To write code that can be attacked requires thinking about the code in a different way. The first aspect is still to make sure that the code performs the function requested. The next aspect is to look at all the inputs to make sure that no input can cause a problem either in the program's execution or in the meaning of the data saved. After that, thought is given to the environment in which the program runs. Many times, a program will run well in one environment but fail in another. Finally, one has to think about how valid input might cause an undesired result because of timing or size of result (to avoid things like the Wall Street Flash Crash).

Similarly, in corporate life, we need to think not just about how things should be done, but also what humans will do with the directions we give them and how the outside environment affects us. Human beings fail in known and predictable ways; they make mistakes, they fail to understand, they come in to work after a night of partying, and some will actively try to cause problems. The environment in which we operate has many who want to fight us and prevent our success.

We do well to consider how to make our efforts "antifragile". Some factors include looking at how to protect the real corporate assets; the people and the data. We may ask what risks our people are taking both with themselves and with the corporate data. Techniques such as creating back up systems and testing methods of failure all help.

Our lives are safer when we plan on failures and how to handle them.

Turn the Problem Around

Many times, when we can get stuck on a problem, it helps to turn the problem around and look at it from another viewpoint.

Turning a problem around is a common solution technique in the physical sciences and in sales. We can "solve" a problem from one viewpoint and then, when looking at the problem from the other side, see a totally different solution that is often far better.

One physics problem was trying to calculate how high a bit of mud would fly when thrown up from a spinning wheel. This problem can be approached from the wheel's perspective or we can turn the problem around and approach it from the bit of mud's perspective. The answers are different.

When building a product, most of the project management is focused on trying to get all the desired features built. However, when the project is approaching completion, it can help to change the project management around and ask what is preventing that product from shipping? By looking at the situation from a different perspective, different choices will be made and the team is more likely to get a shipped product.

In sales, we often hear about people who are focused on their product or service and these people talk a long time on all the features, but don't make the sale. Others turn the problem around and ask how things look from the customer's perspective. When looking at the world from the customer's perspective, we often see different problems and different solutions.

Turn the problem around for better results.

Risky World

Recently, it was discovered that for the past nine years, every Intel CPU chip had a special core running a tiny operating system in the most wide-open mode possible. Bugs in this hidden operating system are now being discovered and being used in malware attacks.


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