Проблема личных проектов
Уже более 10 лет я занимаюсь разработкой сайтов, которые часто называют сейчас "программным обеспечением" из-за того, что используется большое кол-во "компонентов", таких как "системы очередей", "js фреймворки" и множество схем "сайт стал приложением". В большей части таких сайтов - занимаюсь архитектурными вопросами или той частью, которую пользователи не видят (backend). За последние несколько лет разработки ко мне, НАКОНЕЦ-ТО, пришло осознание, что самым правильным решением для любого разработчика или архитектора - написание плана или технического задания для того или иного функционала, который будет реализовываться, а так же написания документации по этому функционалу, что бы "не забыть" то, как это работает.
В личных проектах, пусть они и часто были написаны "на коленке" я придерживался тематики "веду разработку той идеи, которая пришла ко мне в голову" и поэтому все эти проекты так и остались у меня в состоянии "закрытое бета тестирование" и в публичный релиз не попали. Некоторые из таких проектов даже не обзавелись доменом, а некоторые наоборот - имеют домен, но не реализованы (просто не работают).
С одной стороны обидно осознавать тот факт, что никто так и не увидел моих разработок, но с другой стороны - подход "веду разработку только идей" привела меня к осознанию важного подхода к проектам, который я упустил, а именно - надо писать техническое задание и вести документацию. Именно в этом году, наконец-то, я начал писать документы.
Большой проблемой, лично у меня, является пункт "начать", поэтому с недавних времен я начал просто создавать документ и писать туда "заметки", что бы по ним уже потом организовать адекватный документ. Часть таких заметок начала превращаться в документацию, а часть - в четко описанную идею для разработки. Некоторые заметки превратились к описание нового функционала и модулей, часть из заметок - в документацию, но большая часть - в техническое задание.
Из-за того, что теперь есть документация (пусть и эфемерного) функционала, то реализация, а вернее "перенос документа в исходный код" стала иметь ограничения, даже "рамки". Теперь мне приходится не просто разрабатывать то, что мне "захотелось изучить или захотелось реализовать", а следовать определенному плану работ "реализуем функционал ОДИН, затем функционал ДВА, а потом делаем тестирование ОДИН". Это крайне сильно начинает бить по привычкам.
Но как мы знаем - привычки можно поменять и, пусть даже спустя такой большой промежуток времени, у меня маленькими шагами получается дойти до состояния "все проекты имеют документацию и я могу создать ИП и нанять программистов для ускорения реализации моих проектов в публичный тест или релиз". Пусть пока "создать ИП" у меня только в "мечтах", но маленькие шаги к "идеальным проектам" я уже начал делать.