软件过程与管理期末复习 - 敏捷软件开发
一、敏捷宣言(2001年发布)
由17位软件开发专家签署,包含四大核心价值观:
-
个体和互动 高于 流程和工具
-
工作的软件 高于 详尽的文档
-
客户合作 高于 合同谈判
-
响应变化 高于 遵循计划
备注:并非否定右侧内容,而是优先重视左侧价值。
二、敏捷十二条原则
-
尽早、持续交付有价值软件,优先满足客户;
-
拥抱需求变更(项目后期也接受);
-
高频交付可运行的软件版本;
-
业务人员与开发人员全程协作;
-
围绕积极的团队成员搭建项目,提供配套支持;
-
面对面沟通是最高效的信息传递方式;
-
可运行的软件是衡量项目进度的核心标准;
-
保持可持续、稳定的开发节奏;
-
持续追求技术卓越与优秀设计;
-
简化流程,减少无用工作量;
-
优秀架构、需求、设计来自自组织团队;
-
团队定期复盘,持续优化工作方式。
三、主流敏捷过程
常见框架:XP(极限编程)、Scrum、ASD、水晶方法体系。
1. 极限编程(XP)12个核心实践
-
现场客户:客户代表全程参与项目;
-
计划游戏:业务方与开发共同制定计划;
-
系统隐喻:用通俗隐喻定义系统架构;
-
简单设计:保持架构与代码极简;
-
代码集体所有:全员可修改项目代码;
-
结对编程:两人搭档协同编码;
-
测试驱动:先编写测试用例,再开发代码;
-
小型发布:频繁迭代发布小版本;
-
重构:持续优化代码结构,不改变功能;
-
持续集成:每日多次合并代码;
-
每周40小时工作制:保障可持续工作状态;
-
代码规范:统一团队编码标准。
2. Scrum 敏捷框架
(1)三大角色
-
产品负责人:维护产品需求列表,代表利益相关方;
-
Scrum Master:保障流程落地,清除团队障碍;
-
开发团队:跨职能自组织团队,完成迭代开发。
(2)四个仪式(会议)
-
Sprint计划会议:迭代初期梳理需求、制定计划;
-
每日站会:15分钟短会,同步进度、问题;
-
Sprint评审会议:迭代结束演示成果、收集反馈;
-
Sprint回顾会议:迭代复盘,优化流程。
(3)三个工件
-
产品Backlog:项目全部需求清单;
-
Sprint Backlog:当前迭代细化后的任务清单;
-
燃尽图:可视化展示迭代未完成任务量。