TGViewer
Книжный куб Книжный куб @book_cube · 15.8K subscribers
Post #4270 3.23K
Современные методы описания функциональных требований к системам (Writing Effective Use Cases) (Рубрика #Software)

Во время подготовки материалов для своего сайта по System Design (https://system-design.space/) наткнулся в своей библиотеке на книгу Алистера Кокберна про написание функциональных требования. Сам Алистер - один из соавторов Agile-манифеста 2001 года, а также один из главных популяризаторов метода вариантов использования (Use Cases) для описания требований. Самой книге в этом году исполнилось 25 лет, поэтому я решил вспомнить про нее, а заодно про эволюцию подходов к описанию требований.

К концу 1990-х варианты использования стали одним из основных способов описания требований к поведению системы. Однако писать действительно хорошие use case было нелегко - требовались чёткие формулировки и логичная структура, как при написании хорошего эссе. Коберн решил эту проблему на практике, выпустив своё руководство по написанию вариантов использования в 2001 году. Книга подробно разъяснила как документировать сценарии: как определить границы системы (scope), описать актёров, их цели и пошаговый ход взаимодействия. Автор включил реальные примеры и сформулировал ряд правил, помогающих создавать понятные и полезные описания. Такой прикладной подход сделал книгу популярной среди инженеров.

На текущий момент индустрия разработки существенно изменилась. С появлением Agile-команд громоздкие спецификации требований уступили место более лёгким артефактам - таким как user stories (пользовательские истории). Формальные же use case многими стали считаться устаревшими. Однако на практике варианты использования до сих пор применяются, особенно в крупных сложных проектах. Их структурированный формат с проработкой логики и исключений даёт разработчикам понятное техническое задание. Подготовка use case более трудоёмка, но впоследствии экономится время на реализации и отладке требований.

Если же говорить про эволюцию подходов, то с момента выхода книги Алистера появились другие, более гибкие методы, ориентированные на работу с требованиями пользователей

1️⃣ User Story
A user story is a short, informal explanation of a software feature, written from the perspective of the end user.

Этот формат зародился в Agile-разработке: требования формулируются кратко от лица пользователя (по шаблону “As a ..., I want ..., so that ...”). User stories акцентируют ценность для пользователя и благодаря простоте быстро завоевали популярность в Agile-разработке.

2️⃣ Jobs to be Done (JTBD)
Jobs to be Done is a framework that helps product teams understand what job a customer is hiring a product to do — what problem, challenge, or opportunity is so important to them that they're willing to hire your product to address it.

JTBD - концепция, рассматривающая, какую «работу» пользователь «нанимает» продукт выполнить для решения своей проблемы.

3️⃣ Job Story

An exciting alternative for some teams is the job story. A job story is focused less on the user performing some function than on the job to be done by that story.

Формат job story появился как развитие подхода Jobs to be Done. В job story акцент смещён с образа пользователя на саму задачу и контекст её выполнения. Используется шаблон: “When [ситуация], I want to [действие], so I can [результат].” Такой подход чётко обозначает ситуацию и мотивацию, позволяя сконцентрироваться на решении реальной задачи.

4️⃣ Design Thinking

Design thinking is a problem-solving approach that focuses on understanding users’ needs and creating innovative solutions.

Design thinking (дизайн-мышление) – человеко-ориентированный творческий процесс решения проблем: через эмпатию и эксперименты команда ищет нестандартные решения, отвечающие потребностям пользователей.

В общем, книга Алистера сейчас уже устарела, но сам подход к написанию use cases полезно знать, особенно как предшественников очередных модных подходов, которые обыгрывают похожие идеи косметически изменяя формулировки:)

#Software #Architect #SystemDesign #SoftwareArchitecture #Processes
  • ❤ 12
  • 🔥 7
  • 👍 5
More from @book_cube
  1. Oct 14, 2026Обновление по сегодняшнему прямому эфиру с Павлом Голубевым, Principal FDE Manager в Micro…
  2. Oct 14, 2026AI и платформа данных — материалы выпуска №37 Research Insights Made Simple (Рубрика #Data…
  3. Oct 13, 2026Материалы выпуска 3 AImigo S1E9: границы автономности (Рубрика #AI4SDLC) Собрал материалы…
  4. Oct 13, 2026Заходите на прямой эфир с разбором сентябрьской статьи про проектирование обвязки агентов,…
  5. Oct 13, 2026Factory: инженеры становятся менеджерами — а кто тогда остаётся инженером, способным прове…
  6. Oct 12, 2026Harness Engineering: знакомые идеи под одной обложкой (Рубрика #Books) У O’Reilly есть кни…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →