Ответ
Работал в командах, использующих Agile/Scrum с двухнедельными спринтами. Ключевые процессы и практики:
Основные этапы и инструменты:
- Планирование: Оценка задач в story points, декомпозиция эпиков на пользовательские истории. Инструмент: Jira.
- Разработка:
- Workflow: GitFlow или его упрощенные варианты (Feature Branch Workflow).
- Code Review: Обязательный этап перед слиянием кода через Merge/Pull Request в GitLab/GitHub.
- CI/CD: Автоматические пайплайны в Jenkins или GitLab CI для сборки, запуска тестов и деплоя.
- Тестирование: Многоуровневая стратегия:
- Юнит-тесты (JUnit 5, Mockito).
- Интеграционные тесты (TestNG, Spring Boot Test).
- Нагрузочное тестирование (JMeter).
- Деплой и релиз:
- Стратегии: Blue-Green Deployments, Canary Releases.
- Использование Feature Toggles для управления функциональностью.
Пример рабочего процесса в Git:
# Создание ветки для новой функциональности
git checkout -b feature/user-profile-avatar
# После завершения разработки и локального тестирования:
git add .
git commit -m "Add avatar upload to user profile"
git push origin feature/user-profile-avatar
# Далее создается Merge Request для ревью кода.
Дополнительно: Документация велась в Confluence, регулярно проводились ретроспективы для непрерывного улучшения процессов.