Dave Parnas Quotes

Powerful Dave Parnas for Daily Growth

About Dave Parnas

Dave Parnas (born May 31, 1941) is an American computer scientist and software engineer, recognized as a pioneer in the field of software design and architecture. His work has significantly influenced the way software systems are conceptualized, designed, and implemented. Born in New York City, Parnas graduated from Cornell University with a Bachelor's degree in electrical engineering in 1962. He then pursued his Ph.D. at Carnegie Mellon University, where he was deeply influenced by Alan Perlis, a renowned computer scientist and programming language theorist. Parnas is best known for his work on software architecture, particularly his 1972 paper "A Rationale for Software Structure," co-authored with Fred L. Baskett. In this seminal work, they proposed that software systems should be designed around information hiding and modularity, principles that are still fundamental to modern software engineering practices. In the 1980s, Parnas extended his ideas on software design with the concept of "essential complexity." He argued that software design should focus on reducing essential complexity, which refers to the inherent complexity of a system required to perform its intended function, rather than trying to minimize total complexity. Parnas's other significant contributions include his work on the Ada programming language and his development of the Object-Oriented Design Method (OODM), a methodology for designing object-oriented software systems. He has received numerous awards for his contributions to computer science, including the IEEE John von Neumann Medal in 1996. Currently, Parnas is a professor at the University of Limerick, Ireland, where he continues to research and teach software engineering. His work remains highly influential in the field, shaping the way software is designed and built today.

Interpretations of Popular Quotes

"Complexity is inferior to simplicity."

The quote by Dave Parnas, "Complexity is inferior to simplicity," highlights the preference for straightforward solutions over complex ones in design and problem-solving contexts. This assertion emphasizes that simpler designs are generally more efficient, easier to understand, less prone to errors, and easier to maintain, making them superior to complex alternatives. While complexity may seem impressive or sophisticated at first glance, it often leads to increased costs, reduced performance, and difficulty in upkeep over time. Hence, the wisdom behind Parnas' statement lies in the importance of prioritizing simplicity for optimal results in various domains.


"The first step in designing anything is to make sure that you understand what it is supposed to do."

This quote emphasizes the importance of comprehension and understanding before embarking on any design or development process. To ensure a successful outcome, one must first grasp the purpose or function of what they are designing – whether it's software, a product, or a system – so that the resulting design accurately addresses the intended need or problem. Proper understanding is key to avoiding confusion, errors, and inefficiencies throughout the design phase.


"Programming errors are not random events. They are caused by programmers who are human beings, subject to a wide range of frailties and pressures."

This quote highlights that programming errors are not mere accidents or coincidences; they are the result of human programmers making mistakes due to their inherent limitations and external pressures. It underscores the fact that software development is a human activity, subject to the same vulnerabilities as any other human endeavor. The quote serves as a reminder for developers to approach their work with empathy, understanding that errors are not simply technical issues but can be traced back to the programmers themselves and the pressures they face in their work environment.


"Specifications should be readable by someone who does not have access to the source code."

This quote emphasizes the importance of writing clear, understandable specifications or documentation for software projects. The idea is that any person, whether they are a developer working on the project or an external stakeholder, should be able to comprehend the purpose, requirements, and functionality of the software just by reading the specifications, without needing access to the source code. This helps ensure consistency, ease collaboration, and promote transparency in software development.


"Software architecture represents choices among design alternatives that affect the entire system and its environment."

This quote emphasizes that software architecture is about making significant decisions among various design options, which have far-reaching implications for the overall system and its surrounding environment. In other words, architectural choices made during software development can deeply impact the functionality, scalability, maintainability, and adaptability of the system in the long run. A well-designed architecture can streamline development processes, improve performance, and enable future enhancements, while a poorly designed one may lead to costly rework, inefficiencies, or even system failure.


Whenever anyone says, 'theoretically,' they really mean, 'not really.'

- Dave Parnas

Science, Whenever, Anyone, Theoretically

When someone builds a bridge, he uses engineers who have been certified as knowing what they are doing. Yet when someone builds you a software program, he has no similar certification, even though your safety may be just as dependent upon that software working as it is upon the bridge supporting your weight.

- Dave Parnas

Software, Doing, Been, Supporting

There are no standards for computer programmers and no group to certify them.

- Dave Parnas

Standards, Computer, Them, Programmers

As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.

- Dave Parnas

Computers, Been, Repeatedly, Failed

My judgment is that research in 'Star Wars' is going to fail, and I believe this so strongly that I'm willing to stake my professional reputation on this. I don't believe anybody is going to build this thing.

- Dave Parnas

Star, Going, Star Wars, Stake

If you're searching for quotes on a different topic, feel free to browse our Topics page or explore a diverse collection of quotes from various Authors to find inspiration.