Сергей Нужненко
РЕД СОФТ
Зачем вообще нам постановка? Можно же просто «сделать нормально»?
Невнятная архитектура и избыточно частые изменения — следствие проблем с постановкой задачи.
Неполная, противоречивая или отсутствующая постановка задачи — это в итоге «все сделано, но ничего не работает», «сделано, но не так» или «сделано то, что не нужно».
И к сожалению, очень часто, даже когда аналитик есть, постановка не так хороша, как могла бы быть.
На моем мастер-классе я покажу самые простые техники постановки задачи «на салфетке», которые пригодятся любому разработчику.
Обойдемся без страшных слов. Я покажу, как мы максимально просто и быстро выстраиваем целостный образ системы, чтобы (почти) ничего не забыть и получить систему или отдельную доработку, которую не придется сразу же переделывать или выбрасывать.
Это техники для любых ИТ-систем вообще (не только для мобильных приложений).
Много лет, работая тимлидом аналитиков, скрам-мастером и agile-коучем, я провел сотни архитектурных сессий, где мы с разными командами на доске и на бумажке проектировали очень разные системы в ситуации, когда нет времени на аналитику.
У меня получился универсальный и быстрый процесс относительно полной и непротиворечивой постановки (или проверки постановки) на разработку. Конечно, с ограничением: для небольших команд, у которых есть внятный заказчик (например, аналитик).
На мастер-классе мы вместе пройдем по процессу из четырех шагов на примере мой любимой задачи с собеседований:
1) Встанем в тапки пользователей и пройдем их путем до целей. Найдем пробелы и заполним их.
2) Определим функции системы — что она делает на каждом шагу пользовательских путей. Проверим полноту функций несколькими простыми техниками.
3) Создадим постановку на систему в целом. Ключ к хорошей постановке — потоки данных. Спроектируем сценарии взаимодействия системы с пользователями. Освоим простые техники проверки полноты и поиска альтернативных сценариев. Посмотрим, как входы, выходы и данные системы связаны через алгоритмы. И как это помогает ставить задачу.
4) Чтобы получить постановки на подсистемы и еще более точный анализ альтернативных сценариев, мы нарисуем сценарий взаимодействия подсистем между собой. Получим постановки на подсистемы и уточнение сценариев с предыдущего шага.
На мастер-классе обсудим тонкости и ловушки на каждом шаге. Я покажу правильный образ мыслей при постановке задач. Так как работают не картинки, не способы рисования, а целостный образ системы, который мы получаем с их помощью.
Поскольку техники универсальны, вы сможете попробовать их на любой своей рабочей задаче хоть завтра.
РЕД СОФТ