|
|||||||||||||||||||
Course Outline
Challenger Disaster Disclaimer Mythical Man – Month Natl Sec Space Engineer – Mgr Conflicts Chief Scientist Analytic & Gaming Sims |
STANDISH GROUP 1994 CHAOS REPORT Large-scale engineering projects had a success rate of about 20% About half the projects were "challenged" — Over budget by a factor of two — Over schedule by a factor of two — Met about a third of the original specifications The remaining 30% were scrapped |
||||||||||||||||||
| |||||||||||||||||||
Effort required to build software ~ (Lines Of Code)1.5 **Test cases do not scale linearly with software size — Seven factors of interest and N values of each factor, test cases ~ N7 — 20 factors of interest and 5 values of each factor, test cases > 9 X 1013 — Number of test cases can easily become impractically large — Effort required to build software not linear with LOC — Need to go beyond standard approach — Need to automate testing |
|||||||||||||||||||
TOP | |||||||||||||||||||
Table 1. # Employee Years (E.Y.) Required To Develop A Software System. | |||||||||||||||||||
|
|
|
| ||||||||||||||||
|
|
|
|||||||||||||||||
|
|
|
|||||||||||||||||
|
|
|
|||||||||||||||||
|
|
|
|||||||||||||||||
|
|
|
|||||||||||||||||
TOP | |||||||||||||||||||
| |||||||||||||||||||
Small changes may have unexpected results — Small amount of some substance toxic — Small amount of some substance essential — Small changes in temperature may be fatal — Small changes in air makeup may be fatal — This is true of biological systems — Is also true of software |
Such systems are highly nonlinear. Not all nonlinear systems are complex, but all complex systems are nonlinear. | ||||||||||||||||||
Prediction difficult from component parts — Properties of Hydrogen and Oxygen? • Boiling point of water • Freezing point of water • Fact that water expands when freezing — If city’s power grid fails, what caused it? — If the Internet is slow, what caused it? — When will Air Traffic Control System fail? |
One of the consequences of such nonlinearity is the butterly effect. This effect was first described in association with weather prediction, but predicting the behavior of complex systems is even more difficult. | ||||||||||||||||||
Consider two people who live in the same community and have many of the same habits. Both smoke. It will likely be quite difficult to determine why one gets lung cancer and the other does not. |
|||||||||||||||||||
TOP | |||||||||||||||||||
| |||||||||||||||||||
Some complex systems predictable to limited extent — Tax increases will slow economy — Tax cuts will stimulate it — Interest rate hikes will slow it — Interest rate cuts will stimulate it Rules imprecise — Tend to be qualitative, not quantitative — Long term vs. short term • In short term, tax cuts will stimulate • In long term, if lead to deficits, may slow it • In short term, high oil prices hurt economy • Short term oil price changes hurt • High oil prices, in long term, may not • Carbon emission restrictions may not |
All of these properties of an economy are due to the fact that an economy, of any significant size, is highly nonlinear. As noted in the left side of this table, one usually cannot quantify many of these predictions – how much the economy will be slowed or stimulated cannot generally be predicted. |
||||||||||||||||||
TOP | |||||||||||||||||||
| |||||||||||||||||||
There are no equations in biology or economics which have the simplicity, rigor, and usefulness of Newton's laws of motion and gravitation. There are, indeed, no methods which come close to predicting the behavior of biological or economic system in the way that Newton's laws predict the behavior of trajectories, planets, or automobiles. Given this fact, it is unlikely that one can develop complex systems by simple modifications of the standard approach. If this were possible, it would also be possible to develop drugs much more rapidly than now (just use good predictive approaches to estimate which drugs will be safe and effective), or to prevent illness in the first place (just use good predictive approaches to find out who will get sick, and use the appropriate treatments to prevent that). And if one could make good economic predictions, the Soviet bureaucrats who tried to plan their economy would have been so wildly successful that the Cold War would have ended decades earlier, with the U.S.S.R. winning. Despite the beliefs of some conspiracy theorists, there are good reasons we don't have cures for cancer or Alzheimer's, and there are good reasons we have recessions periodically, and unemployment chronically. And despite the Bernie Madoffs, capitalism has done a much better job of building economies than socialism. (If nobody has enough money to set aside for investment, there certainly won't be anybody selling pyramid schemes.) When it comes to recessions, chronic diseases, and unemployment, it all boils down to this: We aren't smart enough to figure out how to solve these problems. (At least not using conventional approaches; as we saw with economies we can sometimes get useful predictions but they don't have the rigor and simplicity of Newton's Laws.) And we're not smart enough to build one million LOC software systems using the same approaches that were used to build one thousand LOC software systems. |
|||||||||||||||||||
TOP | |||||||||||||||||||
| |||||||||||||||||||
Consider a sit-down restaurant, designed to appeal to middle-class families. What hours should it be open? Which days, if any, should it be closed? How many wait staff should the restaurant hire? Which shifts should they work? How much chicken, beef, and pork should the restaurant order? How much fresh vegetables?
Now these last two questions depend on which dishes the restaurant plans to offer. But in order to answer them, the restaurant owner must have some idea of how many customers there will be each week. If there is leftover chicken toward the end of the week, the owner might offer a special on chicken dishes. And if there is chicken left over week after week, the owner will order less. If steak tends to run out toward the end of the week, the owner will order more. And the owner will quickly learn how a football game, or a concert, will affect her customers. If the restaurant has big-screen TVs, there will likely be more customers. But in the case or a home game, people might want to avoid traffic. And during holidays, the customer base will also change. So, the owner's behavior will evolve, as the environment changes. (At least, if she wants to stay in business.) Considering all the factors that a restaurant must consider (and a fast-food joint, and a supermarket, or a food store, or any other establishment that sells food), it's not a surprise that a central planning bureacracy could not, and cannot, plan the food supply for a city, let alone a country. There are just too many factors to consider. No one can think of them all. And, compared to the variables affecting air traffic control, road congestion, the internet, the healthcare system, or the power grid, running a restaurant is child's play. |
|||||||||||||||||||
One final thing – this idea of complex system arose because people were trying to build complex systems. Often military systems. So we see military groups (which would generally – in the U.S., anyway – be anti-communist or anti-socialist) trying to develop systems using the central planning approach (used by communist or socialist governments), which has been proven to be a colossal failure! |
|||||||||||||||||||
TOP |