Что мы умеем делать хорошо, так это додумывать детали. Например, если мы видим два кадра какого-нибудь комикса, то легко догадаемся, что произошло между ними. Этот прием широко используется в комиксах, романах и кинофильмах. Но, раздумывая о том, что делает программный продукт, мы часто склонны воображать себе интересные функциональности, пренебрегая тем необходимым, что их связывает. Продолжая аналогию с фильмом, можно представить, что на экране сменяли бы друг друга погони на автомобилях и перестрелки, но ни слова не было бы сказано о том, почему все это происходит и какая история их связывает.
Изложение во всех подробностях пользовательских историй с помощью карты поможет вам проговорить все критически важные детали, которые их связывают. В большинстве случаев люди понимают, что крутая функциональность, которую они рассматривают, потребует изменения некоторых пользовательских настроек в самом начале истории, а также отчетов и уведомлений в конце. Могут быть затронуты не только функциональности, но и люди. Например, администраторы должны обработать новые настройки безопасности для системы, а менеджеры – контролировать, как функциональность используется в их командах.
Проверьте технические особенности
Возвращаясь к аналогии с киносъемками: если вы собираетесь продолжать работу над своим фильмом, стоит подумать о выборе места съемок, спецэффектах и других деталях. В какой-то момент вам придется с головой погрузиться в сценарий и продумать все технические детали создания фильма.
Карта историй вашего программного обеспечения очень полезна в дискуссиях того же типа, что вы проводили бы, будь вы режиссером кинофильма. Обсудите карту своих решений с инженерами и архитекторами, прежде чем двигаться дальше. Видение картины в целом поможет им заранее предусмотреть большинство технических ограничений, которые могли бы затруднить реализацию по-настоящему удачных решений. Вас могут заранее предупредить о том, что хоть ваше решение и выглядит прекрасно, но реализовать его при заданном бюджете времени и имеющейся архитектуре не представляется возможным. Они могут также предложить альтернативные пути выполнения задач, которые обеспечат вашим пользователям те же возможности взаимодействия, но будут более экономичны с точки зрения реализации.
Эти инженеры большой страховой компании потратили много времени на обсуждение находящейся на стене карты. По ходу обсуждения они обнаружили в огромной карте своего продукта небольшую нестыковку: придется изменить обработчик бизнес-правил их продукта. Возможность увидеть картину в целом помогла им визуализировать свою работу несмотря на сложность продукта. Обладая этим знанием, ребята смогут обсудить, что им необходимо запланировать на самых ранних этапах и как минимизировать риски.
Поиграйте в «Что, если»
Вы представляете свое решение с точки зрения пользователя, и у вас есть видение пользовательского взаимодействия. Выделите некоторое время для обсуждения того, что происходит внутри интерфейса. Обсудите строгие бизнес-правила, сложную валидацию данных, а также разные серверные сервисы и системы, с которыми придется взаимодействовать. Добавляйте на карту истории, обозначающие эти части, или делайте пометки в уже имеющихся историях.
Это хороший момент, чтобы рассмотреть то, что вами уже сделано, с большим количеством других людей. Расскажите им обо всем, к чему удалось прийти вам и вашей группе. Обещаю: у вас будет большая группа людей, наперебой задающих вопросы, начинающиеся с «А что, если…». Я обожаю таких людей (только не в тот момент, когда они стоят прямо передо мной). И я благодарен им за то, что они помогают мне задуматься о множестве проблем, прежде чем я натолкнусь на них сам позднее, когда полученный урок обойдется гораздо дороже.
Аналогия с киностудией, как мне кажется, отлично работает. Если бы я собирался снимать кино, мне нужны были бы сценарий и раскадровка – эскизы ключевых сцен, которые помогли бы мне лучше представить будущий фильм. Если бы я собирался вложить деньги в съемку фильма, то хотел бы увидеть как минимум две эти вещи, чтобы иметь представление о картинке, сложившейся в головах сценаристов и режиссеров. Если бы в тот момент задумка мне понравилась, я продолжил бы исследования, чтобы узнать, сколько денег потребуется на съемку фильма и насколько реально воплотить в жизнь эти замыслы.
Я думаю, в кино эти эскизы используются для того, чтобы более тщательно обдумать будущий фильм. Как инвестор я хотел бы, чтобы можно было заранее подсчитать, сколько площадок и павильонов нужно для съемки и как они должны выглядеть. Необходимо также знать, какие потребуются декорации, реквизит и спецэффекты. Словом, мне нужны были бы сценарий, раскадровка и множество других деталей, на которых базируются построение плана и оценка затрат. Имея эти данные, можно запланировать бюджет и временной график съемок фильма.
Вот какие сведения вы должны получить, прежде чем приступите к реализации своего решения.