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