Книга: Scrum и XP: заметки с передовой
Почему качество не обсуждается
Почему качество не обсуждается
В предыдущей главе я намеренно не показал на треугольнике четвертую переменную — качество.
Попытаюсь объяснить разницу между внутренним качеством и внешним качеством.
• Внешнее качество — это то, как пользователи воспринимают систему. Медленный и не интуитивный пользовательский интерфейс — это пример плохого внешнего качества.
• Внутреннее качество касается вещей, которые как правило не видны пользователю, но при этом оказывают огромное значение на удобство сопровождения системы. Это продуманность дизайна системы, покрытие тестами, читаемость кода, рефакторинг и т. д.
По правде говоря, у системы с высоким внутренним качеством иногда может быть довольно низкое внешнее. Но наоборот бывает крайне редко. Сложно построить что-то хорошее на прогнившем фундаменте.
Я рассматриваю внешнее качество, как часть общего объема работ. Ведь с точки зрения бизнеса бывает весьма целесообразно как можно быстрее выпустить версию системы с немного корявым и медленным пользовательским интерфейсом, и лишь потом подготовить версию с доработками и исправлениями. Здесь право выбора должно оставаться за product owner'ом, так как именно он отвечает за определение объёма работ. И напротив — внутреннее качество не может быть предметом дискуссии. Команда постоянно должна следить за качеством системы, поэтому оно попросту не обсуждается. Никогда.
(Ну ладно, почти никогда)
Так как же нам различать задачи, связанные с внутренним и внешним качеством?
Представьте, что product owner говорит: «Хорошо ребята, я понимаю, почему вы оценили эту задачу в 6 story point’а, но я уверен, что, если вы чуточку помозгуете, то сможете по-быстрому „залатать“ проблему».
Ага! Он пытается использовать внутреннее качество как переменную! Как я догадался? Да, потому что он хочет, чтобы мы уменьшили оценку задач, не уменьшив при этом объём работ. Слово «заплатка» должно вызывать у вас тревогу.
Почему же мы так жестко стоим на своем?
По моему личному опыту, жертвовать внутренним качеством — это практически всегда очень и очень плохая идея. Сэкономленное время ничтожно мало по сравнению с той ценой, которую вам придётся заплатить как в ближайшем будущем, так и в перспективе. Как только качество вашего кода ухудшится, восстановить его будет очень тяжело.
В этом случае я стараюсь перейти к обсуждению объема задач. «Раз вам так важно получить эту историю как можно раньше, тогда может быть стоит сократить объем задач, чтобы мы могли сделать её побыстрее? Возможно, стоит упростить обработку ошибок и сделать „Улучшенную обработку ошибок“ отдельной историей оставив ее на будущее? Или может понизить приоритет остальных историй, чтобы мы могли сосредоточить все свои усилия на этой?».
- Как мы планируем спринт
- Почему без product owner’а не обойтись
- Почему качество не обсуждается
- Планирование спринта, которое никак не заканчивается
- Распорядок встречи по планированию спринта
- Определяем длину спринта
- Определение цели спринта
- Выбор историй, которые войдут в спринт
- Как product owner может влиять на то, какие истории попадут в спринт?
- Как команда принимает решение о том, какие истории включать в спринт?
- Почему мы используем учетные карточки
- Критерий готовности
- Оценка трудозатрат с помощью игры в planning poker
- Уточнение описаний историй
- Разбиение историй на более мелкие истории
- Разбиение историй на задачи
- Выбор времени и места для ежедневного Scum’а
- Когда пора остановиться
- Технические истории
- Как мы используем систему учёта дефектов для ведения product backlog’а
- Свершилось! Планирование спринта закончено!
- Почему необходима миграция
- Почему так важен справедливый процесс?
- Почему потенциальные покупатели лгут?
- Пример применения метода «пять почему»
- Почему я написал эту книгу
- Глава 14. Почему потребительский опыт играет важную роль в выстраивании клиентских взаимоотношений
- Почему и как я уволил себя
- 2.1. Услуги и качество
- Почему при включении клавиатура не работает, а после загрузки Windows все нормально?
- Почему я не нахожу в Панели управления описанных пунктов?
- З.1.2. Пароль BIOS не сбрасывается даже при удалении батарейки. Почему?
- Текстовые форматы и кодировки, или Почему иногда вместо текста я вижу абракадабру?