Complex Systems
As was pointed out in Object-Oriented Analysis and Design with Applications (page 28), the role of a software development team is to engineer the illusion of simplicity.
As stated starting on page 12 here, and similarly here, by Grady Booch, there are five common characteristics to all complex systems:
- There is some hierarchy to the system.
- The primitive components of a system depend on your point of view.
- Components are more tightly coupled internally than they are externally.
- There are common patterns of simple components which give rise to complex behaviors.
- Complex systems which work evolved from simple systems which worked.
The process of defining requirements usually results in incomplete specifications and incorrect specifications. A study in 1999 of requirements specifications found that they are typically only 7% complete and 15% correct.
Reader Comments