Skip to main content

Airlines and Software

This might be a little off topic, but after reading this article from USA Today, I thought the software industry should be inspired by the airline security system.



As far as I know, the reason why air flight is the safest way of traveling is much due to these aspects.

One, all the parts involved work toward ZERO fatalities.

Two, their effort is never "good enough".

Three, they have a very open mind, sharing all the information about problems and crashes (the system was born when planes were "constantly" crashing so the pilots were very interested in sharing their experiences !)

Four, unfortunately aircafts can't really pull over to change a flat tyre or stop to check their engine along the road !
Airplane manufacturers are therefore forced to build better, safer airplanes with improved safety and performance. Maintenance technicians are also forced to improve procedures to enhance reliability and safety and I think that regulators contribute with controlled procedures and checklists to avoid omissions or carelessness, and accident investigators generate a fair and exhaustive analysis of the accidents.

There are also other factors, but they are valid for any other transportation systems: pilots improve their skills, there are better weather forecasts, customers "forced" the industry to adopt new technologies, training methods and to improve human performance, etc.

I guess that software makers (including myself) should think about this !

Comments

Popular posts from this blog

3. Simple, Complicated, Complex... Chaos !

A few words about the different kind of systems, just so you know in which kind of trouble you are when you start gathering requirements :-) SIMPLE What it is: you can see clearly all the connections between cause and effect . How to handle it: it is usually easy. COMPLICATED What it is: there are cause - effect connections, but it's not easy to see them. There is never a unique solution. How to handle it: ask questions to the experts (if there is any). COMPLEX What it is: it is made of many pieces, and they are highly interconnected. The output is usually part of the system itself and influences it, so it's difficult even to ask yourself the right questions. How to handle it: test some small parts and see what it happens (someone calls it "dance with the system.") CHAOS What it is:  high uncertainty, no apparent cause and effect and ... when some rule seem to apply, it will probably change very rapidly. How to handle it: run away !

"Volere" Requirements process

I found in my library the "Mastering the Requirements Process" book , that some might know as the " Volere " book. After many years I still find it very useful. I don't think the good Robertsons invented anything really new, but I do believe that this book covers 90% of the "how to" solve requirements problems in software development.  And 90% is a lot ! The parts I appreciated more, this last time are: Chapter 12. Prototyping the Requirements  Working together to the prototype, can really take out the users' implicit knowledge, correct lapses and help in many other ways. Chapter 11. The Quality Gateway You could try put an analyst that doesn't work on the same project, to read the project's requirements and have him refuse: all incomplete or inconsistent entries, frills, etc. I think it can be a very powerful practice.

1. What is a Requirement ?

The word Requirement comes from the latin word Requisitum , that comes from requirĕre  «to demand, to require, to call for» and quaerĕre  «to ask, to strive for, to require». Never forget that asking a lot of questions is one of the key in understaning the real needs of your customers.