Aardvark DailyNew Zealand's longest-running online daily news and commentary publication, now in its 19th year. The opinion pieces presented here are not purported to be fact but reasonable effort is made to ensure accuracy.
Content copyright © 1995 - 2016 to Bruce Simpson (aka Aardvark), the logo was kindly created for Aardvark Daily by the folks at aardvark.co.uk
Please visit the sponsor!
When you double the scale of a project, the complexity of implementing and testing it often increases by a much larger factor.
The effect of this non-linear relationship between scale and complexity has a tendency to limit our ability to produce uber-large tech projects without over-runs, bugs and other problems.
One of the first examples of this was the old space shuttle programme. A surprisingly large number of the early launches were aborted due to bugs in software and other unforeseen issues. That's because the shuttle and its launch systems were, at the time, one of the most complex pieces of technology man had ever attempted to build.
And now we're seeing another example of the tech-complexity ceiling kicking in.
In this BBC story it is revealed that the Lockheed Martin F-35 fighter jet is still facing huge tech issues and bugs to the extent that its deployment date has already slipped by more than a decade -- from 2012 to 2023.
As a result of these problems, the USA's DOD test chief has warned the USAF against buying the F-35 in any significant numbers.
I have to wonder whether, despite the fantastic levels of automation and the numerous project management strategies that are in common use, whether we are already hitting our tech-complexity ceiling with some of this cutting edge technology.
Even the seemingly simple task of certifying systems by way of testing all the possible operational permutations becomes impossible when enough interdependent states exist. If you have four components with two states each then the possible permutations become 2^4 which is 16. Double the number of components however, and the possible permutations must be squared to 2^8 (256). Clearly it doesn't take many components before the permutations exceed our ability to actually test that each one is operating correctly -- especially where such testing must involve interaction with a human.
I hate to think how many millions (or perhaps billions) of lines of source code are involved in the onboard and support systems for the F-35 but I would expect it to be a very large number. Finding bugs in a mass of code that large is a very, very difficult task and given that the effect of such bugs could be fatal (to the pilot and others), providing verification to a sufficient level of performance will in itself be an immensely expensive task.
So what strategies can be used to lift the ceiling of complexity that limits the size of any practical technology projects?
Even the best strategies for such things have limits. Stepwise refinement, top-down, bottom-up and the long list of other techniques for breaking complex problems up into more easily managed small problems all begin to fall apart if the project is large enough.
In extremely large projects which involve large numbers of people, the communications overhead can soon dwarf the actual amount of productive work being done -- hence the wonderful quote from 'The Mythical Man-month" which states that "no matter how many women you put on the job, it still takes 9 months to have a baby" (or something similar -- I paraphrase).
Of course one route will be to create artificially intelligent systems that take over the bulk of the project management and development -- thus sidestepping the rapidly growing inadequacy of our own wetware. Unfortunately, we have no way of knowing what other rogue factors may be introduced by relying on "intelligent" machines to do our thinking for us. Stephen Hawking and others have already warned us of the potential risks associated with this strategy.
So, is the tech-complexity ceiling something that we'll be able to circumvent?
If so, how will we do it in a safe and practical way?
Or does the F-35 project serve as a sage warning that we do have limitations and some of them, just like the speed of light, may be immutable.
Please visit the sponsor!
Have your say in the Aardvark Forums.
Remember, this is purely a gift, you'll get nothing other than a warm fuzzy feeling in return.