• Качество программного обеспечения, созданное в процессе разработки, определяет дальнейшие затраты на поддержку системы и затраты на дальнейшее улучшение. Программное обеспечение низкого качества труднее улучшить, чем высококачественное, оно оставляет наследство в виде увеличения затрат организации.
• Ремонтопригодность и устойчивость программного обеспечения могут быть сдерживающим фактором в жизненном цикле и полезности программного обеспечения. Многие организации не смогли стать конкурентоспособными, даже используя Scrum, поскольку изначальное программное обеспечение было в плохом состоянии, а разработчики, которые его делали, отсутствовали.
Вы, наверное, привыкли к гораздо большему количеству показателей, таких как «заработанная ценность». Эти показатели были для вас очень важными, потому что отсутствовал другой способ оценить прогресс и текущий риск разработки проекта. Scrum заменяет эти показатели на надежное материальное свидетельство в конце каждого спринта. У вас есть серьезный инкремент функционала, который может быть незамедлительно использован. Все показатели подчинены ценности и стоимости этого функционала.
Вы пришли к Scrum, потому что хотите знать, что происходит, и управлять работой для создания прибыли для вашей организации и ценности для ваших клиентов.
Scrum обеспечит вам следующие возможности.
1. Знание того, как много функционала программного обеспечения осталось создать. Даже после того, как вы внесли массу изменений, вы всегда сможете спрогнозировать, что осталось сделать.
2. Представление о том, какой функционал уже сделан. Функционал соответствует тому, сколько денег потрачено. Это прибыльно.
3. Понимание, сколько функционала было реализовано за несколько последних спринтов. Это позволит вам сделать прогноз относительно того, сколько времени займет создание оставшегося функционала. Помните, что это сложная работа и будущее может измениться, но что-то всегда лучше, чем ничего.
4. Возможность взять один или несколько инкрементов функционала, которые уже закончены, и начать ими пользоваться, изучая ценность на раннем этапе.
Все остальное, что предоставляет вам Scrum, – дополнение к этому. Вы можете создать продуктивность, качество, хорошее место для работы, привлечь пользователей и увеличить долю рынка. Но главное – вы должны знать, что делаете. Прозрачность инкремента и того, из чего он состоит, – основа.
В конце спринта у вас появится инкремент одного или нескольких требований, законченный и готовый к использованию. Испытайте его и убедитесь, что он не развалится, что он достаточно качественный для реального использования. Опробуйте этот инкремент в сочетании со всеми предыдущими. Выполненный, законченный инкремент – то, что вы можете использовать.
Если инкремент не функционирует, как надо, и не может быть сразу установлен и использован, не принимайте его. Просите команду пересмотреть порядок и включить в него все работы, необходимые, чтобы действительно закончить инкремент. Затем верните эти пункты в бэклог продукта.
У нас есть опыт работы с последствиями отсутствия прозрачности в крупной энергетической компании в 2002 году. Scrum был опробован в одном из отделов, менеджер которого, Дэвид, был в восторге от прозрачности, обеспечиваемой Scrum. К сожалению, он не убедился, что инкремент полностью доделан и годен к употреблению. Он даже не знал, что должен это делать. Вот его история.
Дэвиду нужно было автоматизировать получение его департаментом сведений об изменении собственности – они занимались обработкой и выплатой лицензионных платежей землевладельцам в начале каждого финансового года. Дэвид должен был быть уверен, что информация актуальная, поскольку отвечал за имущество на территории Соединенных Штатов и Канады.
Всю информацию его организация получала в форме распечатанных документов. Объем становился ошеломляющим, и Дэвид хотел автоматизировать этот процесс.
Он решил, что его разработчики для создания системы должны использовать Scrum. Не только потому, что законченный продукт мог позволить ему оставаться на вершине прогресса, но и потому, что таким образом он получал возможность использовать части функционала по мере их доступности.
К концу третьего спринта разработчики автоматизировали получение и интеграцию смены собственника для одной из провинций Канады. Они продемонстрировали это, используя SQL, технический язык запросов к базе данных. Дэвид был в восторге. Он решил, что его сотрудникам необходимо выучить SQL, потому что большинство их задолженностей было из этой провинции и автоматизация могла позволить быстро устранить отставание.