构建之法读书笔记08

《构建之法》第八章读书笔记:需求分析——从用户视角出发


一、核心观点提炼

  1. 需求的双重性

    • 用户需求(User Requirement):用户用自然语言描述的"我要什么"
    • 产品需求(Product Requirement):团队转换后的"系统要做什么"
    • 关键转化案例:用户说"需要更快的马" → 实际需求是"更快的交通工具" → 产品方案可能是汽车
  2. 需求四象限法则

    graph LR A[需求分析] --> B[功能性需求] A --> C[非功能性需求] B --> D(系统功能) B --> E(业务规则) C --> F(性能指标) C --> G(安全性)
  3. NABCD模型

    要素 说明 实践案例
    Need 用户痛点 外卖App的"预计送达时间"功能
    Approach 解决方案 通过算法结合历史数据+实时路况
    Benefit 带来价值 降低用户等待焦虑
    Competition 竞争优势 比竞品预测准确率高15%
    Delivery 交付方式 渐进式灰度发布

二、需求获取方法对比

  1. 用户调研三板斧

    # 伪代码示例:需求优先级计算
    def calculate_priority(impact, frequency, cost):
        return (impact * 0.6 + frequency * 0.3) / (cost + 1)
    
    # 实际应用:投票法确定需求优先级
    user_votes = {'夜间模式': 87, '语音输入': 65, '主题皮肤': 42}
    
  2. 原型设计工具链

    • 低保真:Balsamiq(快速草图)
    • 高保真:Figma/Axure(可交互原型)
    • 代码原型:React/Vue快速POC实现

三、需求验证实战

案例:校园跑腿系统需求冲突解决

// 原始需求矛盾
public class RequirementConflict {
    public static void main(String[] args) {
        boolean studentWantSimple = true;
        boolean schoolNeedAudit = true;
        
        // 解决方案:中间件模式
        if(studentWantSimple && schoolNeedAudit) {
            System.out.println("实现后台自动审核流程");
            System.out.println("前端仅显示'提交成功'");
        }
    }
}

验证方法

  1. A/B测试对比新旧流程转化率
  2. 眼动仪跟踪用户操作路径
  3. 服务端日志分析功能使用频率

四、需求管理工具实践

  1. 需求矩阵表示例

    ID 需求描述 业务价值 技术可行性 优先级
    F1 微信登录 提高转化率30% P0
    P1 页面加载<2s 降低跳出率 P1
  2. GitHub Issues模板

    ## 需求背景
    [说明为什么需要这个功能]
    
    ## 预期行为
    [描述用户应该看到什么]
    
    ## 验收标准
    - [ ] 测试用例1
    - [ ] 测试用例2
    

五、特别启示

  1. 警惕"金丝雀需求"(管理层个人喜好伪装成用户需求)
    • 验证方法:5 Why分析法追问需求本源
  2. 处理"移动靶需求"三原则
    • 建立需求缓冲池
    • 约定变更决策周期
    • 采用特性开关开发

书中金句

"当用户说不清楚需求时,不是他们没有需求,而是你还没找到正确的打开方式——观察行为比聆听陈述更有效"


六、实践建议

  1. 每周做1次需求走查(Requirement Walkthrough)
  2. 使用"需求嗅探测试":
    # 检查需求文档的坏味道
    grep -E "应该|必须|一定" requirements.md | wc -l
    # 结果>10则需要重新澄清
    
  3. 建立需求追踪矩阵(RTM),确保每个设计元素可回溯到具体需求
posted @ 2025-04-16 22:52  haoyinuo  阅读(34)  评论(0)    收藏  举报