Ответ
Мы применяли гибридную методологию на основе Scrum с элементами Kanban.
Ключевые практики и этапы:
- Планирование:
- Двухнедельные спринты.
- Регулярный backlog refinement и оценка задач в story points.
- Разработка:
- Ветвление по модели Git Flow (feature branches).
- Обязательное code review через Pull Requests (GitHub/GitLab).
- Принцип "ветка в день — пул-реквест в день".
- Интеграция и доставка (CI/CD):
- Сборка и прогон тестов на каждое изменение (Jenkins/GitLab CI).
- Автоматическое развертывание на staging-окружение.
- Тестирование:
- Разработчики: модульные (JUnit) и интеграционные тесты.
- QA-инженеры: ручное и автоматизированное тестирование (Selenium).
- Релиз:
- Релизная ветка создавалась в конце спринта.
- Развертывание на production выполнялось по расписанию.
Пример рабочего процесса для задачи:
# 1. Создание ветки для новой функциональности
git checkout -b feature/JIRA-123-add-payment
# 2. Разработка с тестами (TDD подход)
// PaymentService.java
public class PaymentService {
public boolean process(PaymentRequest request) { ... }
}
// PaymentServiceTest.java
@Test
public void process_ValidRequest_ReturnsTrue() { ... }
# 3. Пуш, создание Pull Request, прохождение ревью и CI-проверок.
# 4. Мердж в ветку `develop` после аппрува.
Дополнительные активности: Ежедневные стендапы, планирование спринта, ретроспектива, парное программирование для сложных задач.