浅谈持续集成在软件项目管理中的作用

浅谈持续集成在软件项目管理中的作用,第1张

浅谈持续集成在软件项目管理中的作用

【摘要】:持续集成是极限编程12个基本原则之一,正在被越来越多的团队所采用。软件项目管理涉及到九大知识领域,贯穿于软件过程的始终,目的是为了让软件项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。持续集成这种软件开发实践,对于软件项目管理的各个领域的管理有着积极的作用。

【关键词】:持续集成 软件项目管理 统一的代码库 构建

一、引言

软件项目经理不但要用管理知识管理整个项目.还要为他们的团队选择更好的技术实践在软件开发的众多技术实践中持续集成已经被越来越多的团队所采用持续集成对于软件项目管理的各个领域的管理有着积极的作用,持续集成的使用会给开发尉队的管理带来很多的好处.做为管理者的项目经理以及团队成员都可以从中受益。

二、持续集成与软件项目管理

1、什么是持续集成

“持续集成”起源于极限编程开发.是它的12个基本原则之一”持续集成”是一种软件开发实践.它要求开发小组的每个成员频繁的集成他们的工作成果.这个频度通常是至少每天一次有时甚至每天多次开发团队的成员频繁的整合他们之问的工作.这种整合不是简单的组装软件每次的集成通过一个包含测试的构建去尽快的探测潜在的错误.保证软件现有的功能不被破坏,自动分析现有代码的状态f有无重复逻辑.代码的复杂度等)并发布相关的报告。通过快速反馈,开发人员可以了解软件集成的情况.对不成功的集成进行快速的修改.从而提高软件开发的效率和质量

2、什么是软件项目管理

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(ProdU(2t)、过程(Protess)和项目fProject)进行分析和管理的活动。

为使软件项目开发获得成功.关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的.任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数.掌握整个软件的开发进程。

三、持续集成对软件项目管理的作用

l、对项目目标管理的作用

软件项目的目标是开发出可运行的、客户满意的软件系统持续集成有统一的代码库。要求开发人员定期地、不断地向代码库提交代码。新近提交的代码会经过编译与测试.与代码库中旧有的代码相整合,形成安全稳定运行的代码库.既软件系统。这样。能够在最快、最短的时问内形成结果代码.逐步实现项目目标。这样的代码提交形式对软件项目的目标管理有利.项目经理能够最快速度地得到项目的最新代码库.并且新提交代码的问题也会及早地暴露出来,在最短的时间内得到解决。持续集成已经被证明对于小到中型规模的项目目标的实现是有价值的,对于大的项目,仍然是有用的。

2、对项目时间管理的作用

生产力的发展过程是不断采用物化劳动取代人自身的劳动的过程,是不断自动化的过程。开发的构建过程中如果大量的采取手动过程不仅降低了团队的生产率.更严重的是它将许多不确定的因素引入到产品的构建过程.这使得发现以及解决问题变得异常困难。这样会更加地降低了团队的开发效率。持续集成的构建都是使用构建工具自动化地进行的通过使用持续集成工具将构建过程自动化.便于分析并找出问题。大大提高了团队的开发效率。

稳定而高效的开发效率保证了开发团队在一个轻松愉快的环境中工作.同时团队成员可以有更多的时问和精力学习新技术并将其应用在软件开发中.自动化测试.集成将开发人员从简单、繁琐的低级脑力劳动中解放出来,从而进行更高层次的思考持续集成的自动构建过程,极大的提高了软件的开发效率,对项目经理的项目时间管理有利。

3、对项目质量管理的作用

持续集成过程要求编程人员事先编写好很多的测试用例.在代码的提交过程中就对代码进行测试.这样的及早测试能够最快速地发现软件代码中的错误和缺陷.及时修改,从而提高软件的质量。

持续集成的测试包括:单元测试、功能测试、集成测试,进行部署等等持续集成要求有一个全面的单元测试验证集.使持续集成能够获得短集成周期。在一般的项目中,编写测试代码都至少会额外增加30%的工作量初看.在时间和资金上这也许是很大的开销,然而,在持续集成过程中,编写测试代码是必要的,而且这样也省去了人工测试的时间.确保了软件产品的质量.对软件项目的质量管理有利。

4、对项目风险管理的作用

持续集成过程通常在开发人员提交代码后开始.服务器自动更新代码.编译,运行单元测试、功能测试、集成测试,进行部署这个持续集成的过程可以帮助开发人员快速发现并解决问题(编译失败,测试失败等)。与开发人员的机器相比,持续集成服务器运行在相对稳定、干净的环境中f减小跟踪调试的难度),持续集成过程的失败通常意味着最近一次更新破坏了软件现有功能或引入了新的缺陷。在持续集成过程结束后.除了构建结果(War,Jar等),通常会生成代码分析报告(测试覆盖率等),帮助项目管理人员更好的了解并改善项目。

这种快速反馈集成结果.并进行快速修改的工作方式.在第一时间消除了代码中的Bug.极大地减小了系统发生错误、不能在用户环境中运行、系统集成时涌现大量问题的风险。这样使整个的项目进度完全掌握在项目经理手中.减少了项目的风险.有利于项目经理的风险管理。

5、对项目人力资源管理的作用

软件开发过程最终表现为人与人之间各种形式的合作。安全感与信心是合作最基础也是最重要的部分通过使用持续集成工具.开发人员可以了解到新的代码是否引人了缺陷。管理人员可以通过使用各种形式的报告对项目进行评估。不断发布的构建结果.使测试人员得以自始至终的参与到整个开发过程中。而不是在软件开发的最后阶段才加入团队

持续集成所做的一切加强了团队成员的沟通.项目中的所有人都知道系统现在的状态.目前已经做了那些变动。沟通中最重要的一件事是主线的构建状态。使用持续集成服务器。这上面有个构建.它会告诉你构建的状态和上次主线构建的状态。将构建的结果反馈的形式很多.比如构建成功则绿灯亮.失败就出现红灯。还可以使用网站发布构建结果.这样那些不在一起工作的人也能看到目前项目的状态这样的工作方式使团队成员及时了解项目情况。得到及时、准确的沟通,可以增强团队成员的安全感和信心,使团队在一个好的氛围中工作。这样利于项目经理管理项目团队中的成员。

CI的全称是Continuous Integration,表示持续集成。

在CI环境中,开发人员将会频繁地向主干提交代码。这些新提交的代码在最终合并到主干前,需要经过编译和自动化测试流进行验证。持续集成过程中很重视自动化测试验证结果,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。

详细介绍:

需要具备的条件:团队需要为每个新功能、代码改进、或者问题修复创建自动化测试用例。你需要一个持续集成服务器,它可以监控代码提交情况,对每个新的提交进行自动化测试。研发团队需要尽可能快的提交代码,至少每天一次提交。

带来的效益:通过自动化测试可以提早拿到回归测试的结果,避免将一些问题提交到交付生产中。

发布编译将会更加容易,因为合并之初已经将所有问题都规避了。减少工作问题切换,研发可以很快获得构建失败的消息,在开始下一个任务之前就可以很快解决。

测试成本大幅降低,你的CI服务器可以在几秒钟之内运行上百条测试。你的QA团队花费在测试上面的时间会大幅缩短,将会更加侧重于质量文化的提升上面。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/601719.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-10
下一篇2023-07-10

发表评论

登录后才能评论

评论列表(0条)

    保存