Пользовательские истории. Искусство гибкой разработки ПО — страница 45 из 47

Процесс

Обсудите, как протекала ваша работа в последнем цикле разработки. Можете ли вы внести какие-то изменения в свою манеру работы, которые изменят качество к лучшему, сделают ваши оценки времени более точными или хотя бы сделают ежедневную работу веселей? Я серьезно: если вы получаете от своей работы удовольствие, честное слово, ваша эффективность растет[32].

• Начните с обсуждения изменений, которые вы запланировали в прошлом цикле. Сработали ли они? Хотите ли вы сохранить их или отменить?

• Обсудите изменения, которые хотите опробовать в следующем цикле. Не выбирайте значительные. Небольшие изменения работают лучше всего. Попытка изменить слишком много всего за раз – то же самое, что попытка сразу сделать слишком много работы. Вы просто потерпите поражение и разочаруетесь.

Вот и все. Вы благополучно извлекли уроки из историй, которые реализовали, и значение для этого имеет вся проделанная вами работа.

Оцените свою работу с помощью других сотрудников организации

После того как команда вынесла справедливую оценку своей работе, расширьте аудиторию и включите туда всех заинтересованных из вашей организации. Эти люди должны получить представление о дискуссиях, которые вы провели в рамках команды, и компромиссах, на которые пошли. Помните: с точки зрения законченного продукта те истории, которые вы воплотили в работающее программное обеспечение, – лишь маленькие камушки. Люди, не входящие в команду, могут ожидать продукта с большей степенью готовности. Они, скорее всего, укажут на что-то пропущенное, потому что не участвовали в сессиях планирования и не знают, что вы решили отложить эти аспекты на более позднее время. Будьте готовы к этому. Объясните им, как те фрагменты, что вы сделали, встраиваются в большой план. Проведите все это на сессии оценки заинтересованных сторон.

Рецепт оценки продукта заинтересованными сторонами

В вашей организации работает много людей, которые кровно заинтересованы в том, над чем вы работаете и чего достигли. Вам нужно сделать эту работу прозрачной для них. В отличие от вашей команды, эти люди вряд ли знают, что именно представляет собой ваша разработка и как она встраивается в общую картину. Следовательно, вы должны связать то, что узнали и чего достигли, с общей картиной продукта. Кроме того, это отличная возможность поучиться у них и получить их поддержку.

Приглашайте всех заинтересованных. Вы должны получить широкую публичную оценку, поэтому присутствовать может любой интересующийся. Не забудьте также пригласить всю команду. Видеть реакцию других людей на свою работу, как позитивную, так и негативную, очень полезно для понимания ее значения.

Запаситесь едой. Уверяю вас, все будут более благожелательны к вашим словам, как следует заправившись углеводами. Даже плохие новости легче воспринимаются, если заесть их печенюшками.

Необходимо рассмотреть информацию в двух категориях: исследовательская работа, в которую вы были вовлечены, а также истории, которые реализовали.

Оценка исследовательской работы

Оценка исследований очень важна. Лучший момент для того, чтобы услышать мнение партнеров, – перед тем как потратить уйму времени на разработку чего-то. Если вы продемонстрируете им реальные уроки, извлеченные из тестирования взаимодействия ваших заказчиков и пользователей с продуктом, то партнеры поймут ценность изучения образа мыслей заказчиков и пользователей. Единственное, что может эффективно повлиять на чье-то мнение, – холодные беспристрастные факты.

Коротко обсудите каждую возможность, которую вы рассматривали: для кого она, почему ее решили реализовать и каких результатов ожидаете в случае успеха.

Обсудите и продемонстрируйте работу, которую вы проделали, чтобы разобраться в проблеме и ее решении.

Обсудите и продемонстрируйте прототипы, которые вы создали, и эксперименты, которые провели. Можно оценить также, что говорят о вашем решении пользователи и заказчики.

Оцените разработку

По моему опыту, больше всего представителей бизнеса интересует, что и когда вы предъявите заказчикам и пользователям. Так и должно быть, ведь вы будете наблюдать реальные результаты не только после выпуска минимально жизнеспособного решения. Ваши партнеры заинтересованы в прогрессе, которого можно ожидать, двигаясь в выбранном направлении.

Оцените работу по предъявлению продукта, которую вы завершили на уровне «решение за решением». В данном случае вы должны думать о минимально жизнеспособном решении, как о большом камне, что больше соответствует видению партнеров.

Для каждого решения

Рассмотрите цели решения, заказчиков и пользователей, которым оно адресовано, а также полученные результаты. Очень полезно вспомнить, почему мы взялись разрабатывать это и что в данном случае означает успех.

Обсудите и продемонстрируйте результаты историй, реализованных для каждого решения. Выслушайте мнение о них, которое выскажут партнеры. Если у них была возможность оценить вашу работу, когда вы проводили исследования, сейчас они могут сказать: «Все по-прежнему хорошо».

