Большие задачи заносятся в бэклог отдельными пунктами. Работа, связанная с архитектурой, может потребовать поддержки со стороны эксперта. Нужно предусмотреть это заранее, чтобы гарантировать его доступность. Как и в случае с остальными историями, не имеющими видимой ценности, необходимо обсудить важность этой работы с Владельцем продукта и приоритизировать задачи.
Документ архитектуры, если он существует, обновляется с каждым спринтом и заносится в критерии завершенности. Но важно качество архитектуры, и понятно это должно быть не из документа.
Качество архитектуры подтверждается кодом, а не документом.
Практика стихийного проектирования отражается в регулярных задачах, относящихся к проектированию. Во время спринта команда с этим сталкивается дважды.
✓ На этапе планирования спринта, а точнее, во время
✓ На этапе разработки истории написание тестов в первую очередь (разработка через тестирование) подходит и для проектирования. Этот процесс выполняется одним разработчиком или в паре.
Во время спринта может потребоваться технический анализ. Такое исследование называется
В конце спринта, уже после спайка, команда подбирает решение и способна подготовить историю, что соответствует пункту спайк в паттерне
На данном этапе команда подтверждает, что история завершена с функциональной точки зрения. В седьмой главе мы с вами рассмотрели условия приемки и паттерн
Чтобы подготовить историю, Владелец продукта и команда во время доработки добавляют
История должна обладать условием приемки, а лучше несколькими (но не большим количеством). Каждому условию соответствует один или несколько приемочных тестов.
• Кто определяет тест?
Scrum ставит акцент на команде без привязки к конкретным ролям. В ней нет явной роли тестировщика, но это совсем не значит, что команда не проводит тестов! Некоторые по-прежнему придерживаются идеи, что тестирование выполняет заказчик. Это может побудить разработчиков делегировать все задачи Владельцу продукта или даже заинтересованным сторонам.
И это не лучшая идея: из-за обилия задач и компетенций Владелец продукта чаще всего не в состоянии брать на себя ответственность еще и за этот блок работы. Более того, этот этап выполняется коллективно и благоприятствует общению внутри команды.
В итоге не имеет значения, кто определяет тесты. Важно, чтобы все друг друга понимали и дело было сделано в нужное время. Это становится коллективной ответственностью.
⁃ Как определить тест?
Мы поговорили о BDD как о языке условия приемки. На конкретном примере перейдем к тесту приемки.
Дано: Коринна – владелец пса по имени Гэри и оформление регистровой родословной для собак породы бассет-хаунд, назначенное на 24 апреля и с 34 заявками на данный момент.
Когда: Коринна записывает своего двухлетнего пса породы бассет-хаунд Гэри на оформление регистровой родословной 24 апреля.
Тогда: запись Гэри принята и сообщение
Разница между условием приемки и приемочным тестом в том, что тест содержит значения, которые составляют пример. Вот почему мы говорим о спецификации на примере с набором историй и приемочных испытаний.
Все больше распространяются инструменты, ориентированные на BDD – такие как Cucumber – позволяющие облегчить переход к автоматизированному тестированию.
Тем не менее, BDD – это, прежде всего, подход, содействующий коммуникации между Владельцем продукта и разработчиками.
Во время спринта приемочные испытания можно выполнять по ходу разговора.