Scrum的角色
项目负责人PO
负责分析项目的商业价值,决定该项目应该完成的工作,<br>并对其进行排序,制作并维护product backlog
敏捷主管SM
激发团队活力,推动每日的工作,促进项目成员间的正常交流,并扫除敏捷过程中的障碍
开发团队
负责每日的开发生产工作,是冲刺的执行主体
项目干系人
除了以上三个角色外,还包括客户,用户,主管等
敏捷教练
传授敏捷方法的人,并不直接参与到项目执行中
Scrum的工件
Product Backlog
一个记录了产品特性的列表,并按照特性的商业价值进行排序
Sprint Backlog
当前冲刺中需要完成的任务
Product Increment
每次冲刺结束后可发布的产品
Burndown Chart
当前冲刺过程中剩余的工作时间
看板
Scrum的仪式
冲刺计划会议
PO,SM以及开发人员决定当此冲刺应该处理的任务以及冲刺结束后发布的产品
每日例会
一个简单的会议,由SM主持,开发人员汇报当前的工作情况,遇到的障碍以及之后的计划
冲刺评审
由PO向项目干系人展示当此冲刺的产品及其功能,并收集相关反馈
冲刺回顾
由PO,SM以及开发人员讨论回顾当次冲刺存在的缺陷,以及可能的解决方法
产品backlog细化
冲刺回顾
PO,SM以及团队成员回顾和总结当次冲刺存在的缺陷与不足,并提出改进的意见
参与人员
SM(主持人)
PO
开发人员
可能还会有项目干系人
会议关键
活跃会议气氛,让团队成员能够积极参与进来
讨论需要时刻关注重点,不应该分散
优势
刺激和鼓舞开发人员的士气
挖掘优秀的开发经验和方法
避免犯相同的错误
改进团队气氛
敏捷开发主要框架
XP
XP是一种近螺旋式的开发过程,通过将项目分解为多个小周期,<br>积极沟通反馈,从而调整开发过程,让客户了解项目进度
ASD
ASD是迭代开发的一种,每次迭代包括推测,协作以及学习三个阶段,共同推进项目的进程
FDD
FDD是轻量级的敏捷开发方式,融合了多种行业认可的最佳实践,能够快速地向客户展现有价值的软件
TDD
AUP
AUP是简化版的RUP,包括7个方面:建模,开发,测试,发布,配置管理,项目管理,环境管理
敏捷的12个原则
针对人的
在整个项目开发周期中,业务人员应该与开发人员一起工作
项目由有激情,可信的人合作完成
在团队中面对面沟通效率最高
每隔一段时间,团队成员应该进行自我反思和调整
针对计划的
即使在开发后期也应该接受变更
工作的软件是衡量进度的首要标准
敏捷开发过程应保持稳定的开发节奏
不做过度的设计和预测
针对产品的
应该尽早向客户交付有价值的程序
交付的频率应该越高越好
最好的架构和设计来源于自组织的团队
不断关注新的技术和设计
敏捷工程实践
结对编程
由两个人完成代码的编写,一人负责实施,一人从旁监督提醒
优势
及早发现编码中存在的缺陷
提升代码质量
促使团队在知识层面上更容易达成共识
持续集成
开发人员经常性地构建他们的工作,每天至少集成一次
优势
能够更直接地反应当前的项目进度
能够及时发现集成后的缺陷并可以立即修复
避免缺陷在最终集成时的堆积
关键
集成耗时因该尽可能短
需要有完备的自动化测试工具以及测试用例
修复失败的构建是开发人员最优先的任务
集成结果应该向所有成员公开
测试驱动开发
以测试作为编程的中心,要求在编写代码前必须完成测试用例,并且围绕用例进行编码<br>TDD还要求测试必须可自动化完成
关键
测试用例需要设计完备,同时不能有依赖关系
测试用例代码与开发代码都需要简洁