敏捷开发的要点
- 小而高度自主的项目团队
- 利益相关者(软件工程师、经理、客户、最终用户)共同组成敏捷开发团队
- 开发人员和客户之间主动和持续地沟通
- 开发和客户是合作关系而不是谈判关系
- 灵活响应变化,支持变化;即使在开发后期,也欢迎需求变更
- 尽快尽早,持续地交付可用软件给客户,交付间隔短至几周
极限编程
- eXtreme Programming,简称XP
- XP使用面向对象方法作为开发范型,包含策划、设计、编码和测试4个框架活动
- 策划:这是一个需求获取的活动,XP团队听取客户的需求,并将需求细分、赋予权值、计算成本。
- 设计:设计上严格遵循KIS(Keep It Simple)原则,尽可能简洁
- 编码:提倡结对编码,即两个人面对同一台电脑共同对一个需求开发代码;两个人可以一个人考虑编码细节,另一个人确保编码规范,从而实时保证质量
- 测试:在编码之前开始建立测试单元,代码修改后即时回归测试策略。测试要着眼于客户可见的,可评审的系统级特征和功能
Scrum
- Scrum是20世纪90年代发展的一种敏捷过程模型
- Scrum强调使用一组“软件过程模型”,每一个过程模型定义一系列开发活动:
-
待定项(backlog):需求优先级列表,待定项中可以随时添加新项,产品经理根据需要评估待定项并修改优先级
-
冲刺(sprint):由一些工作单元组成,必须在预定的时间段内完成
-
日例会:Scrum团队每天召开的短会,一般为15分钟,会上每个成员要回答三个问题:昨天做了什么、遇到了什么困难、明天做什么
-
演示:想客户交付软件增量