Рецепты
Yesterday

Метод «трех кнопок» (функциональный анализ)

Хотел сослаться на концепцию, а интернет её похоже успешно забыл.
Быстрорастворимый читкод про анализ и требования (2003)


Это опять рецепт, и метод быстрой оценки требований и потребностей.

Удобно применять для набросков, и как способ «сняться с ручника», стартовать анализ и последующее. Полноценную работу, естественно, собой не заменяет.

Придумал его кажется Горбунов в 2003. Ну или я от него просто в пересказе услышал. Может и вовсе ошибаюсь.

Но Артём = голова, и точно мог. На сайте Бюро не нашел.


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

— Дайте мне волшебную кнопку «пыщ!», и всё станет хорошо.

(вы про себя думаете: может и не станет, но давай попробуем)

Требования пока мутные, постановка вялая, решение еще искать и искать.

И вы представляете себе кнопку. Вы же можете себе представить кнопку? Если вы инженер, представьте рычаг; если вы басист или водитель, я не знаю, представьте педаль. Какую-то хрень, с которой можно повзаимодействовать уже известным, приемлемым способом.

Она нихрена не делает. И не должна. От вас просили кнопку — ну вот, пожалуйста. За ~500 лет уже худо-бедно кнопку все рожать научились.

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


Дальше вы рисуете (представляете) рядом вторую кнопку. Полностью, пока что, аналогичную первой.

Они пока идентичны, как близнецы. Но будет не так.
Но вы точно знаете, что вторая кнопка — отличается от первой.
Тем, что она что-то делает.

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

Вот прямо в столбик и записывайте.
Чем отличается полезная кнопка от бесполезной?

— что-то происходит
— что-то запускается (начинается)
— что-то проверяется
— что-то обрабатывается
— мы чего-то делаем, запрашиваем, ждем, волнуемся
— мы чего-то ожидаем в ответ — внутри, под капотом
— тот, кто на нее жмакнул — что-то ожидает от нее, что именно?
— кто на нее может жмакнуть, а кто не может?
— в чем заключается ее польза?
— кто ее получит?
— кто об этом узнает и как?

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

Посмотрите на свой список. Проверьте его, примерьте хотя бы на себя.

Попробуйте увеличить полезность второй, правой кнопки, по максимуму. Как ей максимально отличаться от первой, в полезную сторону? Как вы вообще измеряете пользу в данном конкретном случае? В чем она заключается?

Дайте этому списку немного подышать. Лучше сутки, или больше. Вы обязательно что-то вспомните, что-то обдумаете. Не стесняйтесь его изменять, дописывать, перефразировать.

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


И вот теперь, вы «рисуете» рядом третью кнопку.

Третья кнопка будет отличаться от второй. Как вторая отличалась от первой.

Третья кнопка делает всё то полезное, что от неё ожидают, но делает это нормально. По-человечески. Не в формате «от нас попросили, вот мы вам сделали», а так, чтобы было зашибись. Вот прям по-честному зашибись. Как надо.

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

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

За третьей кнопкой стоит весь инженерный опыт планеты, и всё что нужно пользователю — это довериться умным людям, которые качественно подумали и за пользу, и за риски, и за сложные случаи, и за подводные камни.

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

— что она предусматривает?
— что будет происходить после, может лучше сделать всё сразу?
— как обеспечить наглядность?
— как снизить риски, какие они вообще?
— как сделать по-человечески и по уму?
— какие есть отраслевые стандарты и принятые практики?
— какие связи и взаимодействия надо вспомнить?
— как показать результат, чтобы человек понял?
— о чем человека следует предупредить?
— как зафиксировать результат для последующего анализа?
— что делать, если что-то пойдет не так?
— чего еще от нас могут захотеть в реальной жизни?

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

Осталось понять где из того «что можно» лежит то, что нужно.

Запишите мысли целиком, не стесняйтесь. Это важное. Вот с этим вам предстоит дальше работать, в силу своего понимания и возможностей. Если понимания и возможностей (пока) не хватает — значит, надо сходить и узнать всё недостающее, от умных людей.

Вы сделали очень важную штуку: подумали, и подумали дважды. Вы молодец.

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

Можно попробовать сделать хорошо — плохо (и с компромиссами) само получится.


Это всего лишь метод, чтобы раскачать вашу мысль. Если хочется чуть боле умного, эта методика точно описана (более развесисто) например в ТРИЗе. Да много где.

Следующий уровень колдунства — сделать так, чтобы кнопки не было. Совсем.
Просто «вот такое надо» — а вот всё уже сделано, забирай. Лучшее взаимодействие = то, которое не нужно.

— когда я нажму на эту кнопку, мир, каким вы его знаете, перестанет существовать. А чтобы вы, тридварасы, мне не помешали — я сделал это еще полчаса назад (ц).

Но об этом поговорим в другой раз, очередной раз.

Hope that hepls.


Еще обратите внимание на соседний рецепт, как сняться с ручника — 5W+W5


С мест подсказывают: «а еще бывают такие кнопки, которые что-то делают, но суко так, что лучше бы блин вообще не делали».

Бывают. Не смогу поспорить.

Но мы тут как бы про пользу. А если вместо пользы = риски и вред, то наверное — мне кажется — не надо такое выдумывать, пока отдельно не попросили :)