Software Engineering

Design: Top 10 Quotes

“But active programming consists of the design of new programs, rather than contemplation of old programs.” (Niklaus Wirth, “Program Development by Stepwise Refinement”, 1971)

“Conceptual integrity is the most important consideration in system design.” (Frederick P Brooks, “The Mythical Man-Month” , 1975)

“We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process.” (Glenford Myers, “Composite/structured design”, 1978)

“Overemphasis of efficiency leads to an unfortunate circularity in design: for reasons of efficiency early programming languages reflected the characteristics of the early computers, and each generation of computers reflects the needs of the programming languages of the preceding generation.” (Kenneth E Iverson, “Notation as a Tool of Thought”, 1979)

“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.” (Charles A R Hoare, [lecture] 1987)

“If a project has not achieved a system architecture, including its rationale, the project should not proceed to full-scale system development. Specifying the architecture as a deliverable enables its use throughout the development and maintenance process.” (Barry Boehm, 1995)

“Good design is also an act of communication between the designer and the user, except that all the communication has to come about by the appearance of the device itself. The device must explain itself.” (Donald Norman, “The Design of Everyday Things”, 2002)

“Design is heuristic. Dogmatic adherence to any single methodology hurts creativity and hurts your programs.” (Steve C McConnell, “Code Complete: A Practical Handbook of Software Construction” 2nd Ed., 2004)

“A good system design is based on a sound conceptual model (architecture). A system design that has no conceptual structure and little logic to its organization is ultimately going to be unsuccessful. Good architecture will address all the requirements of the system at the right level of abstraction.” (Vasudeva Varma, “Software Architecture: A Case Based Approach”, 2009)

“Programming without an overall architecture or design in mind is like exploring a cave with only a flashlight: You don’t know where you’ve been, you don’t know where you’re going, and you don’t know quite where you are.” (Danny Thorpe)

More quotes on “Design” at http://sql-troubles.blogspot.com.

IT professional/blogger with more than 19 years experience in IT - Software Engineering, BI & Analytics, Data, Project, Quality, Database & Knowledge Management