英国上市公司(365·官方认证)-Best Macau Store

/ EN
13922884048

资讯中心

information centre
/
/

软件研发流程CMM/敏捷/DevOps三大流程,各自适合哪类项目,这个总结价值一个亿。

发布时间:2025-06-05作者来源:英国正版365官方网站浏览:982

一、软件定义一切,数字化、智能化赋能千行万业转型升级


未来的企业都离不开软件,不做软件也得用软件,不用软件的企业就少之又少了;现在开个小店都得有收银系统。


二、我的软件研发流程实践之旅


我做软件多近三十年(哈哈,暴露了年龄),1、作为华为软件产品线[敏感词]个CMM大项目经理,实践了大项目基于CMM流程质量和进度效率可以兼得

2、参与了软件产品线CMM认证,华为工作组成员,通过了CMM认证;

3、软件产品线[敏感词]个敏捷项目项目经理,取得了产能高于平均值三倍的成果;

4、企业云devops推行责任人,落地devops流程,并学习了解了国内外各科技企业的组织和流程。

5、总结下来,我还真是见证了华为公司软件研发流程的变迁,也是随着软件行业研发流程变迁的升级打怪。


三、对企业研发流程的选择我的建议


通过合适的研发流程管理软件研发组织的工作,以达到可控的的软件交付件,不同的流程适合研发不同种类的软件,不同的组织可以选择不同的研发流程。


我今天分享一下我对各种流程的个人见解,供软件企业参考。


1、CMM:


1)CMM是由美国卡内基梅隆大学软件工程研究所1987年研制成功的,是国际上[敏感词]最实用的软件生产过程标准和软件企业成熟度等级认证标准。被很多组织接纳,成为软件企业产品准入的门槛。


2)强调研发的过程的管理


坚信好的过程会带来好的结果,详细的定义个软件开发过程的各个阶段,每个阶段的输入、输出标准、评审、交付件模板、收集的度量数据、严格的各阶段的总结和度量数据收集。


3)强调质量管理

适合强质量控制、需求变化小、强进度要求的项目,尤其软硬件结合的研发项目。


4)强调过程交付件


定义了交付件的模板,checklist工具包,按照模板输出交付件。


5)按照功能划分组织,组织之间有严格的分工,有严格的交付件接收标准,需求-方案设计、开发、测试、服务分属不同的部门。


6)总结适合应用的项目:


适合需求相对稳定,技术风险不大,试错成本高的软件研发。


2、敏捷软件开发:


1)是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。


2)强调敏捷理念和实践,强调聚焦客户价值,强调拥抱变化,强调最终交付件代码,强调沟通和反馈;“show me your code”;强调自动化工具,通过持续构建、持续集成?持续交付来提高效率和快速交付;拥抱变化,认为不变的是变化,要通过快速迭代出产品,让用户体验(show case)。


3)强调全功能的组织、打破部门边界、研发是一个组织需求-设计、开发、测试一体化团队。


4)总结适合应用的项目:适合需求变化快的软件研发过程,适合互联网这种创新和试错性的软件研发,通过快速的迭代开发,来适配需求的变化和创新的不断试错,而不是强调需求问题、需求明确的开发流程,这是跟CMM的核心区别。

3、devops:


1)敏捷的延续和扩展,敏捷的多功能团队里面没有包括运维人员,这就造成了一个鸿沟,研发人员目标研发尽量多的特性,尽快上线获得用户反馈;运维人员目标是系统运行稳定,避免网上问题;两者目标的冲突导致很多问题,DevOps就是来调和这样一种合作关系的。


2)DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。


3)它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。


4)它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。打通研发和服务,服务能力前置到软件开发中,减少手工的维护,能自动化的都自动化,减少网工的需要;强调服务化和共享重用。“吃自己的[敏感词]”,“自己做的降落伞自己跳”。


5)建立研发流水线,为了落实流程,靠管理、靠模板、靠项目经理,可控度低,太依赖个人能力;因此出现了利用工具链,把研发流程工具化;同时研发过程工具打通串联,形成一致化的工具;重用工具、降低研发门槛,提高研发效率。


6)总结适合哪类项目:适合互联网服务,云服务这类在线服务的软件类研发企业;因为服务的实时在线,所以要爆炸产品的试错迭代能够高效进行,又能避免网上问题,减少问题对于用户的影响,尽量做到问题用户无感知和新特性友好知会到用户选择。


四、我建的话建什么样的软件研发流程体系


1、融入研发治理,构建从战略到激励的研发管理体系。


2、融入研发投资决策的IPD体系,构建组合投资决策的研发管理体系。


3、融入研发日常管理管理体系,构建支撑研发日常运营的管理体系。


4、融入能力建设,建立整个研发体系的能力支撑体系,固化和优化研发体系的落地和持续优化。


5、融入干部管理体系,干部培养和选拔,干部的继任者计划和培养。


6、研发体系的关键岗位工作规范化


1)HRBP,考勤,成果,培训/考试,考评,人才盘点,组织氛围,组织职责,干部管理

2)CMO,配置管理,信息安全,配置审计

3)QA,流程设计,流程推行,流程审计,度量体系,问题回溯,质量月报,持续改进,质量理念,质量文化


7、流程体系,整合以上各点,构建到流程中,建立敏捷的,轻量级的,高质量的研发流程体系。

借鉴各流程有点,融合定义流程

1)cmm,的过程,质量,工程

2)敏捷的沟通,反馈,一体化团队,迭代

3)devops,强化自动化工具,强化架构和可服务性架构。

结果:

1)过程清晰化,简单过程,定义按照cmm的表述方式


2)质量,保留必做的质量活动,引入敏捷的优秀实践,结对编程,commiter,TDD,CI/CD,融入devops理念,把发布,上线,运维工具化,


3)工程交付件,融入敏捷理念,不拘泥个数,不拘泥形式,对cmm交付件进行裁剪,选择必做的设计,可以精简到,需规+一篇设计(架构设计,概要设计,详细设计之一)


4)敏捷与CMM的计划融合,将迭代固化,确定版本周期代替灵活的迭代计划,1(季度)+2(月度)+patches(天/周/双周)。


5)融合敏捷和devops的自动化理念,建立自动化体系。融合AI大模型的发展,选型应用AI助手。


8、组织架构和职责,根据上述流程,构建流程性组织,项目型矩阵组织,融入敏捷和devops理念,组织一体化,激发组织潜能。


1)面向toB企业构建前后方协同的PDT运作体系


免责声明:本文来源于“数字化转型分享”公众号,本文仅代表作者个人观点,不代表英国正版365官方网站及行业观点,只为转载与分享,支持保护知识产权,转载请注明原出处及作者,如有侵权请联系我们删除。


企业咨询和陪跑请扫码联系

1742191937242.jpg

服务热线

0755-83044319

霍尔元件咨询

肖特基二极管咨询

TVS/ESD咨询

获取产品资料

Baidu
sogou