Одне з найважливіших уроків розвитку - це знати, коли настав час зупинитися.
Зазвичай розробник додає функції. Що в свою чергу надихає більше ідей. Так що додаткові функції додаються. Це, як ви сказали, один із способів того, як проект стає паровим. Розробник ніколи не сприймає проект як "закінчений", тому він ніколи не виходить.
Звичка, яку ви хочете ввійти, - це перестати думати про випуск / версію як про "готовий" проект. Швидше розгляньте розвиток як довготривалий процес. Подумайте про випуски як віхи на шляху до того, до чого ви одного дня сподіваєтесь, що програма. Таким чином, випуск / версія - це лише огляд того, де ви знаходитесь у довгостроковому процесі ... знімок, який був добре закруглений і протестований.
Що ви можете зробити, з практичної сторони, - сісти і проаналізувати наступний реліз. Це не повинно бути надзвичайно ретельним. Запишіть 3-5 нових основних фрагментів функціональності, які, на вашу думку, є важливими для наступного випуску. ( фактична кількість функцій може змінюватися залежно від типу програми, не враховуючи виправлень помилок чи незначних змін у gui ). Робота над ними. Якщо ви придумали інші ідеї, це чудово ... просто робіть нотатки та впроваджуйте їх у наступному випуску. Коли ви закінчите ці 3-5 предметів, ваш реліз готовий до бета-версії.
Коли я запускаю нову програму, я зазвичай замислююся про остаточне «бачення» програми. Мені це хочеться у версії 3 додатка. З цим орієнтиром я маю уявлення про те, що дозволить зробити тверду версію 1 - лише основи.
Підсумок:
Кожен випуск не повинен бути готовим «баченням» проекту. Просто віха до цього бачення.