Приходилось ли вам сдавать код, который заведомо не работает? И зачем нужны альфа-версии, когда можно хорошо подумать и сделать сразу хорошо?
===============================================================================================================================================

 У нас на работе сейчас надо выкатить альфа-версию нового модуля для небольшого проекта.  

В прошлый раз мы делали MVP и это было еще как-то понятно: отказались от части функционала, чтобы не делать ее плохо и с возможными ошибками  

А в этот раз делаем именно альфа-версию. Здесь мы именно делаем функционал, который не хотим делать, и просто делаем его не полноценно, например форма без валидации некоторых полей (и серверной тоже, ага).  

  

А потом, наверно, надо будет выпустить еще одну версию, устранив и перекроив часть проблем.  

А потом еще.  

Какой-то подход "лишь бы не сидеть сложа руки".  

**А не лучше ли именно посидеть сложа руки и не спеша сделать сразу нормальный продукт?** Такое впечатление, что оно будет не так уж и дольше даже по сравнению с выкатом альфы (!!!), потому что хорошая продумка в течение нескольких человеко-суток позволит наперед продумать и обсудить все моменты, которые пришлось бы "исследовать методом тыка" в процессе создания версии за версией. А то, что никто это не умеет, это просто человеческая тупость. Надо больше развивать такое качество, как перфекционизм - оно принципиально не позволит что-то переделывать, потому что от переделок остаются следы, а это уже не идеал. Разве это не сэкономит больше ресурсов, чем потратит? 

 Что значит "не работает"?  

У вас есть список функционала который должен быть в альфа-версии, а вы его не сделали или он глючит/падает? Тогда это просто плохо сделанная работа.   

Если все что должно быть для альфа версии - сделано и работает, то все работает.  

  

А вот как планировать релизы, разработку продукта, когда и что выкатывать - это решают продакты. Если у вас вопросы и вы считаете что они как-то плохо все сделали, то в первую очередь эти вопрос стоит задать им. Выяснить почему так и в чем цель/задача альфа версии.  

Вы спросили, зачем эта альфа? какие цели преследует этот релиз, какие задачи хотят им закрыть?  

  

Альфа/бета и прочии версии тестирования продуктов придумали не для того чтобы "х-к х-к и в продакшен", а для решения весьма конкретных и серьезных задач.   

  

Может у вас и правда продакты бестолковые, которые просто напрягают девелоперов чтобы они "хоть что-то делали", потом затыкают дыры, не хотят подумать, и вообще творят безобразия и только вы можете спасти продукт с помощью армии тостера, а может быть и наоборот - это вы чего то не понимаете или не знаете.   

Вы точно и достоверно проверили оба варианта?  

  

> Разве это не сэкономит больше ресурсов, чем потратит?

  

Нет. Это потратит в 100 раз больше ресурсов. Просто потому что у вас нет необходимой информации чтобы все продумать и сделать "идеально". Поэтому часть вы просто придумаете, сознательно или нет. и чем заранее и полноценнее вы попытаетесь "продумать наперед все моменты", тем больше у вас будет фантазий. А потом, когда система будет запущена в реальном мире, выяснится что на самом все не так как вы думали, плюс половина того что вы действительно угадали за это время уже поменялась и тысячи человекочасов будут спущены в унитаз.   

  

Перфекционизм - это, во-первых, серьезная личная когнитивная проблема, которую надо решать, даже безотносительно рабочих моментов. Это иллюзия правильности которая парадоксальным образом приводит к тому что в реальности вы делаете все хуже.  

А во вторых, он загубил столько продуктов/проектов что вы себе не представляете.   

  

Избавитесь от перфекционизма, сможете делать по настоящему хорошие и качественные штуки, как бы странно это ни звучало. 

 Это просто техническое название: альфа - тестирование фирмой-разработчиком, бета - тестирование на стороне (поэтому часто не продаётся, а выдаётся бесплатно на условиях сообщений об ошибках) 

 Почитайте про Lean Startup [https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%80%D...](https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%80%D0%B5%D0%B6%D0%BB%D0%B8%D0%B2%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B0%D0%BF.)  

Между двумя крайностями - тщательно планировать и выпускать новый продукт раз в десять лет (когда он уже или морально устарел, или все конкуренты уже поделили рынок) и выпускать новый неработающий продукт каждую неделю, есть золотая середина. Осталось только понять, где она :-) 

 Есть определенные требования к альфа, бета и полному релизу.  

Если требования к альфа выполнены, и альфа запланировано, то ее нужно выводить.  

  

> А потом, наверно, надо будет выпустить еще одну версию, устранив и перекроив часть проблем. А потом еще. Какой-то подход "лишь бы не сидеть сложа руки".

  

  

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

Проверять интеграцию, смотреть надо ли что-то менять уже не прикидывая как оно будет, а увидев какую-то версию в действии, писать автотесты под формы, сделать скриншоты и показать заказчику. Вполне возможно, что такой пункт есть в контракте, и деньги платят не просто за конечный продукт, а за соблюдение всех требований указанных в договоре, включая выкатку альфа версию к определенному дедлайну.  

  

> Потому что хорошая продумка в течение нескольких человеко-суток позволит наперед продумать и обсудить все моменты. То, что никто это не умеет, это просто человеческая тупость. Надо больше развивать такое качество, как перфекционизм - оно принципиально не позволит что-то переделывать, потому что от переделок остаются следы, а это уже не идеал. Разве это не сэкономит больше ресурсов, чем потратит?   
> 
> 

  

Если ты такой умный, почему ты работаешь в этом проекте, а не являешься его владельцем или хотя бы тимлидом команды, которая будет слушать именно тебя, как все надо сделать?  

Или может быть твой "перфекционизм" заключается в понимании небольшой части работы, которую выполняешь именно ты, а обо всем остальном, что еще происходит в проекте, у тебя очень мало понимания?  

  

Например я, как девопс, был бы очень рад альфа версии, чтобы было с чем работать. Чтобы я мог начинать подготавливать автоматизацию деплоймента, посмотрел как вообще все запускается. А не подождать ваши девелоперские несколько человекодней, а потом в аврале все делать ночью, потому что утром уже надо чтобы все везде запустилось.