In computing, the Chaos model is a structure of software development that extends the spiral model and waterfall model.
The chaos model was defined by L.B.S. Raccoon.
The chaos model notes that the phases of the life cycle apply to all levels of projects, from the whole project to individual lines of code.
- The whole project must be defined, implemented, and integrated.
- Systems must be defined, implemented, and integrated.
- Modules must be defined, implemented, and integrated.
- Functions must be defined, implemented, and integrated.
- Lines of code are defined, implemented and integrated.
One important change in perspective is whether projects can be thought of as whole units, or must be thought of in pieces. Nobody writes tens of thousands of lines of code in one sitting. They write small pieces, one line at a time, verifying that the small pieces work. Then they build up from there. The behavior of a complex system emerges from the combined behavior of the smaller building blocks.
There are several tie-ins with chaos theory.
- The chaos model may help explain why software tends to be so unpredictable.
- It explains why high-level concepts like architecture cannot be treated independently of low-level lines of code.
- It provides a hook for explaining what to do next, in terms of the chaos strategy.
- Roger Pressman (1997) Software Engineering: A Practitioner's Approach 4th edition, pages 29-30, McGraw Hill.
- Raccoon (1995) The Chaos Model and the Chaos Life Cycle, in ACM Software Engineering Notes, Volume 20, Number 1, Pages 55 to 66, January 1995, ACM Press.