Демо спринта
В разработке периодически возникает необходимость показать продакту, руководству или стейкхолдерам, что было сделано. Чтобы руководитель остался доволен, а стейкхолдеры воодушевлённо готовили пачки купюр — надо уметь проводить демонстрацию.
За шесть лет регулярных демо я выработал несколько правил, которые помогают к ним готовиться и проводить их без лишнего стресса.
Готовьтесь
Готовьтесь к демонстрации заранее. Расчёт на импровизацию может закончиться заваленной презентацией, забытыми фичами и лишними паузами в попытках вспомнить, что делать дальше.
Напишите сценарий и заранее прогоните его целиком. За час до демонстрации полезно прогнать сценарий ещё раз. Так я не раз обнаруживал, что стенд сломан и его надо срочно чинить.
За 10 минут до демонстрации подготовьте всё, что вам может понадобиться: откройте вкладки, авторизуйтесь, запустите программы. Всё, что зрителю неинтересно и нельзя сделать за несколько секунд, подготовьте заранее.
Разделяйте речь и действия
Сценарий удобно писать в два слоя: речь и действия. Речь — то, что вы говорите аудитории. Действия — то, что вы в этот момент делаете в интерфейсе.
По умолчанию текст сценария — речь. Действия оформляйте так, чтобы их можно было мгновенно отличить от речи. Я использую для этого Markdown-цитаты:
> Нажать кнопку «Загрузить»
> Выбрать файл
> Показать курсором, что появился индикатор загрузки
Вставляйте действие ровно в то место сценария, где его нужно выполнить. Описывайте действия настолько конкретно, чтобы по ним демонстрацию смог провести другой человек. Конкретика особенно полезна во время самого демо: не приходится одновременно вспоминать, что говорить и куда нажимать.
Показывайте
Зрители фильмов заскучают, если сюжет будет рассказан текстом на экране и закадровым голосом. Им нужны меняющиеся кадры. C демо так же: оно должно меняться на глаза у зрителя. Если пять минут ничего не происходит на экране, внимание переключается на что-нибудь другое.
Если результат можно показать — покажите. Если задача сама по себе не имеет визуализацию, придумайте другой способ показать результат: схему, график, слайды, лог выполнения.
Рассказывайте
Не превращайте демо в сухой отчёт — это скучно. Используйте разговорный стиль. Допустимы лёгкие шутки и самоирония, но они не должны превращать демонстрацию в стендап.
Говорите бодро и уверенно. Состояние заразно: если вы говорите нудно, слушателям тоже будет скучно.
Хорошо работает честность: если сразу проговорить проблемы и ограничения, можно избежать части неприятных вопросов позже. Если попутно с выполнением задачи сломали что-то другое — расскажите об этом, всё равно заметят.
Объясняйте
Не перечисляйте выполненные задачи. Для каждой из них стройте рассказ по цепочке проблема → решение → польза.
| Плохо | Хорошо |
|---|---|
| Добавили фильтры | В таблице много строк, и искать нужную территорию глазами долго. Мы добавили фильтры и сортировку. Теперь геологи могут быстрее находить нужные территории. |
Используйте термины из мира пользователя и бизнеса, а не разработчика. Если технический термин неизбежен — объясните значение и пользу.
| Плохо | Хорошо |
|---|---|
| Отрефакторили воркеры, сократили аллокации | Переделали работу фоновых задач: теперь они потребляют меньше оперативной памяти, сервер будет работать стабильнее |
Соблюдайте структуру
Хорошая демонстрация должна идти по понятному маршруту. Зрителю не приходится гадать, почему вы внезапно открыли другой раздел системы и как он связан с тем, что было минуту назад.
Структура не должна быть заметна зрителю как формальный план. Её задача — сделать демонстрацию последовательной: сначала дать контекст, затем провести по изменениям и закончить понятным следующим шагом.
Перед демонстрацией проверьте, что сценарий состоит из нескольких последовательных частей:
1. Предварительные условия
Запишите, какой стенд открыть, под кем авторизоваться и какие данные подготовить заранее. Например: «сотруднику провести ревью и составить ИПР минимум из пяти пунктов». Это служебная часть сценария, зрителям её показывать не нужно.
2. Вступление
В двух–четырёх предложениях поприветствуйте участников и напомните, над чем работали в этой итерации.
3. Разделы по модулям
Начинайте с естественной точки входа пользователя и двигайтесь вглубь системы. Старайтесь выстроить действия так, чтобы каждый следующий клик продолжал предыдущий, а не заставлял прыгать между несвязанными экранами.
4. «Невидимая» работа
Отдельно расскажите про рефакторинг, инфраструктуру и внутренние инструменты, если они были существенной частью работы. Переводите технический результат на язык пользы: «реже сталкиваться с проблемами», «быстрее выпускать изменения», «меньше зависеть от одного человека».
5. Финал
Коротко расскажите, что планируется дальше, и пригласите участников задавать вопросы.