课程背景:
软件产品或软件项目的开发成本日益高涨,客户对产品交付时间和交付质量的要求日益提高,这给软件研发团队带来了非常大的挑战。很多企业存在下列常见问题,然而沿用老方法、老思路,很难获得明显的改善。
研发项目总是延期,客户和领导都不满意
交付的产品存在很多质量问题,测试也没有发现,客户怨声载道
技术债务堆积如山,团队协作总是阻碍重重
需求变、计划变、人员变,好像一切都在不停的变,疲于应对
研发效能聚焦的是效率和质量的“双提升”,如何通过对研发效能的专题研究,从而让团队整体树立统一的交付思想和效能目标,并且付诸实践。这是很多企业都在追求的目标。然而,这个目标的实现并不容易,既需要体系化的专业技能,又需要借鉴成功的参考案例。
本课程,面向技术研发经理这个专业化群体,以研发效能提升为核心目标,详细讲解如何带领研发团队提高研发效能和执行力。课程基于技术管理者更宏观更大范围的管理视野,围绕着效能分析、流程优化、质量保证、架构重构、风险管理、变更管理等技能模块,全面覆盖现代软件研发管理理论,并进行实用技能训练。帮助企业提升研发效能。
课程内容包括:
1个目标:提升研发效能。带领团队高效、优质的完成研发项目。
1个模型:技术管理循环模型。全面覆盖技术经理的关注点和核心技能。
6个模块:效能、流程、质量、架构、风险、变更。快速提升技术管理能力。
课程收益:
● 深度理解研发效能理念,能够建立效能度量体系,从而对效能的提升加以衡量;
● 全面理解敏捷开发过程的核心理念与日常管理实操要点,提升敏捷开发效率;
● 用质量保障思维延展质量控制方法,提升软件开发质量;
● 从整体视角优化架构,提升开发效能;
● 提升风险管理技能,防患于未然;
● 应用软件配置管理,拥抱变更,管理变更。
课程时间:2天,6小时/天
课程对象:技术经理、研发经理、技术团队管理者
课程方式:现场讲授,小组讨论,案例分享,现场演练
课程模型:
课程大纲
第一讲:效能解析:诊断瓶颈,激发团队潜力
一、研发效能的影响
1. 研发效能:更高效、更高质量、更可靠、可持续地交付更优的业务价值的能力
2. 影响研发效能的9大因素
工具:研发效能提升检查表
二、研发效能的度量方法
1. 度量体系的3大组成
1)业务价值度量
2)产品交付度量
3)基础能力度量
2. 构建度量体系
第一步:定义目标
第二步:设计指标
第三步:数据收集
第四步:数据分析
第五步:反馈与调整
研讨:构建度量体系的常见问题
第二讲:敏捷过程实践:打造高效、响应快速的开发流程
一、通用开发过程5要素
1. 协作过程
2. 角色职责
3. 活动工件
4. 标准规范
5. 工具支持
二、瀑布模型与敏捷模型
1. 瀑布模型全景图——适合需求稳定的项目
2. 敏捷模型全景图——适合需求多变的项目
案例:敏捷模型提高项目成功率
三、敏捷流程优化方法
1. 理解敏捷4宣言
2. 梳理敏捷流程
3. 开展敏捷思维方式
1)迭代和增量
2)拥抱变化
3)快速交付
4)持续改进
5)自组织团队
研讨:敏捷开发的常见误区
练习:如何改善开发现状
四、敏捷开发中的DevOps
1. 深入理解DevOps
1)开发+运维
2)自动化交付
2. DevOps在敏捷开发中的作用
1)流程自动化
2)快速反馈
3)高效合作
4)全生命周期管理
5)质量保证
6)客户导向
3. DevOps的应用
1)使用场景:运维与开发共同组成敏捷团队
2)工程师的技能要求
a编码能力
b自动化与持续集成
c跨功能技能
d文化与沟通
e负责全生命周期
3)常用工具:GitLab、Ant、Jenkins、Docker
练习:如何强化DevOps思维
第三讲:质量保障策略:构建稳健的质量控制体系
一、为何引入质量保障
1. 软件产品的质量规律
2. 7个维度对比质量保障与质量控制
3. 3个维度提高质量
1)职责
2)范围
3)人员
二、质量保障活动的实施方法
1. 分阶段的质量保障活动
1)需求分析阶段——需求评审
2)设计阶段——设计评审
3)开发阶段——单元测试
4)测试阶段——功能测试、性能测试、回归测试
5)部署和维护阶段——压力测试
6)全程质量管理——指标量化
练习:如何改进质量活动
工具:QA工作内容规范参考
2. 开发中的代码审查
1)代码审查的规范与流程
2)应用代码审查的5项原则
练习:代码审查现状调查
工具:代码审查规范
第四讲:架构优化与演进:推动系统架构的持续优化
一、深入理解架构设计
1. 架构的研究对象:组件、属性、关系
2. 架构的决定因素:非功能需求
3. 架构的核心原则:高内聚、低耦合
4. 架构师的角色
二、分层架构图的表达方法
1. 业务模型
用途:需求分析、业务建模
工具:用例图、泳道图
2. 逻辑视图
用途:静态设计
工具:类图
3. 动态视图
用途:动态设计
工具:对象图、泳道图、状态图
4. 开发视图
用途:组织开发
工具:结构图、包图
5. 物理视图
用途:部署方案设计
工具:部署图、包图
三、架构重构与优化
1. 应对架构熵增
1)架构熵增定律
2)应对架构熵增的6个维度
2. 进行架构重构
1)重构优化9步法
2)重构实践的5大注意事项
第五讲:风险识别与控制:构建风险机制,确保项目稳定推进
一、风险识别
1. 项目风险
2. 技术风险
3. 商业风险
案例:10种常见风险
二、风险管理方法
1. 评估可能性和严重性
2. 制定风险应对策略:规避/减轻/接受/转移
3. 跟踪并监控风险
练习:对当前项目进行风险管理
工具:风险评估表
第六讲:变更与沟通管理:建立变更控制体系与有效沟通
一、配置管理
1. 软件配置管理的作用-确保可追溯性、可复现性和一致性
2. 配置管理的5项活动
1)版本控制——管理代码、文档变更
2)构建管理——管理编译、测试变更
3)变更控制——管理需求、设计变更
4)环境管理——管理环境一致性
5)发布管理——管理环境迁移
练习:如何改进现行的配置管理
二、技术团队实用沟通
1. 倾听与响应框架
2. 沟通3大原则
1)目标感
2)开放性
3)建设性
3. 六大场景沟通方法
1)接收上级任务
2)给下属安排任务
3)向上汇报工作
4)请求帮助
5)批评下属
6)跨部门沟通
练习:项目中的争执
课程回顾、总结、答疑