课程简介
数字数时代的软件研发需要先进的软件工程能力,本课程聚焦大型软件企业在软件工程领域的最佳实践与经验总结,为学员带来企业级全方位的软件工程能力提升与落地实践的经典案例解读。
目标收益
深入理解软件工程的时代背景和重要性
全面掌握中大型企业在软件研发各阶段(需求,设计,开发,测试,运维)的最佳实践
全面掌握软件研发过程优化的主流实践与方法
帮助提升企业级软件研发的工程能力
理解研发过程中的常见误区,避免实施中的踩坑
解决企业级软件研发过程中典型问题,并提供性解决方案
深入理解国内外厂商在软件工程能力提升上的实践与探索
深入理解互联网大厂和传统企业的成功/失败案例
培训对象
软件研发负责人,研发管理负责人,运维负责人,DevOps负责人,测试负责人,工程效能负责人
研发管理人员,研发流程工程师
软件架构师,资深研发工程师
测试架构师,资深测试工程师
运维架构师,资深运维工程师,DevOps工程师,SRE
课程大纲
软件研发过程优化导论 |
1.为什么你的软件研发越来越慢,成本越来越不可控? 2.当今软件研发的本质 3.软件工程的四大内在属性 4.软件的规模与复杂度困局 5.软件技术债务的种类与特点 6.质量和效率真的不可兼得? 7.软件研发过程优化的体系化方法 8.软件研发成本估算的可行性 |
理想中的软件研发与现实中的软件研发 |
1.软件企业研发过程中遇到的主要问题 2.研发过程改进和优化的核心思路 3.互联网企业研发过程优化对软件工程的启发 4.敏捷研发模式的理想和现实 5.敏捷研发模式的主要误区与应对措施 6.案例:传统软件企业的研发过程优化案例 7.案例:互联网企业的研发过程优化案例 |
软件研发中的需求分析 |
1.如何应对产品经理的“一句话”需求 2.需求质量对软件研发的重要性 3.需求问题空间和软件解决方案空间的异同 4.需求优先级评估的卡农模型 5.需求团队和研发团队的常见合作模式与主要问题 6.需求团队和研发团队的改善探索:基于业务架构师的实践 7.需求颗粒度(大小)的把控原则 8.需求拆分的常见问题与应对策略 9.需求管理的多种形式和应用场景(瀑布模型 VS 敏捷模型) 10.需求变更的应对方法和最佳实践 11.需求不明确以及需求不稳定的主要应对措施 12.版本发布模式与需求管理 13.案例:传统软件产品需求分析案例详解 14.案例:互联网软件产品需求分析案例详解 |
本地开发与开发者自测的工程实践与流程优化(上) |
1.高效获取一致性的本地开发环境 2.基于AI精准提升的代码输入效率的常用工具 3.基于Copilot的开发模式 4.整洁Git的设计 5.前端低代码能力与常用工具 6.后端低代码能力与常用工具 7.本地编译加速的常用方式与工具 8.commit message的规范 9.code search平台的使用 10.个人本地测试的测试环境管理与提效 11.第三方依赖库的管理 12.软件成分分析与代码安全流程优化 |
本地开发与开发者自测的工程实践与流程优化(下) |
1.开发者自测与测试左移的关键实践 2.代码静态质量的前期把控 3.代码动态质量的前期把控 4.静态代码扫描的流程优化 5.单元测试普遍做的不好的根本原因 6.单元测试的实用范围分析 7.单元测试与代码覆盖率的关系 8.提升单元测试执行效果的关键实践 9.单元测试的自动生成技术原理解读 10.单元测试的代码管理 11.单元测试的测试版本管理 12.单模块的接口测试与Mock 13.代码覆盖率统计与质量门禁 |
代码质量提升与代码评审 |
1.代码评审普遍实施不到位的根本原因 2.代码评审的开展时机 3.代码评审的核心理念 4.代码评审的最佳实践(小批量、多批次、找对人) 5.代码评审的责任认定 6.如何提升代码评审本身的质量 7.代码评审的常用工具体系 8.代码评审的典型案例分析与解读 9.代码评审的社会学属性探究 10.代码委员会机制与代码评审流程改进 11.代码评审的其他最佳实践 |
持续集成(CI)的工程实践与流程优化(上) |
1.持续集成(CI)流水线的整体解读 2.持续集成(CI)流水线的主流实践与工具 3.持续集成(CI)完整步骤详解与最佳实践 4.代码合流CI流水线的设计 5.代码合流CI流水线的扩展能力 6.慢SQL扫描的扩展 7.典型分支模型解读与适用场景分析(主干开发,Github Flow,GitFlow,AOne Flow) 8.影响分支模式选择的主要因素 9.分支模型的流程优化与定制 10.分支模型的典型问题与应对策略 11.开发协作模式的选择 |
持续集成(CI)的工程实践与流程优化(下) |
1.静态代码检查常见问题 2.静态代码检查规则库的选择与优化 3.静态代码检查的前沿实践与工具 4.制品库的管理(传统制品和容器镜像) 5.制品的版本号管理 6.DevSecOps的概念与实践 7.DevPerfOps的概念与实践 8.研发效能双流模型的设计理念与落地实践 9.研发效能双流模型的详细解读 10.双流联动的技术选型与实现 |
持续集成(CI)中的软件测试 |
1.持续集成(CI)中的自动化测试策略 2.持续集成(CI)中的API接口测试 3.持续集成(CI)中的GUI自动化测试 4.持续集成(CI)中的安全扫描与测试 5.持续集成(CI)中的性能基线测试 6.持续集成(CI)中的测试环境管理与优化 7.持续集成(CI)中的测试数据管理与优化 8.基线环境和特性环境的设计与实践 9.实现特性环境的主流工具详解 |
系统集成与测试阶段的最佳实践 |
1.瀑布模式下的测试策略 2.敏捷模式下的测试策略 3.基于高效测试策略的测试流程优化与改进 4.分层的测试体系建设 5.测试中台的顶层设计与落地实践 6.测试中台中各个测试服务的详细解读 7.自动化测试:录制回放式 VS 脚本式 8.自动化测试的局限性和影响效能的误区 9.企业级测试成功实践:探索式测试的威力 10.企业级测试提效成功实践:流量录制与回放 11.企业级测试提效成功实践:基于MBT和大数据的精准测试 12.企业级测试提效成功实践:基于代码覆盖率染色的精准测试 13.企业级测试提效成功实践:测试数据构造能力建设 14.企业级测试提效成功实践:测试环境的高效管理 15.企业级测试提效成功实践:智能化技术对自动化测试的增强 |
发布与运维阶段的工程实践与流程优化 |
1.人肉运维和自动化运维 2.SRE背景下运维角色的变更 3.从CI/CD到CO/CE 4.常用的灰度发布方式与策略设计 5.监管控一体化的运维体系设计 6.SRE的核心概念与实践详解 7.AIOps的基本原理与落地实践 |
软件工程能力提升与流程优化的行业实践解读 |
1.Google软件工程能力核心实践解读 2.eBay软件工程能力核心实践解读 3.BAT的软件工程能力核心实践解读 |
软件研发过程优化导论 1.为什么你的软件研发越来越慢,成本越来越不可控? 2.当今软件研发的本质 3.软件工程的四大内在属性 4.软件的规模与复杂度困局 5.软件技术债务的种类与特点 6.质量和效率真的不可兼得? 7.软件研发过程优化的体系化方法 8.软件研发成本估算的可行性 |
理想中的软件研发与现实中的软件研发 1.软件企业研发过程中遇到的主要问题 2.研发过程改进和优化的核心思路 3.互联网企业研发过程优化对软件工程的启发 4.敏捷研发模式的理想和现实 5.敏捷研发模式的主要误区与应对措施 6.案例:传统软件企业的研发过程优化案例 7.案例:互联网企业的研发过程优化案例 |
软件研发中的需求分析 1.如何应对产品经理的“一句话”需求 2.需求质量对软件研发的重要性 3.需求问题空间和软件解决方案空间的异同 4.需求优先级评估的卡农模型 5.需求团队和研发团队的常见合作模式与主要问题 6.需求团队和研发团队的改善探索:基于业务架构师的实践 7.需求颗粒度(大小)的把控原则 8.需求拆分的常见问题与应对策略 9.需求管理的多种形式和应用场景(瀑布模型 VS 敏捷模型) 10.需求变更的应对方法和最佳实践 11.需求不明确以及需求不稳定的主要应对措施 12.版本发布模式与需求管理 13.案例:传统软件产品需求分析案例详解 14.案例:互联网软件产品需求分析案例详解 |
本地开发与开发者自测的工程实践与流程优化(上) 1.高效获取一致性的本地开发环境 2.基于AI精准提升的代码输入效率的常用工具 3.基于Copilot的开发模式 4.整洁Git的设计 5.前端低代码能力与常用工具 6.后端低代码能力与常用工具 7.本地编译加速的常用方式与工具 8.commit message的规范 9.code search平台的使用 10.个人本地测试的测试环境管理与提效 11.第三方依赖库的管理 12.软件成分分析与代码安全流程优化 |
本地开发与开发者自测的工程实践与流程优化(下) 1.开发者自测与测试左移的关键实践 2.代码静态质量的前期把控 3.代码动态质量的前期把控 4.静态代码扫描的流程优化 5.单元测试普遍做的不好的根本原因 6.单元测试的实用范围分析 7.单元测试与代码覆盖率的关系 8.提升单元测试执行效果的关键实践 9.单元测试的自动生成技术原理解读 10.单元测试的代码管理 11.单元测试的测试版本管理 12.单模块的接口测试与Mock 13.代码覆盖率统计与质量门禁 |
代码质量提升与代码评审 1.代码评审普遍实施不到位的根本原因 2.代码评审的开展时机 3.代码评审的核心理念 4.代码评审的最佳实践(小批量、多批次、找对人) 5.代码评审的责任认定 6.如何提升代码评审本身的质量 7.代码评审的常用工具体系 8.代码评审的典型案例分析与解读 9.代码评审的社会学属性探究 10.代码委员会机制与代码评审流程改进 11.代码评审的其他最佳实践 |
持续集成(CI)的工程实践与流程优化(上) 1.持续集成(CI)流水线的整体解读 2.持续集成(CI)流水线的主流实践与工具 3.持续集成(CI)完整步骤详解与最佳实践 4.代码合流CI流水线的设计 5.代码合流CI流水线的扩展能力 6.慢SQL扫描的扩展 7.典型分支模型解读与适用场景分析(主干开发,Github Flow,GitFlow,AOne Flow) 8.影响分支模式选择的主要因素 9.分支模型的流程优化与定制 10.分支模型的典型问题与应对策略 11.开发协作模式的选择 |
持续集成(CI)的工程实践与流程优化(下) 1.静态代码检查常见问题 2.静态代码检查规则库的选择与优化 3.静态代码检查的前沿实践与工具 4.制品库的管理(传统制品和容器镜像) 5.制品的版本号管理 6.DevSecOps的概念与实践 7.DevPerfOps的概念与实践 8.研发效能双流模型的设计理念与落地实践 9.研发效能双流模型的详细解读 10.双流联动的技术选型与实现 |
持续集成(CI)中的软件测试 1.持续集成(CI)中的自动化测试策略 2.持续集成(CI)中的API接口测试 3.持续集成(CI)中的GUI自动化测试 4.持续集成(CI)中的安全扫描与测试 5.持续集成(CI)中的性能基线测试 6.持续集成(CI)中的测试环境管理与优化 7.持续集成(CI)中的测试数据管理与优化 8.基线环境和特性环境的设计与实践 9.实现特性环境的主流工具详解 |
系统集成与测试阶段的最佳实践 1.瀑布模式下的测试策略 2.敏捷模式下的测试策略 3.基于高效测试策略的测试流程优化与改进 4.分层的测试体系建设 5.测试中台的顶层设计与落地实践 6.测试中台中各个测试服务的详细解读 7.自动化测试:录制回放式 VS 脚本式 8.自动化测试的局限性和影响效能的误区 9.企业级测试成功实践:探索式测试的威力 10.企业级测试提效成功实践:流量录制与回放 11.企业级测试提效成功实践:基于MBT和大数据的精准测试 12.企业级测试提效成功实践:基于代码覆盖率染色的精准测试 13.企业级测试提效成功实践:测试数据构造能力建设 14.企业级测试提效成功实践:测试环境的高效管理 15.企业级测试提效成功实践:智能化技术对自动化测试的增强 |
发布与运维阶段的工程实践与流程优化 1.人肉运维和自动化运维 2.SRE背景下运维角色的变更 3.从CI/CD到CO/CE 4.常用的灰度发布方式与策略设计 5.监管控一体化的运维体系设计 6.SRE的核心概念与实践详解 7.AIOps的基本原理与落地实践 |
软件工程能力提升与流程优化的行业实践解读 1.Google软件工程能力核心实践解读 2.eBay软件工程能力核心实践解读 3.BAT的软件工程能力核心实践解读 |