Assim… Eu não adicionei estes dois, eu apenas evidenciei, eles sempre vão existir em qualquer projeto, seja de software ou não.
Outra coisa que sempre vai existir para estes dois e outras questões como desempenho, segurança, eficiência, etc, são limites.
Assembly é provavelmente a linguagem mais obviamente usada em exemplos para por luz sobre estes 2 fatos.
Todo gestor gostaria de dizer “quanto mais melhor” para estas coisas, no minimo gostaria de poder sempre ter um equilíbrio, mas nem sempre dá, quem puder se dar ao luxo de gerenciar um projeto e ter um ou mais destetes indiscriminadamente que se considere muito sortudo, tem uma vida fácil.