Предполагается, что вероятной причиной этого является безалаберность процесса проектирования и программистов, т.к. люди работают не глупые.
В связи с этим вопрос,- случалось ли кому применять что- то типа "академических" подходов к ведению проекта. Дало ли это повышения качества ПО? Что порекомендуете почитать?