敏捷软件开发
【2023年公开课时间安排】
4月20-21北京 4月27-28上海 4月24-25深圳
9月18-19北京 9月21-22上海 9月25-26深圳
【参加对象】
企业CEO/总经理、研发总经理/副总、公司总工/技术总监、研发项目经理/产品经理、PMO(项目管理办公室)成员、研发骨干、测试、QA等。
【培训课时】12小时
课程背景
21世纪是“快鱼吃慢鱼”的时代!
现代企业的竞争就是“速度”的竞争!!
谁能尽快开发出符合客户需求的产品,谁就是大赢家!!
如何使产品开发周期显著缩短?如何促使企业充分利用外部资源,寻求合作设计、开发和制造的机会,让新产品上市时间更快?
“敏捷化开发”是国外最新提出的着眼于速度竞争的新产品开发管理模式,其基于一系列先进的研发管理方法,采取产品开发与市场投入的速度领先战略,以获得产品开发的时间领先优势,使企业在竞争日趋激烈的环境中获取利益最大化。
软件系统的日益复杂化和用户需求、软件更新的频繁化,加之开发团队分散的工作方式,项目的沟通和平滑管理变得越来越困难。另一方面,如何在多角色分工的情况下,紧扣用户提出的需求,监控其实施,确保用户需求最终落实到产品的各个版本中去,并在产品发行和用户支持等方面提供帮助,响应用户新的需求,推动新的开发周期。
新的开发方法-敏捷开发,有助于开发人员、测试人员和管理人员更快的适应客户需求的变化,快速的发布和提交版本。使得软件的发布能更快捷的满足客户的需求。
敏捷软件开发过程中,有一些新的开发手段,把开发活动和测试活动结合起来。通过敏捷项目管理,可以更好的发挥团队特长,并行开发,合理控制软件版本,有效地提高生产率。
本课程在介绍了敏捷项目一般管理方法基础上,深入地讨论了如何将敏捷化开发应用于其它行业的产品研发活动,使学员同时掌握以上两种方法,在实际工作中能按照实际情况灵活应用。
讲师具有近二十年软件开发、软件设计、需求分析及项目管理经验,长期战斗在软件项目钱眼,精通SCRUM、极限编程及MSF并用于全公司的项目管理,参加多次CMMI5级评估,并有使用敏捷软件开发通过CMMI评估的案例。讲师有多年的授课经验,讲课深入浅出,注重引导学员思考,善于将主题内容融于简单的例子中,让学员通过体会实例掌握知识。
培训收益
-了解敏捷开发和测试的过程
-了解敏捷开发过程中,测试用例的编写和测试的执行过程
-介绍如何进行重构
-了解敏捷项目管理
-测试技术实战,通过大量的实例演示使培训人员能够结合实际项目掌握测试技术在软件测试各个阶段的实际应用。
培训课时
12小时
讲师介绍
James:培训咨询资深顾问
专业背景:
多年高科技企业产品研发和研发管理、产品管理工作经历,先后担任过项目,质量总监,质量副总等职位,在长期的研发管理实践中积累了丰富的技术和管理经验。
在国内某知名通信企业(华为)工作期间,先后从事产品开发、项目管理和产品质量等工作,并作为推行组成员与国际研发管理顶尖咨询顾问在研发及售后服务系统推动公司级研发管理变革(IPD-集成产品开发)。在质量部工作期间,作为EPG成员,开发了需求管理工具R-Manager以及CMM 5级流程,并负责企业内部的推行。
在展讯通信公司工作期间,担任质量部高级经理,任职期间有针对性地将研发管理的业界最佳实践同公司现状相结合,全面建立并优化产品管理体系。同时兼任内部讲师,具有丰富的产品管理实战经验。
在北京联信永益工作期间,作为质量副总成功建立了产品需求、产品定义、立项及整个开发与上市过程的管理,为公司的上市做好了铺垫。
在中国惠普TS-QO产品线,作为高级咨询顾问,成功的打入中国移动总部和建设银行总部,为国字号的企业管理领域市场打开了研发、测试、运维的管理咨询之路。
业务擅长:
在多家电信设备厂商从事过研发以及管理工作,对部门管理、项目管理和团队建设等方面经验丰富。并且在研发流程体系和质量管理体系有丰富的从业经历,沟通能力强,有协作精神;做事认真细致,富于创新。
培训经验:
从事研发管理咨询,先后作为项目核心成员和项目经理成功完成了近20个研发管理咨询项目体系的建设和落地(产品开发流程体系、研发项目管理体系、CMMI软件开发管理体系),在产品开发流程设计、研发项目管理和体系推行方面具有丰富的咨询经验。
目前受众的主要客户如下:
国电南瑞、亚信科技、长城汽车、中通客车、宇通客车、福田汽车、潍柴动力、上海宝信软件、深圳比亚迪微电子、山东鲁光科技、武汉东浦、北京华彩、长城电脑,美菱电器,大唐电信、中国移动总部、吉林移动、河北移动、广西移动、贵州移动、四川电信、国网电科院、正元信息、中联佳裕、山东万博、鲁光信息、广通迅达、伟景行、石化盈科、长春宏达、中国海关、重邮信科、成都吉锐、广州日立电梯、北京华彩、北京蓝讯、升腾资讯、中电华大、西威电子数家企业。
◆研发管理咨询:主要参与及负责的项目如下:
? ==>中国移动总部运营支撑中心
测试管理体系咨询:参与了该咨询项目的现状调研、测试管理流程体系设计、组织结构建议、测试工具及平台规划、测试项目管理体系设计、测试绩效管理体系设计、研发KPI体系设计,2012.12月已结项。
主要用于中国移动总部运营支撑中心管理华为,亚信,惠普等企业的产品质量和人员管理。
? ==>建设银行数据中心
IT运维管理咨询:参与该咨询项目的现状调研、交接维流程体系设计、产品上线运维关键指标设计、运维故障管理流程。
2012.9月已经结项
? ==>浙江蓝讯软件有限公司 (国家安全管理委员会软件定制开发)
研发管理体系咨询项目(研发流程体系、技术平台管理工具与模板体系、研发质量管理体系,CMMI项目),任项目组成员,已结项。
? ==>武汉东浦信息技术有限公司 (东风汽车、东风日产汽车PDM,ERP软件开发)
主导了该咨询项目的现状调研、产品开发流程体系设计、技术平台管理工具与模板体系设计等,CMMI项目,任项目经理,已结项。
? ==>北京石化盈科 (电讯盈科与中国石化的合资企业,主要为中国石化开发油品管理软件)
研发管理咨询:主导了该咨询项目的现状调研,CMMI项目,主导产品开发流程设计。
课程大纲
1、案例分析
2、 什么是敏捷软件开发
2.1 研发中项目管理的典型问题
? 质量
? 交付周期长
? 效率低下
? 交付延期
? 交付不被市场/客户接受
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.2 Delphi估算
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 研讨与演练:基于客户团队的实际痛点进行讨论,从敏捷项目管理的角度讨论解决方案
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.6 Smoke Test和持续集成的关系
4.4.1.7 BVT 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 执行与实施层面的敏捷实践
7、 总结