课程背景
21世纪是“快鱼吃慢鱼”的时代!
现代企业的竞争就是“速度”的竞争!!
谁能尽快开发出符合客户需求的产品,谁就是大赢家!!
如何使产品开发周期显著缩短?如何促使企业充分利用外部资源,寻求合作设计、开发和制造的机会,让新产品上市时间更快?
“敏捷化开发”是国外最新提出的着眼于速度竞争的新产品开发管理模式,其基于一系列先进的研发管理方法,采取产品开发与市场投入的速度领先战略,以获得产品开发的时间领先优势,使企业在竞争日趋激烈的环境中获取利益最大化。
软件系统的日益复杂化和用户需求、软件更新的频繁化,加之开发团队分散的工作方式,项目的沟通和平滑管理变得越来越困难。另一方面,如何在多角色分工的情况下,紧扣用户提出的需求,监控其实施,确保用户需求最终落实到产品的各个版本中去,并在产品发行和用户支持等方面提供帮助,响应用户新的需求,推动新的开发周期。
新的开发方法-敏捷开发,有助于开发人员、测试人员和管理人员更快的适应客户需求的变化,快速的发布和提交版本。使得软件的发布能更快捷的满足客户的需求。
敏捷软件开发过程中,有一些新的开发手段,把开发活动和测试活动结合起来。通过敏捷项目管理,可以更好的发挥团队特长,并行开发,合理控制软件版本,有效地提高生产率。
本课程在介绍了敏捷项目一般管理方法基础上,深入地讨论了如何将敏捷化开发应用于其它行业的产品研发活动,使学员同时掌握以上两种方法,在实际工作中能按照实际情况灵活应用。
讲师具有近二十年软件开发、软件设计、需求分析及项目管理经验,长期战斗在软件项目钱眼,精通scrum、极限编程及msf并用于全公司的项目管理,参加多次cmmi5级评估,并有使用敏捷软件开发通过cmmi评估的案例。讲师有多年的授课经验,讲课深入浅出,注重引导学员思考,善于将主题内容融于简单的例子中,让学员通过体会实例掌握知识。
培训收益
1.了解敏捷开发和测试的过程
2.了解敏捷开发过程中,测试用例的编写和测试的执行过程
3.介绍如何进行重构
4.了解敏捷项目管理
5.测试技术实战,通过大量的实例演示使培训人员能够结合实际项目掌握测试技术在软件测试各个阶段的实际应用。
课程大纲
1、案例分析
2、什么是敏捷软件开发
2.1研发中项目管理的典型问题
1)质量
2)交付周期长
3)效率低下
4)交付延期
5)交付不被市场/客户接受
2.2软件管理方法总览
2.3什么是敏捷项目管理
2.4敏捷项目管理的解决之道
总体框架:“需求-构建-发布”的快速迭代
卓越交付:保证正确的构建正确的产品
自组织团队
短周期迭代
可工作的完成标准
价值驱动
基于反馈的改进
风险前移
2.5敏捷项目管理的精要
创造力来源于小而美团队
短迭代的可工作的交付
客户参与
响应变化
交付的价值优于完成的任务
效率通过演进的流程获得
2.6核心价值观
2.7敏捷开发如何提升生产率?
2.8敏捷开发如何提升质量
2.9我是否该敏捷?
2.10敏捷对企业的价值
2.11研讨与演练:我们的痛点在那里?
3、敏捷项目管理提升研发流程的具体实践
3.1项目团队管理-人是最重要
3.1.1敏捷团队的三个核心角色
3.1.2敏捷团队的角色职责
3.2敏捷项目管理
3.2.1敏捷估计-估算扑克
3.2.2delphi估算
3.2.3演练:我的故事要多少工作量?(使用客户内部开发需求)
3.3敏捷项目计划管理
3.3.1迭代计划会
3.3.2计划会序曲-猪与鸡的故事
3.3.3猪与鸡的行为模式
3.4项目过程与风险管理
3.4.1每日立会
3.4.1.1为何站着开会?
3.4.1.2每日立会成功的关键
3.4.1.3现场演练:明天的每日立会
3.4.2燃尽图
3.4.2.1燃烧图的团队“指纹”
3.4.3“迭代期内无变更”
3.4.3.1拥抱变化还是恪守承诺?
3.4.3.2“迭代期内无变更”与研发心理学
3.4.3.3对策:moscow方法
3.4.4故事板 kanban
3.5项目质量管理-高质量的交付
3.5.1评审会与反思会
3.5.1.1评审会序曲
3.5.1.2从外部理解团队目标
3.5.1.3“可运行软件”的标准
3.5.2评审会
3.5.2.1评审会的行为模式
3.5.2.2引导客户表达需求
3.5.2.3现场演练:为三个故事设定完成标准
3.5.3反思会
3.5.3.1现实世界的反思会
3.6大型项目管理
3.7研讨与演练:基于客户团队的实际痛点进行讨论,从敏捷项目管理的角度讨论pg电子试玩网站免费的解决方案
4、敏捷软件开发工程实践
4.1项目需求管理-用户故事-交付最有价值需求
4.1.1用户故事 = 用户 功能 价值
4.1.1.1好故事的四个标准
4.1.1.2切分故事
4.1.1.3现场演练:将三个需求转换为用户故事
4.1.1.4(使用客户内部开发需求)
4.1.2用户建模
4.1.2.1谁在用我的产品?
4.1.2.2现场演练:针对三个需求进行用户建模
4.1.2.3(使用客户内部开发需求)
4.1.3超越敏捷-现实世界的用户故事
4.1.3.1用户故事 = 需求文档?
4.1.3.2复合型的需求文档
4.1.3.3敏捷中的精益理念
4.1.4需求优先级排序
4.1.4.1以团队形式进行排序
4.1.4.2超越敏捷-敏捷生态系统
4.1.4.3用户故事的进化
4.1.4.4敏捷生态系统初探:需求管理
4.1.4.5从客户价值驱动到持续交付客户价值
4.2团队结构与日常开发活动
4.2.1办公环境
4.2.2“特性小组”
4.2.3“松结对编程”
4.2.4“松结对编程”的小组长责任
4.2.5“松结对编程”的工作习惯
4.3重构
4.3.1重构的定义
4.3.2为什么需要重构
4.3.3何时需要重构
4.3.4代码的坏味道
4.3.5各种重构的方法
4.3.6重复的代码
4.3.7重构演练
4.4敏捷测试
4.4.1持续集成和每日构建
4.4.1.1持续集成的概念
4.4.1.2每日构建的概念和意义
4.4.1.3每日构建的实施策略
4.4.1.4每日构建和版本管理的集成
4.4.1.5以每日构建为基础的发布管理和试验环境
4.4.1.6smoke test和持续集成的关系
4.4.1.7bvt automation和non bvt automation是持续继承的有力保证
4.4.1.8通过每日构建和持续集成,使得版本管理不仅仅记录代码的存在和历史,更保证代码的正确性
4.4.1.9典型案例分析
4.4.2自动化测试
4.4.2.1自动化测试概念,局限性
4.4.2.2自动化测试基本理论
4.4.2.3自动化测试实施
4.4.2.4常用工具介绍
4.4.2.5自动化测试成熟度
4.4.2.6自动化测试评估
5、敏捷开发过程中的测试和度量活动
5.1测试驱动开发
5.2持续集成
5.3测试用例设计
5.4构建管理 持续集成 发布管理
5.5敏捷度量-规模
5.6敏捷度量-工作量
5.7敏捷度量-进度
5.8实践演练
6、组织级敏捷部署与绩效管理
6.1敏捷三步走
6.2敏捷成功与否的衡量标准是业务结果(质量、ttm)的改进
6.3首次实施敏捷的参考步骤——八步曲
6.4敏捷角色
6.5项目组团队的组建方式:特性项目组和模块项目组优劣对比
6.6项目级敏捷通用过程模型
6.7项目级敏捷过程样例(版本中项目组全都实施敏捷)
6.8敏捷团队绩效管理
6.8.1谁来管理团队中的个体?
6.8.2敏捷团队的目标
6.8.3从团队外部认识团队目标
6.8.4敏捷开发中的目标管理意识
6.9执行与实施层面的敏捷实践