En inglés existe el término over-engineering que se refiere a resolver un problema aplicando más ingeniería de la necesaria. Aunque me parece fea, la traducción al español creo que sería sobreingeniería.
Considero que en los proyectos de informática esto es algo bastante frecuente. Hay ciertos atributos de software que son mal vistos en su falta, pero sin embargo no son castigados en su exceso.
En informática hay tendencia a pensar soluciones generales para problemas particulares, se diseña pensando posibles cambios y ampliaciones, se valora el exceso de seguridad, etc. Nada de esto es malo en su punto justo, pero en exceso entramos en el terreno de la sobreingeniería. Muchas de estas ampliaciones o particularidades que se prevén nunca se dan y a la hora del desarrollo le agregan más complejidad, costo y tiempo.
Gran parte del éxito de un proyecto es lograr dimensionarlo de manera correcta para atacarlo con las armas justas.
Cuando alguien quiera sal tenemos que alcanzarle el salero. Ni más ni menos.