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

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

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

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

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

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

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

Сами склоняемся больше к первому варианту...

Комментарии (6)