传统的软件研发方法思想面临着体系庞大、操作不便等诸多问题,而以敏捷开为核心的研发思想受到广大软件开发工程师的青睐。本课程将对敏捷开发中的开发方法进行系统全面的介绍,从敏捷开发的理念、原则到开发过程中的基本实践、关键点予以剖析,对主要敏捷开发技术的主要特点、适用性及关键技术进行比较和分析。
通过实例练习,结合对学员实际应用环境的分析评估,让学员了解敏捷开发技术应用的策略和要点。课程同时将着重介绍SCRUM方法及其应用特点,剖析如何建立SCRUM团队及运作的主要过程,SCRUM团队主要职能及行为要素。通过课堂实例练习,让学员亲身体验SCRUM团队工作的模式。
该课程将在系统介绍理论体系和技术实践的同时,积极鼓励学员参与和互动,课堂实战练习将融合学员的应用环境特点,让学员在课程学习的同时积极计划敏捷开发方法在其实际工作环境中的应用方案,通过课堂活动探讨SCRUM应用中可能遇到的问题及方案,“为敏捷开发技术在实际工作中的应用提供积极有效的帮助”。
& 完成本课程后,在项目中担任不同角色学员能够应用敏捷方法进行项目管理和开发;
& 了解敏捷开发中的常用方法及其特点;
& 了解SCRUM方法及其应用要素,比较与传统软件工程、CMMI软件研发管理方法的差别;
& 学员能够结合项目特点,运用敏捷开发中的常用方法,制定敏捷项目管理计划;
& 学员能够结合项目和组织特点,合理制定敏捷项目管理流程;
& 主持召开各种敏捷会议;
& 应用敏捷需求的形式和方法进行需求管理;
& 根据团队经验和技能水平对需求进行成本估算;
& 应用敏捷方法,按迭代划分系统的功能和交付顺序管理项目;
& 项目经理/产品经理、业务需求分析师、架构分析分员、软件开发工程师、软件测试工程师
& PMO经理、副总经理、研发总监/总裁
第1部分 软件研发模型介绍
² 软件项目生命期概念
u 项目管理生命期
u 软件研发生命期
u 产品实施生命期
观点分享:生命期的比较分析,以及项目经理/软件开发工程师关注度分析比较
² 传统的软件开发生命周期模型及其特点
u 迭代模型
u 瀑布模型
u 增量模型
u 原型模型
u 极限模型
u 螺旋模型
问答方式:各种软件研发模型的优缺点分析,以及软件开发模型选择的思考。
² 敏捷思维
u 预定义过程控制VS经验性过程控制
u 软件企业使用瀑布模式普遍面临的问题
u 软件项目中的复杂性与简单性
u 预定义过程控制VS经验性过程控制
u 项目管理三角形与八边型
u 传统的软件开发方法基于了一个错误的假设
u 敏捷方法认为需求是涌现式的,范围是不确定的
² 什么是敏捷
u 敏捷概念
u 敏捷宣言的由来
u 敏捷宣言/敏捷原则
课程研讨:敏捷开发Agile与CMMI研发管理、传统软件工程的分析比较及优劣势分析
第2部分Scrum概述
² Scrum概要、框架及流程
u SCRUM价值观、起源、历史
u SCRUM概要、框架、流程
u Sprint燃尽图
u Sprint评审会
u Sprint回顾会
u 潜在可交付的产品增量
u SCRUM三大支持
² Scrum精要
u Sprint破解
u Sprint误用
u Scrum会议
u Scrum团队
u Scrum Master
u 产品负责人
案例分析:简单的陷阱
第3部分 敏捷需求管理
² 敏捷需求概述
u 从一个经典的例子看需求
u 在我们的需求体系中会遇到什么?
u 需求是涌现式的
u 需求管理是一个知识发现的过程
u 需求管理是一个依赖于沟通协调的活动
u 需求管理的本质
u 使用用户故事作为需求管理的载体
² 用户故事
u 用户故事定义
u 用故事的特点
u INVEST用户故事
u 一个卡通产品电子商务网站的例子
u 练习:编写用户故事
u 如何描述需求细节?
u 细节通过更小的子故事实现
u 细节通过验收条件来表现
u 如何分解用户故事
u 用故事树把故事串起来
u 用户故事的大小
u 为什么要使用用户故事
² 产品BACKLOG
u 产品BACKLOG
u 一个产品BACKLOG的例子
u 产品BACKLOG的金字塔
u 产品BACKLOG优先级排列技巧
u 梳理产品BLACKLOG
u 优先级排列需要考虑到因素
u 优先级计量方式
u 练习:产品BLACKLOG优先级的排列
u Sprint计划会议与Sprint Backlog高阶技巧
u Sprint评审会议与Sprint回顾会议高阶技巧
u 产品负责人与产品Backlog高阶技巧
u 发布计划会议高阶技巧
u Scrum Master高阶技巧
² 案例分析:需求开发管理最佳实践
u 最佳实践1:项目管理生命周期的需求管理实践
u 最佳实践2:做好需求管理的通用实践
u 最佳实践3:XX研发管理--需求管理工具系统简介
第4部分 敏捷估算与计划
² 敏捷估算
u 讨论:估算以下四个案例要花费多少时间?
u 敏捷估算的基本策略:估算规模
u 通过规模推算时间表
u 用户故事估算
u 用户故事规模的计量单位
u 估算的技巧
u 估算的方法
u 练习:使用估算扑克进行估算
u 如何将用户故事拆分到任务
u 任务估算及计量单位
u 任务估算的特点
² 敏捷计划
u 敏捷计划的特点
u 多层次的计划
u 产品/发布/Sprint计划
u 满意条件驱动计划的执行
u 发布计划
u Sprint计划
u Scrum项目的进展跟踪及报告机制
l 任务板的作用及示例
l 关于卡片
l Sprint燃尽图及反映Sprint进展状况
第5部分 敏捷开发最佳实践
² 敏捷工程实践
u XP的12个有效实践
u 持续集成
u 自动化测试
u 导入敏捷工程实践的建议
² 大型团队的Scrum实施
u 产品负责人团队
u 多Scrum团队的Sprint计划会议
u Scrum of Scrums 进行沟通和协作
² 角色转换
u 分析员
u 项目经理
u 架构师
u 职能经理
u 程序员
u 测试员
u 角色转换的共同挑战
² Scrum导入模式
u 成立实施推进小组
u ETC职责
u 改善计划的Backlog示例
u 制定Backlog的基本方针
u 设置和管理期望
u Scrum实施评估
u 全面转型VS小团队试点
第6部分 案例分析
² 案例名称:SalesForce的全面转型
² 选择什么项目试点
² 敏捷成功之路
² 我们该如何进行敏捷的成功之路