Skip to content
难度重点
建议时长45分钟

7.3.7 敏捷方法 ​

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

敏捷为什么出现 ​

前面的很多模型都担心需求变化:瀑布尤其怕变化,V 模型虽然提前考虑测试,但本质仍偏线性。现实项目中,需求变化、客户反馈、市场节奏和技术不确定性都很常见。敏捷方法用“小步快跑”的方式应对变化:短周期交付、客户直接参与、团队快速沟通、计划随变化调整。

课堂也指出:敏捷在有些教材中归为开发方法,有些归为开发模型;在软件设计师这门课中,把它放在开发模型部分复习即可。

敏捷的统一思想 ​

思想解释
小步快跑以短周期迭代交付可运行版本
客户参与谁使用系统,谁配合开发反馈
合作为重团队内部、团队与客户都要沟通合作
适应性计划一旦需求变化,快速调整计划
自动化测试用自动化提高反馈速度和回归效率
持续集成小版本按日甚至按小时集成和交付

敏捷不是“没有计划”,而是计划要能随着反馈不断调整。

XP:软考常考的敏捷方法 ​

XP 是 Extreme Programming,极限编程,不是 Windows XP。课堂强调软件设计师中常考 XP,它有四大价值观、五大原则和十二项最佳实践。

四大价值观 ​

价值观含义
沟通团队内部、团队与客户持续沟通
简单尽可能用简单设计满足当前需求
反馈有问题尽早反馈,快速调整
勇气有勇气面对变化、重构和修改

五大原则 ​

原则含义
快速反馈尽早发现问题
简单性假设不为未确认的未来复杂性过度设计
逐步修改小步调整,而不是一次性大爆炸修改
提倡更改把变化看作正常输入
优质工作保持质量和可持续节奏

十二项最佳实践 ​

实践解释
计划游戏快速制定和调整计划,应对变化
小型发布尽早向用户交付可运行版本
隐喻用共同理解的比喻帮助沟通
简单设计只处理当前需求,保持设计简单
测试先行先写测试,再写程序
重构重新审视并改进设计和代码结构
结对编程两人协作,一人写一人看,快速发现问题并降低人员流失风险
集体代码所有制团队成员都可以理解和修改代码
持续集成频繁集成,按日甚至按小时提供可运行版本
每周 40 小时工作制保持优质工作和可持续效率
现场客户用户代表全程配合开发团队
编码标准统一代码风格,降低沟通和维护成本

敏捷实践为什么替代旧做法的一部分 ​

传统痛点敏捷实践的回应
需求变更反馈慢,等几天才确认现场客户和客户协作
缺陷发现晚测试先行、自动化测试、持续集成
一个人离职导致代码没人懂结对编程、集体代码所有制
版本交付周期太长小型发布、短迭代
设计越来越乱重构、简单设计、编码标准

敏捷不是银弹。它更适合小团队、变化快、客户能持续参与的项目;如果项目必须严格强文档审批、客户无法参与、监管流程极重,就需要结合传统过程管理。

例题 ​

单选
敏捷方法的典型思想是:
单选
软件开发模型中的 XP 指:
单选
先写测试代码,再编写具体程序,属于 XP 的:

自查要点 ​

  1. 敏捷为什么能更好适应需求变化?
  2. XP 的四大价值观是什么?
  3. 结对编程除了发现问题,还能降低什么风险?
  4. 测试先行和持续集成分别解决什么问题?
  5. 敏捷适合什么样的团队和项目?