I'm reading Object Oriented Design With Applications by Grady Booch and there are so many good quotes that I wanted to gather them in one place.

All credit goes to Grady Booch. Please take time to check out his book for more.

Chapter 1

We observe that this inherent complexity derives from four elements: the complexity of the problem domain, the difficulty of managing the develpmental process, the flexibility possible through software, and the problems of characterizing the behavior of discrete systems.

The fundamental task of the software development team is to engineer the illusion of simplicity.

With a team of developers, the key management challenge is always to maintain a unity and integrity of design.

We try to design our systems with a seperation of concerns, so that the behavior in one part of a system has minimal impact on the behavior in another.

Since we have neither the mathematical tools nor the intellectual capacity to model the complete behavior of large discrete systems, we must be content with acceptable levels of confidence regarding their correctness.

Rarely would a builder think about adding a new sub-basement to an existing 100-story building; to do so would be very costly and would undoubtedly invite failure. Amazingly, users of software systems rarely think twice about asking for equivalent changes. Besides, they argue, it is only a simple matter of programming.

There are simply not enough good developers around to create all the new software that users need.

As systems evolve, objects that were once considered complex become the primitive objects upon which more complex systems are built.

A sound design method is based upon a solid theoretical foundation, yet offers degrees of freedom for artistic innovation.

Thanks for reading! Follow me on Twitter and/or G+ for more.

See something wrong or got something to add/change? Fork this git repo and send me a pull request

If you particularly enjoy my work, I appreciate donations given with


31 March 2013