Ответ
В моей текущей команде мы практикуем Scrum с двухнедельными спринтами, что хорошо балансирует между предсказуемостью и гибкостью для проекта на Laravel.
Структура спринта:
- Бэклог спринта: Формируется в Jira из приоритетных задач Product Owner'а. Мы, как разработчики, участвуем в их уточнении, декомпозиции и оценке (используем планирование покером).
- Цель спринта: Четко формулируем, какой инкремент бизнес-ценности мы планируем достичь за эти две недели.
Ежедневный workflow разработки:
- Беру задачу в статус "В работе".
- Создаю ветку от
mainпо шаблонуJIRA-123-short-description. - Пишу код, обязательно покрывая его feature-тестами (для API) и юнит-тестами для сложной бизнес-логики.
- Запускаю локально статический анализ (
laravel/pintдля форматирования,phpstan). - Создаю Pull Request в GitHub. В описании PR указываю Jira-ключ, что было сделано и как тестировать.
- После прохождения обязательных CI-чеков (тесты, линтеры) запрашиваю code review у коллег. Мы используем практику "два глаза" — минимум один апрув.
- После мержа в
mainавтоматический пайплайн разворачивает изменения на staging-сервер.
Ритмичные мероприятия:
- Daily Standup (15 мин): Проходим по доске, каждый говорит о прогрессе и блокерах. Если вопрос требует обсуждения, выносим его "за скобки" (offline).
- Середина спринта: Неформальная проверка прогресса, чтобы успеть скорректировать нагрузку, если что-то пошло не так.
- Демо: В конце спринта показываем работающий функционал продукт-менеджеру и заинтересованным сторонам.
- Ретроспектива: Обсуждаем процесс по формату "Start, Stop, Continue", чтобы выявить точки роста для следующего спринта.
Такой подход позволяет нам стабильно поставлять ценность, поддерживать высокое качество кода и быстро адаптироваться к изменениям.