В ходе последующей дискуссии с другими заинтересованными участниками уточнить: название, краткое описание, цели и примерную реализацию. Мы, как сообщество, постараемся пригласить внешнего эксперта для валидации идеи.
Сформировать команду проекта.
Подготовить один или несколько RFC (request for comments) в Google Docs, прикрепив ссылку на него в исходный issue с описанием идеи проекта. RFC содержит технические детали предлагаемого проекта и соответствует следующим критериям:
список авторов (username);
список рецензентов (хотя бы 3; для первых проектов возможно меньше);
содержит мотивационную часть проекта;
формулирование проблемы;
критерии успеха;
описание технической части более детально: архитектура, компоненты, их связи, используемые технологии;
список артефактов (deliverables, осязаемых результатов работы) с примерными сроками;
цель RFC - пригласить более опытных коллег к обсуждению и для валидации технических аспектов предлагаемой работы. Рецензенты в разумные сроки готовят свои замечания и обсуждают их с авторами. После одобрения рецензентами начинается реализация проекта;
любой участник сообщества может комментировать RFC документ, предлагая улучшения или уточняя детали;
финальное обсуждение RFC может проходить в формате Zoom/Telegram call'а, в рамках которого проясняются все моменты и уточняется реализация.
Разработка. Этапы разработки могут зависеть от выбора языка программирования, платформы и т.д. Не ограничивая общности, только рекомендуем лучшие практики для работы, которые поддерживаются GitHub:
Trunk-based development in Git - упрощенная модель git branching, которая подразумевает 1 главную ветку и коротко живущие ветки разработчиков, которые сливают их в главную ветки через pull requests (PR).
PR проходят code review
Наличие unit tests для важных участков кода. В идеале - другие типы тестов: интеграционные, нагрузочные и т.п.
Разворачивание.
Подразумевая, что проект представляет собой сервис/сайт/API и т.п. На этом этапе проект требует внешнего финансирования. Источниками могут быть: