1.课程描述
本课程从分析软件开发过程中所面临的常见问题入手,深入探讨传统的响应式软件开发模式所带来的种种弊端,通过讲解以人为核心的敏捷软件开发价值和原则,阐述敏捷开发的主要过程和公共实践,与此同时也对敏捷过程的最佳实践的选择和何时采用作了精辟而详细的分析,最后以实际开发案例将理论和实践贯穿于开发全程,以达到软件开发团队具有快速工作、响应变化能力的目标,摆脱缠绕隐藏于软件开发中的危机。
2.课程特点
• 敏捷方法论实现以国际流行的Scrum方法论和XP方法论相结合
• 课程采用讲师演示、学员讨论及现场案例实践方式交错授课;
• 采用敏捷团队理念完成整个案例的实践,课堂节奏紧张,知识的获取均是个人现场实践体验获得
3.培训目标
• 敏捷--Scrum方法
• Scrum敏捷项目管理
• 基于敏捷软件开发的实践—工欲善其事,必先利其器
• 基于Scrum+XP混合敏捷方法实践项目实战
4. 课程长度:4天(每天6-7课时)
敏捷项目管理实战
|
时间
|
课程内容
|
第一天
上午
|
学习准备
划分学习小组,每组5-9人,坐一起。整个学习过程以稳定的小组方式进行互动、研讨、实践。
敏捷的价值观、原则、究竟什么是敏捷?为什么需要敏捷?
1.案例讨论,对比敏捷迭代开发与瀑布开发的区别,敏捷快速交付的优势
2. 项目开发延期原因分析
2.瀑布、敏捷、精益的适用范围
3.敏捷宣言及价值观、原则
讨论:结合自己组织,小组讨论,找出最重要的原则
Scrum框架与流程概述
1.Scrum的起源及历史
2.Scrum的理论基础
3.Scrum的框架和流程
练习:以小组为单位讲解Scrum框架
敏捷原则详解
讨论:结合实际工作,探讨敏捷原则的实用价值和实施挑战
|
第一天
下午
|
产品规划
1.产品商业论证
2.概要产品列表
3.产品路线图
4.版本规划
第一天实战:团队为单位完成产品规划,成果包括商业论证报告、初始PB列表、版本规划
实战作业讲评研讨
选取代表小组分享实战作业成果,共同研讨优缺点
Scrum核心概念
1.冲刺;
2.用户故事;
3.产品列表(PB);
4.估算与速率;
实战练习:将PB列表以用户故事的形式进行描述,并排列优先级、完成估算;
|
第二天
上午
|
Scrum中的角色与职责
1.产品负责人Product Owner的职责、谁适合当PO?
2.Scrum Master的职责、Scrum Master跟传统项目经理的区别、优秀Scrum Master的特质
3.探讨:Scrum Master跟PO可不可以是同一个人?Scrum Master可不可以兼职?
4.开发团队的特征与职责、如何打造自组织高效团队?什么是团队工作协议(Working Agreement)?什么才是适合敏捷团队的工作环境?
实战练习:角色分工PO、SM、团队;探讨思考PB形成和梳理过程中,团队是如何分工协作的?
实战作业讲评研讨
选取代表小组分享作业成果,共同研讨优缺点
Scrum冲刺规划
1.准备:时间安排、参与者、流程;
2.冲刺规划的方式
3.确定生产能力
4.选取PBI
5.细化冲刺目标
实战练习:召开冲刺规划会,完成第一个冲刺的规划工作,产生冲刺计划成果。
|
第二天
下午
|
Scrum冲刺执行
1.任务分配
2.每日例会
3.任务执行:具体实现
4.沟通工具:任务板、燃尽图
实战练习:界定冲刺周期为一周,制作初始任务板和燃尽图。任务分工,执行任务(设计界面原型即可)、召开每日例会、更新任务板和燃尽图、形成冲刺增量成果
实战作业讲评研讨
选取代表小组分享作业成果,共同研讨优缺点
Scrum冲刺评审会
1.准备:参与者、日程、准备工作及分工
2.方法:总结、演示、讨论、调整
3.后续调整安排
实战练习:各组完成评审会相关准备工作,选取代表小组演示,集体讲评研讨
Scrum冲刺回顾会
1.准备:参与者、日程、定义回顾重点、收集客观数据、安排练习活动
2.方法:营造氛围、建立共同背景、事件时间线、得出见解、确定采取行动
3.后续贯彻执行
实战练习:各组练习回顾会,选取代表介绍本组回顾会过程及成果,集体讲评研讨
|
第三天
上午
|
敏捷实践技术介绍(XP)
1.持续集成
2.结对编程
3.TDD(测试驱动开发)
4.Code Review
5.重构
6.发布规则
讨论:已知方法在实践中的经验和挑战,更多好的最佳实践分享
实战强化模拟第二轮冲刺(周期为1周):
1.召开冲刺规划会
2.冲刺执行
3.冲刺评审
4.冲刺回顾
各小组演示成果,探讨疑问,分享体会。
|
第三天
下午
|
如何在项目管理系统中完成Scrum管理过程
1.准备:准备项目管理软件
2.维护PB列表
3.维护冲刺需求列表及分解任务
4.冲刺执行跟踪
5.质量工作的参与
6.燃尽图
实战练习:在项目管理工具中,维护Scrum过程中的阶段成果,开展管理工作。小组展示成果,集体研讨问题。
实践中的问题研讨和总结总结本次学习的主要框架内容;
共同研讨Scrum实践中的常见挑战问题
案例分析
大型商业银行组织级敏捷实施案例分享
|
第四天
上午
|
DevOps概述
传统IT交付模式及问题
DevOps转型原因分析
DevOps交付原则
DevOps 实施的三步工作法:流动、反馈、持续学习和实验;
DevOps 的常见误区分析
DevOps 现状调查报告、业界DevOps发展趋势及关键成功因素
持续交付
持续交付概述
配置管理 版本控制 依赖管理
配置管理 环境管理
部署流水线
什么是部署流水线
部署流水线相关实践
如何实现一个部署流水线
DevOps与部署流水线概述
DevOps的知识体系及关键要素
部署流水线介绍与企业案例分析
全开源端到端部署流水线解析
|
第四天
下午
|
部署流水线关键实践
需求管理:特性和Issue管理
代码管理:分支策略、Code Review、Infra as code
集成管理:持续集成策略、Pipeline as code
制品库管理:单一制品原则、版本规划
测试管理:自动化测试、测试分级
基础设施管理:容器、不可变基础设施
部署管理:自动化部署、配置中心
部署流水线完整演示
示例项目介绍
工具链整体介绍
开发工具:Git、Maven、Artifactory、Sonar
交付工具:Gitlab、Jenkins、Docker、Harbor
测试工具:Selenium、JMeter
运维工具:Ansible、Kubernetes、ELK、Grafana
案例分析
大型商业银行DevOps实施案例分享
|
5. 讲师介绍
程老师 基本情况
1、敏捷及精益咨询师,拥有超过20年以上的软件研发经验。有多年的银行业务软件研发经验,以及11年以上实施Scrum的敏捷开发经验,15年的软件架构,项目管理,敏捷方面 培训经验,目前在一家软件公司主要为银行、民航、电信等企业提供企业级技术解决方案。
2、曾在IBM中国软件开发中心(CDL)服务超过6年,历任Solution Architect,
Project Manager。
3、目前在指导和实施公司级的工程效率改进工作,为持续集成平台、构建集群、编译管理平台,项目管理平台提供架构支持,在重点产品线推进持续集成与持续交付,敏捷需求及迭代管理工作。
4、还曾为银行、电信、互联网公司等实施敏捷和组织转型方面的咨询,以及提供辅导和培训服务。
教育状况
时间 大学/学院 专业/研究方向 学历
1998.09—2001.06 中国科学院软件研究所 计算机软件 硕士
工作经历
2001.07—2007-04 IBM中国软件开发中心(CDL) 高级项目经理、开发工程师
2008.3—至今 国内某大型上市软件公司技术总监
资质证书
nCertified Scrum Master
nCertified SAFe Agilist
nPMP Project Management Professional
nSun认证SCJP、SCDP、SCWSD
nBEA Weblogic Server8.1,9.0系统管理员
n微软的MCSD