欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

DevOps笔记-01:软件交付面临的问题、软件工程的三个发展阶段、什么是DevOps?

发布时间:2025/6/15 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DevOps笔记-01:软件交付面临的问题、软件工程的三个发展阶段、什么是DevOps? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

1、软件交付面临的问题

2、软件工程的三个发展阶段

3、什么是DevOps?

4、总结


 

1、目前软件交付面临的问题

(1)跨部门沟通成本高:团队间沟通和协作的重要性一点也不亚于写代码、写文档、做测试之类的常规工作。

(2)不能快速持续交付高质量软件

2、软件工程经历的三个重要发展阶段

阶段一:瀑布开发模式

理念:以一种工程管理的方式来定义每个阶段(需求、开发、测试、运维),以及相应的交付产物和交付标准,通过一种重流程,重管控,按照计划一步步推进整个项目的交付。

弊端:软件开发初期就试图确定项目的目标、范围以及实现方式,但是这个时候往往是我们对用户和市场环境信息了解最少的时候,这个时候做出来的决策往往有很大的不确定性。前期投入大量资源,难以达到预期效果,导致软件交付延期。

阶段二:敏捷开发模式

理念:1)将一个大的目标不断拆解,把它变成一个个可交付的小目标,然后以不断迭代,小步快跑的方式持续开发;2)将测试工作从研发末端提前到整个开发活动中,对开发交付的内容进行持续验证,保证每次可交付的都是一个可用的功能集合。

弊端:不论开发和测试变的都快,软件交付的最后一道门(运维)决定了软件上线的时间。运维一句“现在没到发布窗口”让多少新开发的功能倒在了上线的门槛上。

 

阶段三:DevOps开发模式

DevOps 最开始想要打破的就是开发和运维之间的对立和隔阂;之后发现在整个软件交付过程中,不仅只有开发和运维,业务也是重要的一环,这样诞生了BizDevOps;再后来安全也介入整个软件开发过程,在每个过程中注入安全反馈机制,来帮助团队在第一时间应对安全风险,这样诞生了DevSecOps。

3、什么是DevOps?

DevOps(开发 Development 与运维 Operations 的组合词)是一种文化、一场运动或实践,强调在自动化软件交付流程及基础设施变更过程中,软件开发人员与其他信息技术(IT)专业人员彼此之间的协作与沟通。它旨在建立一种文化与环境,使构建、测试、软件发布得以快速、频繁以及更加稳定地进行。

DevOps 是通过平台(Platform)、流程(Process)和人(People)的有机整合,以 C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化 IT 组织。(这个定义来至石雪峰老师)

PS:DevOps 就是大家统一搞一套标准,谁都认识,谁都认可;标准统一了,事情就好办了,也就是让大家认同价值交付是共赢的事情。寻找志同道合的一帮人,达成共识,实现目标,研发,测试,运维的所做所为,这很DevOps。

4、总结

软件研发交付能力和业务需求快速多变之间的矛盾,正是软件研发过程面临的问题。要解决这个问题可以通过:

(1)引入全栈工程师

全栈工程师可以避免职能和组织划分带来的沟通成本,很多小企业开始推崇全栈工程师(全干工程师)。

(2)通过平台来解决

全栈工程师不适用职能、组织划分明确的大公司,一般通过平台来解决上面问题,而DevOp正式这种理念。平台和流程的自动化可以保证效率的提高,推动这一反馈闭环形成的还是人,但是建立有效的流程和机制是非常重要的手段,这会潜移默化的影响人的行为,行为建立习惯,习惯构建文化。软件开发过程的改进,除了依赖于技术进步,还依赖于流程、理念、文化等全方位的改进。

总结

以上是生活随笔为你收集整理的DevOps笔记-01:软件交付面临的问题、软件工程的三个发展阶段、什么是DevOps?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。