EN
Соер.Клуб
Соер.Клуб
171 subscribers
goals
12 of 50 paid subscribers
После достижения этой цели проведу специальный стрим для своих
2 of 3
0 of $ 1 268 money raised
Сбор на встречу в Мск с членами клуба! (деньги на мой проезд)
0 of $ 1 268 money raised
Сбор на встречу в С-Петербурге (деньги на мой проезд)

Разработка и документирование

Принцип "Код - лучшая документация" замечательно работает для маленьких проектов и небольших кодовых баз. Но чем больше людей в команде, чем чаще они меняются, тем больше коммуникаций необходимо делать помимо работы с кодом.
Чтобы повысить эффективность работы в растущих командах необходимо в дополнение к коду начать документировать наиболее "горячие" места проекта.
Я хочу дать несколько советов, которые помогают мне в работе с документацией на проект.
Определить какой тип документации вам нужен 
Типы бывают следующие:
 - сопроводительная документация
 - вспомогательная документация
 - проектная документация
  - рабочая или пользовательская документация
  - техническая документация
Тип документации зависит от того какой проект вы делаете.  В стартапе обычно хватает сопроводительной документации. В крупных проектах делается полноценная проектная документация (технорабочий проект).
Минимально дублируйте информацию из кодовой базы
Лучше когда документация описывает основные принципы, понятие, словарь проекта и другие моменты связанные с общим описанием проекта, а код вносит конкретику и дополняет документацию.
Поддерживать в синхронизированном состоянии  документацию и код очень трудно, поэтому лучше когда эти задачи не пересекаются.
Сопроводительную документацию стоит начинать с малого
Изначально документирование будет требовать больше времени, пока не войдет в привычку и не будет сформированы навыки ведения документации. Поэтому изначально не стоит делать что-то большое и сложное, можно начать с малого.
Например, я использую следующий набор документов:
1. Постановка и описание задачи;
2. Архитектурные решения (ADR) 
3. README 
Если что-то можно не документировать, то лучше этого не делать
Документы удобно использовать, чтобы упростить онбординг новых разработчиков, уменьшить количество вопрос к коллегам, дать базовые понимание архитектуры проекта.

Если писать документацию ради документации, то ничего хорошего из этого не получится.
Максимально типизировать структуру каждого документа
Например, ADR состоит из стандартных разделов:
- контекст (описание задачи)
- варианты решений
- принятое решение
- достоинства и недостатки принятого решения.
Людям проще читать и писать документ по типовой структуре.
Написание документации должно быть частью процесса разработки или быть самостоятельным процессом
Документирование не должно быть опцией (необязательной частью) проекта. Документацию писать не любят и пытаются этого избежать, поэтому наличие документации должно быть требованием, а не правом.
Не бросать документирования при первых трудностях
Когда процесс документирования и структура документов еще не отлажены есть небольшое замедление в работе, которое со временем компенсируется за счет времени ранее используемого для общения и объяснения типовых вещей.

Пример, как выглядит процесс документирования в NarisApp
1. Заводим Эпик с набором пользовательских историй
2. Документ с постановкой задачи со следующей структурой:  
   - описание (истории)
   - понятия или сущности (словарь)
   - варианты использования (useCase)
   - варианты реализации (общие решения)
3. ADR в котором окончательно фиксируются решения по архитектуре
4. Реализация в кодовой базе
Такой минимальный набор документирования помогает сформировать проектное мышление у команды, помогает продумать решение до написания кода, найти слабые места и белые пятна в постановке задачи.

Subscription levels

Участник

$ 4,5 per month
- доступ в чат SOER клуба
- доступ к текстам на boosty

Стрим

$ 11,6 per month
- Доступ в чат соер-клуба
- Доступ к просмотру записей стримов на boosty
- Доступ к текстам на boosty
Доступа к soer.pro здесь нет!

Эксперт

$ 64 per month
Особый статус имеющий консультативный голос в клубе (может официально консультировать членов клуба), эксперт получает:
- роль администратора, в метке админа указывается область экспертизы
- возможность размещать информацию в отдельном топике "Эксперты" в чате клуба
- возможность предлагать свои материалы для обсуждения на субботних стримах (через отдельный топик "для стримов")
-  эксперты приглашаются на стримы на канале S0ER
* канал S0ER на стримах собирает ~200 участников, 5-10 тыс просмотров
Go up