- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
敏捷开发模式下引入开源软件的风险管理
摘 要:敏捷开发模式是近些年来国内外软件领域的研究热点,在大型商业软件开发项目中使用敏捷开发模式并引入开源软件提高开发效率已成为各软件公司的开发优选模式,如何对此开发模式进行有效的风险管理就显得尤为重要。文章分析了敏捷模式下引入开源软件的主要风险类型,并对风险管理流程进行了探析。
关键词:敏捷开发;开源软件;风险管理
中图分类号:F270 文献标识码:A 文章编号:1008-4428(2017)02-12 -02
一、引言
现代商业环境充满竞争,产品更新换代越发得迅速。这样就迫使软件产品的开发周期大大缩短。为争取或维持产品的领先地位,开发团队需要迅速作出决断,缩短研发周期,传统的瀑布式研发模式显然无法适用。在此商业背景下,敏捷开发模式应运而生。敏捷开发模式的起源可以追溯到2001年的敏捷联盟及其发表的《敏捷软件开发宣言》。到了2007年大概有超过4700名专业人士同意并签署了这份宣言,确认敏捷方法是一种能够容纳变更的软件工程架构。敏捷开发模式是一种以人为核心,迭代、循序渐进的开发方法。在这种模式下的软件产品开发过程当中,一个大项目会被拆分为多个功能上有联系但是可以各自独立进行的小项目,并分布到不同的项目开发组中进行独立开发,在此期间软件产品一直处于可用的状态。敏捷开发模式由其主要的价值关注点决定了其更看重产品开发对变化的迅速响应,同时也弱化了对过程和文档的重视程度。因此这种模式下各个小项目组内部沟通更顺畅,自主行为更突出,各个项目组技术实力以及对产品理解能力也各有差距。
开源软件已其快速、开放的代码资源也已成为日渐流行、同时也广受争议的软件模式。开源软件(Open Source Software)定义为开放源代码软件的简称,这个概念起源于20世纪90年代。同时开放源代码创始组织(Open Source Initiative Association,?称OSI)的定义指出,开源软件是在满足一定条件下,允许任何人使用、拷贝、修改、分发(免费或少许收费)的软件。现在随着开源软件产业的蓬勃发展,已有越来越多的商业软件公司选择与成功开源项目合作,因为这样可以通过重用开源软件代码来节省开发成本,在开发过程中跟敏捷开发模式结合更是将整个产品开发时间大大缩短,这种开发效率的大幅度提高对于商业软件公司来讲是面对激烈市场竞争的有力优势。因此各类大公司纷纷加入开源软件的开发当中,又或者选择与开源组织合作,以确保竞争优势。
虽然敏捷开发中同时引入开源软件对软件产品的开发来说是极大的优点,但同时也存在一定的风险。从法律角度来说,开源软件虽然不像商业软件一样有一个具体供应商和确定的出售价格,但其仍然是受到知识产权相关法规的保护的。如果对开源协议不理解就直接引入开源软件,依然会因为侵犯了开源软件版权而受到开源组织甚至其他商业公司的法律追究。同时开源许可证的最为典型的通用公共许可证GPL(General Public License)规定,只要软件中任何源代码应用了GPL许可证,此软件的全部源代码需公开,显然,这对商业化的软件产品而言是不能接受的。另外从技术角度来说,开源软件本身的稳定性以及引入开源软件后软件产品质量的保证也是一个需要考虑的问题。这些都对敏捷开发项目组成员的开源软件知识有很高的要求,如果希望获得软件开发过程当中引入的每一个开源软件具体信息并加以控制,完全依赖产品各个独立项目组显然是有极大风险的。本文将具体分析敏捷开发模式下引入开源软件的主要风险类型,并将对风险管理流程进行深入探析。
二、敏捷开发模式下产品引入开源软件的风险分析
由于软件产业的特殊性,使得产品在开发周期中存在众多不确定因素。总的来说,软件开发的风险管理分为两个部分:风险评估和风险控制,风险评估分为风险识别、分析和优先级排序;风险控制分为风险计划过程、解决过程和控制过程。其中风险识别和分析是最重要的部分。
由于敏捷开发模式下产品项目分为多个子项目,这就使得协调这些子项目、合理调配资源变得复杂。开源软件的引入又进一步带来了法律风险和代码稳定性的风险,使得整个项目的分析调控变得更为复杂。因此,在敏捷开发模式下引入开源软件的风险的迅速识别分析显得尤为重要。主要体现在以下几个方面:
(一)环境内部风险
1.技术风险。软件开发的技术风险主要是不能或延迟完成技术突破的风险。由于突破技术难关是新产品开发项目的重中之重,所以,项目团队能否突破技术难关解决新产品技术问题是软件开发项目的一个很大的技术风险。此外,在产品的设计、测试、接口维护等问题也存在着不可预见性,如果其中一环出现问题就可能会带来巨大的软件开发风险。
2.产品稳定性风险。开源软件的贡献者是广泛的,可能分布于世界各地,也
原创力文档


文档评论(0)