企业级软件工程能力提升与软件研发过程优化
Neo Ru 查看讲师
百林哲咨询(北京)有限公司专家团队成员
曾任思科(中国)研发中心高级QA总监,从事软件开发、QA、项目管理和过程改进等方面工作二十余年, 在软件工程领域有很深的造诣。
浏览:822次
详情 DETAILS

课程简介

数字化时代的软件研发需要先进的软件工程能力,工程能力即是研发的目的是要提供价值,质量永远第一,要实现价值的持续交付,要使用系统化和科学的方法,达到持续提升研发效率,高效为客户和用户持续交付有价值的软件或服务的能力。提升工程能力,不仅要提升个人的能力素质,还要提升团队及公司的能力素质,包括编码能力、项目管理能力、系统设计、需求把握,以及运维能力、质量意识、沟通能力等,将代码、文档、项目管理三个主要能力赋予个人素养,打造更优质、更不可替代的自我能力,创造更优质、高效和安全的企业服务能力。

本课程聚焦大型软件企业在软件工程领域的最佳实践与经验总结,阐述将理想的软件研发与现实的软件研发之间的差距,纵然有不可逾越的鸿沟,但有可无穷接近理想的实现方案,剖析需求分析、开发者自测的工程实践、代码质量提升与代码评审、持续集成、系统集成等的流程及优化对策,全方位呈现一套企业级软件工程能力提升与落地的实践应用。

课程收益

1.深入理解软件工程的时代背景和重要性全面掌握中大型企业在软件研发需求设计开发测试运维等阶段的最佳实践

2.全面掌握软件研发过程优化的主流实践与方法理解研发过程中的常见误区提升企业级软件研发的工程能力,避免实施中的踩坑

3.深入理解国内外厂商在软件工程能力提升上的实践与探索互联网大厂和传统企业的成功/失败案例掌握解决企业级软件研发过程中典型问题,并提供建设性解决方案

受众人群

1.软件研发负责人、研发管理负责人、工程效能负责人、软件架构师、资深研发工程师;

2.测试架构师、运维架构师、资深测试工程师、资深运维工程师、运维负责人研发管理人员、研发流程工程师;

3.DevOps工程师、、DevOps负责人、SRE工程师以及其他对软件工程能力和研发过程优化感兴趣的开发者们。

课程周期

318H 

课程大纲

标题

授课内容

模块一:软件研发过程优化导论

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的软件工程能力核心实践解读



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1