敏捷开发知识体系整体框架
敏捷开发工程实践
项目管理
- 迭代开发
- 风险价值生命周期
- 多级项目规划
- 完整团队
- 每日站立会议
- 任务板
- 燃尽图
需求管理
- 需求订单
- 业务流程草图
- 用例驱动开发
- 用户故事
架构
- 演进的架构
- 演进的设计
- 基于组件的架构设计
开发
- 结对编程
- 测试驱动开发
- 重构
- 代码规范
测试
- 单元测试
- 并行测试
- 测试管理
变更管理
- 持续集成
- 自动构建
- 团队变更管理
敏捷开发管理实践描述
- 定义和特征说明
- 主要角色
- 主要活动和最佳实践
- 主要输入输出
- 工作流程
敏捷开发工程实践描述
- 定义和特征说明
- 应用说明
- 案例说明
敏捷开发核心价值观和原则
敏捷软件开发宣言
个体和互动 高于 流程和文档
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说, 尽管右项有其价值, 我们更重视左项的价值.
敏捷软件开发的核心价值观
敏捷开发的核心理念就是以最简单有效的方式快速打成目标, 并在这个过程中及时地响应外界的变化, 做出迅速的调整.
核心价值观
- 以人为本
- 目标导向
- 客户为先
- 拥抱变化
敏捷开发的原则
- 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
- 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
- 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
- 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
- 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
- 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
- 可工作的软件是进度的首要度量标准。
- 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
- 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
- 以简洁为本,它是极力减少不必要工作量的艺术。
- 最好的架构、需求和设计出自自组织团队。
- 团队定期地反思如何能提高成效,并依此调整自身的举止表现。
敏捷开发管理实践
Scrum
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
Scrum中的角色
“猪”角色
- 产品负责人(Product