К предыдущему ответу добавлю, что достаточно часто проекты делаются не с нуля, а на базе какого-то старого или не вышедшего в продакшн проекта. Старые программисты уже уволились, невышедший проект документировался слабо, т.к. он не вышел, поэтому к уже существующим багам добавляют новые, незадокументированные комбинации клавиш вдруг всплывают, в дизайне уровней появляются дыры, и т.п.