underengineering
Underengineering is a design outcome in which a system is developed with insufficient scope, performance, robustness, or safety relative to its intended use. It can affect hardware, software, infrastructure, or processes and is distinct from overengineering; while overengineering adds unnecessary features, underengineering fails to provide enough capacity, redundancy, or reliability to meet requirements.
Causes of underengineering include cost and schedule pressures, incomplete or fluctuating requirements, optimistic planning, and reliance
Consequences range from higher failure rates and increased maintenance costs to downtime, safety risks, and reputational
Mitigation strategies emphasize rigorous requirements engineering, design reviews, and formal risk assessments. Validation through testing, prototyping,