Каждый в команде активно участвует в развитии продукта — выбор задач на итерацию и долгосрочное планирование. Ты сможешь предложить идею и затем сделать её в паре с кем-то. Это может быть инфраструктурное улучшение, фича для клиентов или новая практика.
В команде 14 человек: разработчики, один проектировщик интерфейсов, два тестировщика и скрам-мастер. Используем скрам: двухнедельные итерации, ежедневные встречи, в конце итерации проводим презентацию и ретроспективу. Все работают в офисе, удалённых сотрудников нет. Вместе планируем новую итерацию, для оценки задач играем в покер.
Два разработчика сидят за одним компьютером и всё делают вместе — обсуждают задачу, планируют решение, пишут тесты и код, выполняют рефакторинг. В результате код получается качественным, содержит меньше ошибок и технических долгов.
Делаем ревью кода без пул реквестов и ожидания
После того как разработчики в паре сделали задачу, они сразу зовут к себе ещё одного разработчика на код-ревью. Рассказывают что нужно было сделать и показывают все изменения в коде. Далее обсуждают что следует исправить, каких тестов не хватает и где требуется рефакторинг. Только после успешного прохождения код-ревью выполняется коммит и пуш в гит-репозиторий. Никаких пул реквестов, только живое общение с командой.
Применяем TDD с in-memory реализацией
Разработку каждой задачи начинаем с написания автоматического теста, который завершится неудачей. Далее пишем код, который заставит тест работать. Такой подход позволяет писать чистый приятный код. Используем in-memory реализацию базы и файлов для быстрого прогона тестов — 10 тестов проходят за 300 мс.
Пишем функциональные тесты
Функциональные тесты на Selenium WebDriver воспроизводят действия пользователя в окружении близком к продакшену — вводят данные, прокликивают кнопки в интерфейсе с реальной базой.
С помощью TeamCity после каждого изменения собирается актуальная версия проекта и прогоняются все тесты. Упавшие тесты сопровождаются скриншотом. Мы не релизим, если есть хотя бы один упавший тест. Ручное тестирование не начинается, пока все тесты не поднимут.