There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
- C. A. R. Hoare
Design and programming are human activities; forget that and all is lost.
- Bjarne Stroustrup
... with proper design, the features come cheaply. This approach is arduous, but continues to succeed.
- Dennis Ritchie
It's hard to read through a book on the principles of magic without glancing at the cover periodically to make sure it isn't a book on software design.
- Bruce Tognazzini
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary.
- Anonymous - From Revised Report on the Algorithmic Language Scheme
When in doubt, use brute force.
- Butler Lampson - [1984] "Hints for Computer System Design." IEEE Software 1, no. 1 (January), Code Complete: A Practical Handbook of Software Construction by Steve C McConnell , ISBN: 1556154844 , Page: 163
Organizations that design systems are constrained to produce copies of the communication structures of these organizations
- Anonymous - Conway's Law Discussed in The Mythical Man-Month. Layered organizations produce software with layered architectures, etc. Conway's original formulation in 1968 was: If you have four groups working on a compiler, you'll get a four-pass compiler, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) by Frederick P. Brooks , ISBN: 0201835959
First do it, then do it right, then do it fast.
- Anonymous - There are many variants of this quote. The basic idea is that you should not try to start optimizing your code from the start, but try to get a simple design that works. When you try to optimize early, you often get a design that is too complicated and fragile, and you often end up optimizing something that isn't even a bottleneck.
The best designers will use many design patterns that dovetail and intertwine to produce a greater whole.
- Erich Gamma - Gamma, Helm, Johnson, Vlissides, Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides , ISBN: 0201633612
...the organization chart will initially reflect the first system design, which is almost surely not the right one [...] as one learns, he changes the design [...]. Management structures also need to be changed as the system changes...
- Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) by Frederick P. Brooks , ISBN: 0201835959
Complexity is a sign of technical immaturity. Simplicity of use is the real sign of a well design product whether it is an ATM or a Patriot missile.
- Daniel T. Ling
Great designs come from great designers.
- Frederick P. Brooks - No silver bullet, 1987
At first sight, the idea of any rules or principles being superimposed on the creative mind seems more likely to hinder than to help, but this is quite untrue in practice. Disciplined thinking focuses inspiration rather than blinkers it.
- G. L. Glegg - The design of design, 1969 (quoted by Brooks)
Planning is also design.
- Kent Beck - "Programming as a garden: Permaprogramming" (talk)
The first asset in making designs is a good notation to record and discuss alternative possibilities.
- B. Schneiderman - 1998
Design first, then code.
- Anonymous
Changes in software design will eventually mean "one step forward, two steps back". It is inevitable.
- Salman Arshad
The hardest part of design... is keeping features out.
- Anonymous
To have big impact, improve performance.