Overengineering

Last updated
Internal assembly of a Juicero Press Peering into the Black Box, Revisited (44738147682) - Disassembled Juicero Press.jpg
Internal assembly of a Juicero Press
Specifications for the WW2 porsche Maus tank Typ 205 porsche blueprints.jpg
Specifications for the WW2 porsche Maus tank

Overengineering, or over-engineering, [1] is the act of designing a product or providing a solution to a problem that is complicated in a way that provides no value or could have been designed to be simpler. [2] It has been employed intentionally in situations where an exceptionally wide margin of error is desired, but is otherwise considered an error of design due to the disproportionate time and resources needed to manufacture and maintain such products, as well as the introduction of unneeded single points of failure. As a design philosophy, it is a violation of the practice of value engineering and the minimalist ethos of "less is more" or "worse is better", as well as the related KISS principle.

Contents

NASA listed excessive features as one of the top 10 risks of failure for development projects, [3] and Mercedes-Benz developed and removed 600 non-essential features from their cars due to malfunctions, lack of usability and customer complaints. [4]

Characteristics

Overengineering is often identified with design choices that increase safety, add functionality, or overcome a perceived design flaw that most users would not notice or would accept. It can be hard to avoid when safety or performance is critical (e.g. in aerospace vehicles and luxury road vehicles), or when extremely broad functionality is required (e.g. diagnostic and medical tools, power users of products). Overengineering often occurs in high-end products and specialized markets. A product may be overbuilt with performance far in excess of expected normal operation such as a city car with top speed of 300 km/h, or a home video recorder with a lifespan of 100 years. Such products may be more expensive, bulkier, and heavier than necessary. A product may be overcomplicated with functions that are not necessary, and reduce the usability of the product by overwhelming users which is sometimes called feature fatigue.

Sometimes overengineering occurs over time in the form of feature creep. Overengineering can decrease the productivity of a development team because even though the team produces product, the value realized might be less than if the team was producing only what the user needs and wants. Overengineering can consist of premature optimization, potentially to the detriment of the project due to diminishing returns on time and effort invested in the design process.

Cultural references

A story about very precise engineering is given in the 1858 story The Deacon's Masterpiece or, the Wonderful "One-hoss Shay": A Logical Story by Oliver Wendell Holmes Sr., which tells of a carriage (one-horse shay)

That was built in such a logical way
It ran a hundred years to a day,
And then,
...
went to pieces all at once, --
All at once, and nothing first, --
Just as bubbles do when they burst.

Because it had been engineered so that no single piece failed first – no piece was over-engineered relative to the others, and they thus all collapsed at the same time. A similar quote by Ferdinand Porsche claimed "the perfect race car crosses the finish line in first place and immediately falls into pieces." [5]

Examples

German Second World War weapons, like the famous Tiger I tank or Panther tank, have been listed as examples of over-engineering, [6] in comparison to their Soviet rivals such as the T-34. German arms allegedly used expensive materials and excessively labour intensive production processes, limiting production and making them hard to repair when they broke down in the field. Another example is Juicero, a wi-fi "smart" juicing press with an initial market price of $699. [7] After its release, Bloomberg News published a story that showed that the juice packs could be squeezed by hand faster than the press, and that hand-squeezing produced juice that was near-indistinguishable in quality and quantity from the output of the machine, which cost $400 even after a price reduction. [8]

In 2024, former technical director and chair of Network Rail High Speed Andrew McNaughton stated to the Transport Committee that HS2 was overengineered in respect of bridge foundations and masts. [9]

See also

Related Research Articles

Software documentation is written text or illustration that accompanies computer software or is embedded in the source code. The documentation either explains how the software operates or how to use it, and may mean different things to people in different roles.

Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games and consumer and business electronics. These extra features go beyond the basic function of the product and can result in software bloat and over-complication, rather than simple design.

Usability engineering is a professional discipline that focuses on improving the usability of interactive systems. It draws on theories from computer science and psychology to define problems that occur during the use of such a system. Usability Engineering involves the testing of designs at various stages of the development process, with users or with usability experts. The history of usability engineering in this context dates back to the 1980s. In 1988, authors John Whiteside and John Bennett—of Digital Equipment Corporation and IBM, respectively—published material on the subject, isolating the early setting of goals, iterative evaluation, and prototyping as key activities. The usability expert Jakob Nielsen is a leader in the field of usability engineering. In his 1993 book Usability Engineering, Nielsen describes methods to use throughout a product development process—so designers can ensure they take into account the most important barriers to learnability, efficiency, memorability, error-free use, and subjective satisfaction before implementing the product. Nielsen’s work describes how to perform usability tests and how to use usability heuristics in the usability engineering lifecycle. Ensuring good usability via this process prevents problems in product adoption after release. Rather than focusing on finding solutions for usability problems—which is the focus of a UX or interaction designer—a usability engineer mainly concentrates on the research phase. In this sense, it is not strictly a design role, and many usability engineers have a background in computer science because of this. Despite this point, its connection to the design trade is absolutely crucial, not least as it delivers the framework by which designers can work so as to be sure that their products will connect properly with their target usership.

In engineering, a requirement is a condition that must be satisfied for the output of a work effort to be acceptable. It is an explicit, objective, clear and often quantitative description of a condition to be satisfied by a material, design, product, or service.

<span class="mw-page-title-main">Product lifecycle</span> Duration of processing of products from inception, to engineering, design & manufacture

In industry, product lifecycle management (PLM) is the process of managing the entire lifecycle of a product from its inception through the engineering, design and manufacture, as well as the service and disposal of manufactured products. PLM integrates people, data, processes, and business systems and provides a product information backbone for companies and their extended enterprises.

In software project management, software testing, and software engineering, verification and validation is the process of checking that a software engineer system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high-level requirements?"

Failure causes are defects in design, process, quality, or part application, which are the underlying cause of a failure or which initiate a process which leads to failure. Where failure depends on the user of the product or process, then human error must be considered.

In the context of software engineering, software quality refers to two related but distinct notions:

<span class="mw-page-title-main">Ferdinand Piëch</span> Austrian industrialist (1937–2019), head of Volkswagen

Ferdinand Karl Piëch was an Austrian business magnate, engineer, and executive who held the positions of chairman of the executive board (Vorstandsvorsitzender) of the Volkswagen Group from 1993 to 2002, and chairman of the supervisory board (Aufsichtsratsvorsitzender) from 2002 to 2015.

Reliability engineering is a sub-discipline of systems engineering that emphasizes the ability of equipment to function without failure. Reliability is defined as the probability that a product, system, or service will perform its intended function adequately for a specified period of time, OR will operate in a defined environment without failure. Reliability is closely related to availability, which is typically described as the ability of a component or system to function at a specified moment or interval of time.

<span class="mw-page-title-main">Automotive design</span> Process of developing the design of motor vehicles

Automotive design is the process of developing the appearance of motor vehicles, including automobiles, motorcycles, trucks, buses, coaches, and vans.

Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requirement is a capability to which a project outcome should conform.

<span class="mw-page-title-main">Integrated circuit design</span> Engineering process for electronic hardware

Integrated circuit design, semiconductor design, chip design or IC design, is a sub-field of electronics engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs. ICs consist of miniaturized electronic components built into an electrical network on a monolithic semiconductor substrate by photolithography.

Porsche Design, legally Porsche Lizenz- und Handelsgesellschaft mbH & Co. KG, is a German lifestyle brand and product design studio founded in 1972 by F. A. Porsche, the designer of the original Porsche 911, known for its accessories such as sunglasses, pens, and watches.

The following outline is provided as an overview of a topical guide to design:

Robert Eberan von Eberhorst, later known as Robert Eberan-Eberhorst, was a noted Austrian engineer, who designed the Auto Union Type D Grand Prix motor racing car.

<span class="mw-page-title-main">Software feature</span> Distinguishing characteristic of a program

In software, a feature is an identifiable characteristic of a computer program.

<span class="mw-page-title-main">Xilinx ISE</span> Hardware design tool

Xilinx ISE is a discontinued software tool from Xilinx for synthesis and analysis of HDL designs, which primarily targets development of embedded firmware for Xilinx FPGA and CPLD integrated circuit (IC) product families. It was succeeded by Xilinx Vivado. Use of the last released edition from October 2013 continues for in-system programming of legacy hardware designs containing older FPGAs and CPLDs otherwise orphaned by the replacement design tool, Vivado Design Suite.

<span class="mw-page-title-main">Extreme programming</span> Software development methodology

Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent releases in short development cycles, intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.

Juicero was an American company that designed, manufactured and sold the Juicero Press, a fruit and vegetable juicer. The Juicero Press featured Wi-Fi connectivity and used proprietary, single-serving packets of pre-chopped fruits and vegetables that were sold exclusively by the company on a subscription basis. From 2014 to 2017, the San Francisco-based firm received $120 million in startup venture capital from investors.

References

  1. Gowing, Margaret. Britain and atomic energy 1939-1945. https://openlibrary.org/books/OL14918996M/Britain_and_atomic_energy_1939-1945.
  2. WorkNik. Definition of Overengineer. https://www.wordnik.com/words/overengineer.
  3. Landis, Linda; Waligora, Sharon; Mcgarry, Frank; Pajerski, Rose; Stark, Mike; Johnson, Kevin Orlin; Cover, Donna (1992-06-01). "Recommended approach to software development, revision 3".{{cite journal}}: Cite journal requires |journal= (help)
  4. Rust, Roland T.; Thompson, Debora Viana; Hamilton, Rebecca (2006-02-01). "Defeating Feature Fatigue". Harvard Business Review. ISSN   0017-8012 . Retrieved 2023-01-22.
  5. "The best quotes and sayings from Ferdinand Porsche | Ferdinand Porsche Erlebniswelten fahr(T)raum Mattsee". 2018-03-21. Retrieved 2024-05-02.
  6. Tucker-Jones 2012, p. 7.
  7. Shontell, Alyson; Carson, Biz (2017-04-20). "What it's like to use the $400 juicer that people are freaking out about". Business Insider. Retrieved 2017-04-21.
  8. "Silicon Valley's $400 Juicer May Be Feeling the Squeeze". Bloomberg.com. 2017-04-19. Retrieved 2017-04-21.
  9. Johnson, Thomas (9 November 2023). "HS2 designer blames frequent cost rises on 'overengineering' of project". New Civil Engineer.