@grishka Крупное и ключевое ПО, такое, как, например, ОС или стандартные библиотеки, или компиляторы, практически всегда "не доделано", потому что время идет, мир меняется, появляются новые требования и находятся новые баги.
Если ждать, когда все будет "доделано", пройдет ебанная вечность, потому что "доделка" - это процесс, который невозможно закончить, его можно только прервать, выпустив какой-то релиз.
Dr. Quadragon ❌, так в моём идеальном мире к разработке софта надо подходить так же, как к любой другой инженерной работе. Определить предметную область, сформулировать и описать требования, описать или нарисовать интерфейсы, продумать или прописать как они работают в каких ситуациях, и только после этого начинать писать код. Уже в виде результата этапа "определить предметную область" у тебя возникает конкретный критерий "доделанности" проекта. Да, конечно, потом можно повторить эти шаги выпустить новый релиз. И ведь до распространения быстрого интернета все практически так и делали. И было же заебись. Багов было меньше, каждый релиз был осмысленным и приносил понятные улучшения, потому что пользователей ещё надо было уговорить обновиться. А сейчас всё в вечной бете.
Dr. Quadragon ❌, так в моём идеальном мире к разработке софта надо подходить так же, как к любой другой инженерной работе. Определить предметную область, сформулировать и описать требования, описать или нарисовать интерфейсы, продумать или прописать как они работают в каких ситуациях, и только после этого начинать писать код. Уже в виде результата этапа "определить предметную область" у тебя возникает конкретный критерий "доделанности" проекта. Да, конечно, потом можно повторить эти шаги выпустить...