- Причесать бриф
- Составить словарь терминов
- Составить список приёмочных тестов
- Замапить изменения на текущий код
- Найти эндпоинты
- Найти модели и таблицы
- Построить карту влияния изменений в таблицах на эндпоинты
- Определить, какие эндпоинты попадат в рамки фичи
- Построить диаграммы структуры эндпоинтов
- Найти тест-кейсы
- Выявить обновлённые требования к эндпоинтам
- Составить саммари текущей реализации
- Уточнить бриф
- спроектировать апи ❓
- спроектировать модель
- спроектировать схему данных
- спроектировать миграцию данных
- Составить обновлённый список кейсов эндпоинтов
- сверить текущие кейсы с обновлёнными требованиями
- Спроектировать реализацию
- Замапить кейсы на изменения в коде
- для каждого кейса из обновлённого списка составить перечень изменений в коде, необходимых для его обеспечения
- перечень отдельных правок вести отдельными списком и в маппинге просто ссылаться на них.
- упорядочить кейсы по топологическому порядку и возрастанию кол-ва изменений
- для каждого кейса по очереди
- закодировать кейс
- сделать его зелёным
Что надо сделать для реализации фичи:
Надо: научить гопатыча, проводить интервью и формировать: 1. техническую постановку задачи; 2. перевод технической постановки задачи на код И не факт, что это - часть фреймворка
-
Составить ТЗ с техлидом
-
Классифицировать - изменение существующей функциональности или добавление новой;
-
запросить стартовые точки маппинга - эндпоинты, таблицы, очереди сообщений, обработчики сообщений, фоновые задачи
-
Надо замапить ТЗ на текущий код - что уже есть, как это работает сейчас, что надо добавить, что надо поменять
- Замапить код реализации;
- Найти эндпоинты
- Надо понять о каких местах в UI идёт речь в ТЗ, и откуда (в каких эндпоинтах) UI берёт данные и куда (в какие эндпоинты) отправляет команды
- Найти модели/таблицы
- Надо догадаться о каких сущностях идёт речь в ТЗ.
- В общем случе надо найти в коде все классы с @Table и все таблицы в схеме текущей тестовой БД, которую надо создать прогнав тесты
- Надо догадаться о каких сущностях идёт речь в ТЗ.
- Найти эндпоинты
- По коду реализации найти тест-кейсы;
- Замапить код реализации;
-
Надо сделать предварительную уборку в релевантном коде;
- Для каждого модуля релевантного кода прогнать его по актуальному чеклисту гайдлайна разработки и составить список требуемых стилистических рефакторингов;
- Попытаться понять есть ли структруные рефакторинги, которые сделают реализацию ТЗ более простой и если есть - составить список структурных рефакторингов;
- Пример абстркатный - вести слой косвенности, в место, где планируется добавление вариативности работы; Пример конкретный - ТЗ требует подключения нового источника пользователей в системе, а в текущей реализации захардкожен единственный источник и реалзиция завязана на его особенности. Тогда можно заранее создать абстркцию источника пользователей, завязать бизенс-код на эту абстракцию и при реализации ТЗ, изменений в бизенс-коде не потребуется.
-
Надо составить тест-кейсы на обновлённое и новое поведение
-
Надо спроектировать решение
-
Надо реализовать решение