Обсудите истории в целом. Если вы следуете стратегии наподобие «Моны Лизы», придется объяснить партнерам, почему программный продукт пока что выглядит незаконченным. Помните: возможно, ваши собеседники предпочли бы увидеть квадратный дюйм законченного портрета, а не набросок во весь холст в эквиваленте программного обеспечения.

Поделитесь с ними тем, насколько вы приблизились к состоянию готовности своего решения. Сколько еще осталось сделать? Узнали ли вы, разрабатывая решение, что-либо, что может повлиять на его успешное предъявление?

Будьте готовы записать истории для новых возможностей или для изменений, которые необходимо сделать.

Может оказаться, что другие присутствующие в комнате не знакомы с тем, что вы разрабатываете, и поэтому будут вносить явно неудачные предложения. Похвалив идею как таковую и поблагодарив за нее, напомните им о целевой аудитории и ожидаемых от решения результатах и объясните, почему их предложение не будет способствовать достижению последних.

Сохраняйте работу прозрачной для всех в компании. Не упускайте возможности получить одобрение за то, что вы делаете и чему учитесь.

Достаточно

Если я пользуюсь каким-то продуктом, который мне нравится, то, уверен, я не обращаю внимания на все его крохотные детали и стоящие за ними решения. Фактически, если программа работает неплохо, я вообще не обращаю на нее слишком много внимания. Я не замечаю, как мой смартфон теряет и затем восстанавливает соединение с Интернетом. Я не концентрируюсь на том, что, обновив какой-нибудь элемент в мобильном приложении для управления задачами, сразу могу увидеть эти изменения в веб-версии. Но все это очень важные атрибуты качества, и если их не будет, я непременно это замечу. Через вашу команду прошло огромное множество деталей, но, как ни парадоксально, вам не нужно, чтобы все они были замечены пользователями. Скорее, вам нужно, чтобы они их не замечали.

Основные знания вы получаете от представителей бизнеса в своей организации, заказчиков, которые купили ваш продукт, и отдельных пользователей, которые, получив ваше приложение, будут использовать его и смогут оценить, насколько оно помогает им достичь их целей.

 Бизнес-партнеры. Для них может быть достаточно добавления функциональности, критической с точки зрения привлечения новых заказчиков. Или, возможно, им достаточно полученных вами сведений о деталях, которые обязательно нужно включить в эту функциональность для обеспечения конкурентоспособности.

 Заказчики. Для них может быть достаточно добавления функциональности, которая обеспечит им реальную выгоду, когда они или сотрудники их организации начнут использовать обновленное приложение.

 Пользователи. Для них может быть достаточно добавления функциональности, которая обеспечит достижение ими одной из их целей.

Если вы приложили достаточно стараний в процессе дробления камней, то должны были получить много маленьких, простых в реализации частей. Каждая из этих частей позволяет вам и вашей команде что-либо узнать, но если вы сделали все правильно, это может быть не так для других групп.

Я представляю, что мы складываем вместе эти маленькие кусочки программного продукта, как детали LEGO. Я складываю их на старомодные весы с двумя чашами и противовесом на одной стороне. В качестве противовеса выступает больший кирпичик LEGO, представляющий понятие «достаточно» – достаточно, чтобы позволить пользователю выполнить задачу или достичь цели, достаточно для заказчиков, чтобы извлечь какую-то выгоду для себя, достаточно для бизнес-партнеров, чтобы они ощутили реальную помощь в достижении организацией ее целей. Как только деталей становится достаточно и их кучка перевешивает, наступает время тестировать приложение с пользователями, давать его на оценку заказчикам или бизнес-партнерам.

Вы как команда не просто коллег, но единомышленников, должны рассмотреть результаты каждой отдельной истории, чтобы изучить и улучшить не только ваш продукт, но и способ планирования и манеру взаимодействия. Получая обратную связь и обучаясь у других групп, всегда учитывайте, что означает «достаточно» для них.

Учитесь у пользователей

На начальном этапе мы можем быть твердо уверены, что разработка идет в верном направлении, но, чтобы сохранять эту уверенность, очень важно тестировать программный продукт с участием пользователей.

Обратите внимание: я сказал «тестировать». Просто продемонстрировав пользователям программный продукт и рассказав о нем, ничему научить их не получится. Что толку, если пользователи увидят новые возможности, должны будут вообразить, как их использовать, и решить, нравится им это или нет. Это все равно что рассматривать новую машину в салоне и представлять себе, понравится ли вам ее водить. Понять, сможет ли новая функциональность помочь добиться целей, пользователи смогут только на тест-драйве продукта. Да и мы, команда, узнаем больше, наблюдая за тем, как пользователи работают с программой. Если вы и ваша команда проводили качественные обсуждения историй, то, наверное, говорили и о пользователях, о том, почему они могут оценить то, что вы разрабатываете, и как могут это использовать. Только наблюдение за ними может по-настоящему подтвердить или опровергнуть эти гипотезы.