把设计思维、领域故事与 API 需求一把抓:Will、Mary、George 三角色实战演练

作者:API传播员 · 2025-11-07 · 阅读时间:6分钟

在设计思维的流程中,第一步是理解、观察并定义用户的需求和问题。这一阶段的目标是深入挖掘用户的痛点和期望,从而为后续的解决方案开发奠定基础。此时,团队需要打开问题空间,通过创新思维探索潜在的解决方案,想象力是无限的 🌟。

> 💡 想让指标可衡量、团队节奏更透明?「[开发任务管理系统 KPI](https://prompts.explinks.com/task_kpi_generator?from=explinks&sulg=design-thinking-domain-storytelling-api)」提示词可帮你基于 AI 超级提示词,快速制定与业务成果对齐的 KPI,兼顾用户参与度与交付质量!

## 一. 现实场景中的问题与挑战 ⚠️

设想一位 IT 顾问长期为客户开发产品,但始终面临以下困境:

– 没有足够的时间研究潜在客户的真实需求和愿望
– 报价要么因为高风险溢价而过于昂贵,要么因为低估成本而导致亏损

在这种情况下,公司负责人往往难以判断哪种结果更糟。这种困境促使他组建了一个由多领域专家组成的团队,试图找到有效的解决方案 🤝。

## 二. 角色设定:从不同视角理解问题 👥

为了更好地分析问题,团队设计了三个关键角色,并基于这些角色的背景和需求开发了相应的解决方案。

### 1. Will:机械工程公司的董事总经理 👔

– **背景**:66 岁,机械工程领域的资深人士,熟悉国内外市场
– **需求**:为了在竞争激烈的市场中生存,他需要扩展公司产品线,尤其是数字化产品
– **目标**:订购数字孪生、维护预测以及耗材自动订购等数字化服务

### 2. 玛丽:IT 咨询公司的创始人 👩‍💼

– **背景**:39 岁,计算机科学专业毕业后曾在大型咨询公司任职,后因家庭原因创办了自己的企业
– **现状**:目前经营着一家拥有近 50 名员工的 IT 咨询公司
– **需求**:在兼顾家庭和事业的同时,提供高效的 IT 解决方案

### 3. George:IT 咨询公司的开发人员 👨‍💻

– **背景**:计算机科学专业毕业,现为玛丽的公司效力
– **现状**:热衷于技术开发,但对报价估算感到不满
– **挑战**:报价要么过高导致客户流失,要么过低导致成本超支。他因此立誓不再参与报价估算

## 三. 创意探索:从想法到解决方案 💡

基于上述角色,团队开始头脑风暴,提出了多个创意。然而,许多想法因以下原因被否决:

– 过于理想化,难以实际落地
– 已有类似解决方案存在
– 涉及法律或政策的重大调整

尽管如此,团队最终发现了一个具有潜力的创意,并为其绘制了初步的草图。这一创意有望解决当前的困境,并为用户提供更高效的服务。

> 🛠️ 写完原型别忘了跑「[代码优化](https://prompts.explinks.com/code_optimization_tools?from=explinks&sulg=design-thinking-domain-storytelling-api)」提示词,一键诊断慢查询与重复请求,让创意验证提速 30 %!

## 四. 领域故事:把角色痛点翻译成 API 需求 🗺️

| 场景 | 领域故事(用户-系统对话) | 隐含 API 需求 |
|——|————————-|————–|
| Will 想为老旧机床添加“数字孪生”服务 | Will 浏览服务目录 → 系统推荐 IoT 套件 → Will 下单 → 系统返回预测性维护报告 | `GET /digital-services?category=iot`
`POST /orders`
`GET /reports/{orderId}/predictive` |
| Mary 需要快速估算 50 人月项目的报价 | Mary 输入需求 → 系统调用历史数据 → 返回区间报价 & 风险系数 | `POST /quotes/estimate`
`GET /analytics/risk?projectType=it-consulting` |
| George 拒绝再手动估算 | George 提交代码库 URL → 系统扫描功能点 → 自动生成估算 & 置信度 | `POST /estimates/from-repo`
`GET /estimates/{id}/confidence` |

## 五. 快速原型:用 Swagger 定义“报价估算 API” 🚀

“`yaml
openapi: 3.0.0
paths:
/quotes/estimate:
post:
summary: 基于角色与需求生成区间报价
requestBody:
content:
application/json:
schema:
type: object
properties:
role: {type: string, enum: [will, mary, george]}
requirements: {type: string}
historicalProjectsCount: {type: integer}
responses:
'200':
description: 区间报价与风险系数
content:
application/json:
schema:
type: object
properties:
minQuote: {type: number}
maxQuote: {type: number}
riskLevel: {type: string, enum: [low, medium, high]}
“`

> 📖 想给业务同事一份秒懂的接口文档?「[代码文档生成器](https://prompts.explinks.com/standard_code_docs?from=explinks&sulg=design-thinking-domain-storytelling-api)」可自动生成标准化字段描述、请求/响应示例与错误码,让协作零阻力!

## 六. 实战:用 Python 快速生成“角色驱动报价”API 🐍

“`python
from flask import Flask, request
import random

app = Flask(__name__)

@app.post("/quotes/estimate")
def estimate():
data = request.json
role, req, count = data["role"], data["requirements"], data["historicalProjectsCount"]

# 模拟角色系数
factor = {"will": 1.5, "mary": 1.2, "george": 1.0}[role]
base = len(req.split()) * 10
min_q = int(base * factor * (0.8 + count/100))
max_q = int(base * factor * (1.2 + count/100))
risk = ["low", "medium", "high"][count % 3]

return {"minQuote": min_q, "maxQuote": max_q, "riskLevel": risk}

if __name__ == "__main__":
app.run(debug=True)
“`

启动服务后测试:

“`bash
curl -X POST http://localhost:5000/quotes/estimate \
-H "Content-Type: application/json" \
-d '{"role":"will","requirements":"digital twin predictive maintenance","historicalProjectsCount":12}'
“`

返回示例:

“`json
{"minQuote": 576, "maxQuote": 864, "riskLevel": "medium"}
“`

## 七. 常见疑问 ❓

**Q1. 领域故事与 User Story 有何不同?**
→ 领域故事强调“用户-系统”对话序列,更直观暴露 API 调用链;User Story 侧重价值与验收条件。

**Q2. 故事写多长合适?**
→ 每条故事 3–7 步即可,过长可拆分子故事;保持“对话式”语言,避免技术术语。

**Q3. 如何验证故事完整性?**
→ 用“故事走查”工作坊,邀请真实角色扮演者朗读对话,确认无缺口或歧义。

## 八. 结语 🏁

用设计思维深挖痛点,再用领域故事把痛点翻译成可执行的 API 需求,最后结合原型快速验证——Will 的数字化订单、Mary 的区间报价、George 的免手动估算,都能在同一套故事驱动流程中一次性落地 ⚙️。

先用「[代码生成](https://prompts.explinks.com/code_generator_function?from=explinks&sulg=design-thinking-domain-storytelling-api)」快速产出 MVP 接口,再用 KPI 面板持续监控故事覆盖率与需求变更频率,你的 API 将真正“讲故事”,也更贴近用户心声 🎯!

原文链接: https://t2informatik.de/en/blog/design-thinking-domain-storytelling-api/