*** Welcome to piglix ***

Overengineering


Overengineering (or over-engineering) is the designing of a product to be more robust or complicated than is necessary for its application, either (charitably) to ensure sufficient factor of safety, sufficient functionality, or because of design errors. Overengineering can be desirable when safety or performance on a particular criterion is critical, or when extremely broad functionality is required, but it is generally criticized from the point of view of value engineering as wasteful. As a design philosophy, such overcomplexity is the opposite of the less is more school of thought (and hence a violation of the KISS principle and parsimony).

Overengineering generally occurs in high-end products or specialized market criteria, and takes various forms. In one form, products are overbuilt, and have performance far in excess of needs (a family sedan that can drive at 300 km/h, or a home video cassette recorder with a projected lifespan of 100 years), and hence are more expensive, bulkier, and heavier than necessary. Alternatively, they may be overcomplicated – the design may be far more complicated than is necessary for its use, such as a modern text editor asking whether files should be saved in ASCII, EBCDIC or various multi-byte formats. Overcomplexity reduces usability of the product by the end user, and can decrease productivity of the design team due to the need to build and maintain all the features.

A related issue is market segmentation – making different products for different market segments. In this context, a particular product may be more or less suited for a particular market segment, and may be over- or under- engineered relative to an application.

A story about very precise engineering is given in the 1858 story by Oliver Wendell Holmes, Sr., which tells of a carriage (one-horse shay)


...
Wikipedia

...