Один из самых важных уроков в развитии - это знать, когда пора остановиться.
Как правило, разработчик добавляет функции. Это, в свою очередь, вдохновляет больше идей. Таким образом, добавляются дополнительные функции. Это, как вы сказали, один из способов, которым проект становится программным обеспечением. Разработчик никогда не видит проект как «законченный», поэтому он никогда не будет выпущен.
Привычка, в которую вы хотите войти, - перестать думать о выпуске / версии как о «законченном» проекте. Скорее, рассматривайте развитие как долгосрочный процесс. Думайте о релизах как о вехах на пути к тому, что вы когда-нибудь надеетесь, что программа будет. Таким образом, релиз / версия - это просто снимок того, где вы находитесь в долгосрочном процессе ... снимок, который был хорошо округлен и протестирован.
С практической точки зрения вы можете сесть и указать свой следующий релиз. Это не должно быть ужасно тщательно. Запишите 3-5 новых основных функций, которые, по вашему мнению, необходимы для следующего выпуска. ( фактическое количество функций может варьироваться в зависимости от типа приложения, не считая исправлений ошибок или незначительных изменений графического интерфейса ). Работайте над ними. Если у вас есть другие идеи, это нормально ... просто делайте заметки и воплощайте их в следующем выпуске. Когда вы закончите 3-5 пунктов, ваш релиз готов к бета-тестированию.
Когда я запускаю новое приложение, я обычно думаю об окончательном «видении» приложения. Это то, что я хочу в версии 3 приложения. С этим тестом у меня есть представление о том, что сделает основную версию 1 - только основы.
Резюме:
Каждый релиз не обязательно должен быть законченным «видением» проекта. Просто веха к этому видению.