1. Что изменится в мире с помощью этого UI? Интерфейс == система обеспечения, найдите целевую систему — действие или продукт в физическом мире. Путь пользователя к состоянию этого действия/продукта зависят от интерфейса. Важно проследить цепочку событий, ведущих от действия в UI к целевому действию в физическом мире. Цепочка может быть представлена в виде связанных user stories (job stories). Цельная, логичная цепочка “сторей” без противоречий у стейкхолдеров — хорошие требования.
  2. Присутствуют ли в постановке задачи ограничения? В мире UI очень часто передаются предполагаемые решения в виде требований; явный пример: указание на компонент вместо требуемой функции (“выбор чекбоксами” вместо “возможность множественного выбора”). Это — ограничение, их надо отслеживать и снимать: затребовать искомую функцию (в цепочке “сторей”), и уже к функции подобрать подходящий компонент.
  3. Задачу какого уровня в данный момент надо решить? Разложите задачи на спектре [общие решения - - - - конкретные решения]. Общие решения необходимо принять в первую очередь, их можно назвать архитектурными решениями, от них зависят более детальные требования и решения — на уровне / уровнях ниже. Регулярно сверяйтесь с уровнем, на котором сейчас работаете, важно в моменте решать задачу, соответствующу уровню.
  4. Как я формально пойму, что решение удовлетворяет требованиям? В итоге работы по первым трем пунктам у вас есть список задач

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

Далее, при наличии требований, разработайте решение и участвуйте в приемке; об этом в следующих заметках.

Четыре пункта выявления требований (аналитика) и два пункта разработки (синтетика) — итеративный процесс.


#целевая #требования #интерфейс #ограничения #проверка #системное-разбиение

[[+ Целевая, наша, над-, под- системы в окружении]] — работая с UI необходимо помнить, что это работа над системой обеспечения, и важно держать в голове фокус на целевую физическую систему: продукт или процесс.

[[+ Главное действие]] — все действия пользователя в UI есть часть цепочки действий, ведущих к главному действию в физическом мире; определение родительской системы/сценария есть важнейший шаг по построению этой цепочки.

[[+ Потребности, требования, ограничения]] — в работе над UI часто встречаются ограничения; их важно снимать, выявляя вместо решений требования; это необходимо для построение цельной цепочки до целевого действия.

[[+ Часть-целое, разбиение, эмерджентность]] — при работе над UI сохраняется принцип системного разбиения, только чаще всего подсистемами/надсистемами являются физические процессы.