Некоторые отличные решения и идеи можно находить очень простым и "дубовым" способом: перебором.
Вот например к нам в Эквид приходят пользователи с разным бэкграундом и целями. И находятся пользователи в разные моменты времени в разных состояниях: кто-то только начинает, а кто-то уже успешен. Всем этим ребятам надо показать "дэшбоард", входную страницу. И конечно хочется, чтобы эта страница была разная для разных ребят.
Когда я сел придумывать разные состояния, я сразу потерялся и чувствовал себя ошеломленным: как придумать и удержать в голове такую сложную схему?
Помог перебор. Я построил большое дерево всех решений/событий/атрибутов высокого уровня через которые проходит пользователей. Это дало список конечных состояний. И большая задача свелась к набору небольших и более простых задач "вот есть такое состояние, что лучше всего показать человеку в нем?"