Оценка времени в программной инженерии представляется наиболее сложной задачей.
Оценка времени становится немного проще в хорошо управляемых проектах, где большинство проектных решений уже принято и имеется достаточно внутренних инструментов и ресурсов. Но все равно это не идеально. Все становится сложнее для команд с ограниченными ресурсами и внешним давлением на сроки. Чаще всего проекты сдаются, некоторые из них более отшлифованы, чем другие.
Когда дело доходит до оценки времени, разработчики-одиночки, работающие над своими побочными проектами, сталкиваются с настоящей проблемой. Проблема усугубляется, если у проекта нет внешней мотивации или потенциального дохода. Создание чего-то для развлечения или обучения может закончиться незавершенным проектом, который так и не увидит дня запуска.
Хотя запуск побочного проекта не является обязательным, он помогает завершить работу и перейти к следующему большому делу. Если вы хотите закончить свой следующий побочный проект, но не можете найти время или мотивацию, постарайтесь избежать этих подводных камней.
Слишком много функций
Побочные проекты должны быть простыми по своей сути. Если в нем есть десятки тривиальных и нетривиальных функций, он находится на пути к превращению в стартап. Подумайте о том, для чего вы создаете свой проект. Если это просто развлечение, то выберите три-пять лучших функций для включения в первую версию и двигайтесь дальше.
Отсутствие делегирования
Думайте о себе как о ресурсе, даже когда вы работаете в одиночку. Спросите себя, сколько вы можете сделать, работая несколько часов в неделю, и поставьте перед собой выполнимые задачи. Не забывайте искать инструменты и сервисы за пределами вашего сайта, которые вы можете использовать для выполнения части работы.
Отсутствие дедлайна
Установите для себя мягкие и жесткие сроки, как только у вас появится четкое представление о том, что вы хотите создать. Дайте себе достаточный запас времени, чтобы наверстать упущенное.
Ненужный маркетинг
Не попадайте в ловушку проведения ненужных маркетинговых исследований и опросов пользователей перед созданием кода. Как разработчик, ваша сила заключается в разработке. Создание готового к производству продукта будет легче продвигать на рынке, чем целевую страницу.
Напряженная работа
Слишком много планирования испортит поток работы и даст вам ложное чувство выполненного долга. Не создавайте обширный список задач и дорожную карту до того, как начнете кодить. Как только вы окончательно определите несколько первых функций и оцените, сколько времени это займет, начинайте работать над проектом. Вы всегда можете пересмотреть смету и по ходу дела отказаться от еще одной функции или добавить ее.
Бремя дня запуска
Не стоит слишком беспокоиться о запуске. Вам не нужно демонстрировать свой запуск и везде размещать ссылки. Будьте проще и убедитесь, что ваш проект окажется на доступной платформе. Вы можете поделиться ссылками на свой проект позже.
В заключение хочу сказать, что если вы разработчик, работающий над побочным проектом в целях развлечения или обучения, то лучше сразу перейти к завершению проекта и избежать этих подводных камней.