На другом полюсе последовательного подхода есть команды, которые не ищут легких путей: в их разработке нет стадии написания спецификации или проектирования. Они сразу приступают к написанию кода, затем следует длительный период тестирования и исправления ошибок.
Scrum в этом плане сильно отличается. Здесь качество играет важную роль, и тестирование является частью каждого спринта. Для разработки программного обеспечения крайне важно проводить тестирование параллельно с написанием кода, чтобы как можно скорее обнаружить аномалии. Это также позволяет понять, есть ли необходимость в упрощении, если тестирование кажется слишком сложным.
Опытная Agile-команда в каждом спринте проводит 100 % тестов до того, как будет написано 100 % кода, и достигает 100 % готовности кода до того, как на 100 % написана спецификация.
2.4 Результат спринта
2.4.1 Несколько дефиниций
Начнем с того, что определим смысл терминов, которые будем в дальнейшем использовать.
✓ Ввод в эксплуатацию – это создание ценности путем предоставления пользователям версии продукта [14].
✓ Развертывание – это установка версии с целью получения какой-либо информации. Для ввода продукта в эксплуатацию необходимо его развертывание, в то время как для развертывания можно не вводить в эксплуатацию.
✓ В конце каждого спринта команда получает результат спринта.
Руководство по Scrum называет результат спринта потенциально готовым к поставке инкрементом. Это выражение часто неправильно понимают: инкремент – это не всегда продукт. В Scrum 3.0 речь просто о результатах спринта, и я буду придерживаться того же мнения.
✓ Почему речь не о продукте? Как мы увидим в следующей главе, структурирующим элементом является скорее команда, чем продукт. Команда может работать над несколькими продуктами, последовательно или одновременно.
2.4.2 Спринт и ввод в эксплуатацию
Что насчет спринта? Включает ли последовательность процессов поставку конечным пользователям? Другими словами, всегда ли конец спринта соответствует вводу в эксплуатацию? Или для этого нужно ждать несколько спринтов?
Цель состоит в быстром предоставлении ценности. Решение о вводе в эксплуатацию основано на данной цели и не всегда совпадает с окончанием спринта. Это может быть во время спринта для одной команды или после нескольких спринтов для другой команды.
Ввод в эксплуатацию делается как можно раньше, чтобы поскорее предоставить ценность пользователям. Он не обязательно совпадает с концом спринта.
Течение и результат спринта, как правило, облегчают принятие решения. Например, в конце данного спринта принимается бизнес-решение о вводе в эксплуатацию в рамках следующего спринта.
Таким образом, ввод в эксплуатацию не связан со спринтом.
2.4.3 Спринт и развертывание
Что делать с результатом спринта, если не вводить его в эксплуатацию для конечных пользователей? Можно направить его заинтересованным сторонам для осуществления следующих целей (впрочем, эти варианты не единственные):
Примечания
1
См. раздел 1.2.5 – Прим. ред.
2
Блог автора можно найти по адресу: http://www.aubryconseil.com/pages/Livre-Scrum. Все материалы на нем представлены на французском языке. – Прим. ред.
3
В переводе: «софт пожирает мир», известная цитата Марка Андриссена, американского изобретателя, инвестора, основателя Netscape Communications и венчурного фонда Andreessen Horowitz. – Прим. ред.
4
Пермакультура (от англ. permaculture – permanent agriculture – «Постоянное сельское хозяйство») – подход к проектированию окружающего пространства и система ведения сельского хозяйства, основанные на взаимосвязях из естественных экосистем. – Прим. ред.
5
Ориг. назв.: Exploring Scrum, The Fundamentals. – Прим. ред.
6
3Back, Scrum3.0, Web, 2017. https://3back.com/scrum30/ – Прим. авт.
7
Kanban появился среди Agile-методов совсем недавно; на самом же деле Lean Software, где зародился Kanban, опирался на фундамент, заложенный еще производственной системой заводов Toyota в 1950-х годах. – Прим. авт.
8
Kanban также не является Agile-методом, это скорее метод улучшения процесса или метод управления потоком. В конце концов, остается только Экстремальное Программирование, которое можно назвать методом. – Прим. авт.
9
Как и не стоит обращаться к Scrum, чтобы войти в Agile-режим. – Прим. авт.
10
Steven Denning, Radical Management. – Прим. авт.
11
Frederic Laloux, Reinventing Organizations. – Прим. авт.
12
Тем не менее, калькированный перевод этих слов на французский есть в Квебеке – Прим. авт.
13
Здесь и в последующих главах названия книг, не переведенных на русский язык, и имена их авторов приводятся на языке оригинала. – Прим. ред.
14
Также используется английское слово «release» – Прим. авт.