Юзабилити глазами архитектора

При попытке охарактеризовать архитектурный стиль RESTful чаще всего мне в голову приходит термин usability. Конечно, я понимаю, что у этого термина совершенно другой смысл. Юзабилити ассоциируют с эргономикой и удобством пользователя. Есть замечательное по своему пафосу выражением «интуитивно понятный интерфейс», т.е. при выборе операции ты полагаешься не столько на знание возможностей инструмента, сколько на свою интуицию. В этой логике наиболее востребованной кнопкой должна быть ни «да» или «нет», а «может быть».

Впрочем, хватить злословить, теперь по существу. На мой взгляд, юзабельность любого программного инструмента определяется не его эргономикой, а простотой реализованной в нем логической модели. Сущностей должно быть мало. Они должны быть однозначно поименованы. Иметь простой граф изменения состояний и явно заданные отношения. Тогда и не будет возникать вопрос юзабельности. Попытка «упростить», уменьшить complexity другими способами, например изменением взаимного расположения органов управления, согласитесь, выглядит довольно лукаво

PS: Кстати, case management является довольно юзабильным подходом. Вы можете включить в кейс данные, людей, процессы, события так, как если бы они являлись объектами одного и того же типа. Логически кейс – это папка, которая объединяет все что угодно. В традиционном case management вы можете подшить в папку только документы. В advanced case managemnt-е  вы помещаете в кейс совершенно произвольные объекты, в том числе процессы, людей и события.

Другими словами:
ECM, Enterprise content management  – организация разнородного неструктурированного контента, используемого в деятельности предприятия
BPM, Business process management – объединение различных задач в согласованную последовательностей действия для достижения результата
Enterprise 2.0 (Social software) – объединение сотрудников в временные рабочие группы
Adaptive case management – объединение контента, процессов, сотрудников и событий, связанных с конкретной задачей.