基于SCRUM大型软件开发模型研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SCRUM大型软件开发模型研究

基于SCRUM大型软件开发模型研究   摘要: 该文首先介绍了传统的软件开发模型及其缺点,接着引入了敏捷开发的基本思想和SCRUM的敏捷开发方法,然后基于多年的大型软件开发经验和项目管理经验,提出基于SCRUM的大型软件开发模型,吸取传统开发模型中的优点,给出详细的软件开发流程。   关键词: 敏捷开发;SCRUM;软件开发模型   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)13-3043-04   1 传统软件开发模型   传统的软件开发模型有瀑布模型,V模型,增量模型,迭代模型,螺旋模型,快速原型模型等。其中瀑布模型是最早出现的软件开发模型,1970年Royce提出,直到80年代早期,它一直是唯一被广泛使用的软件开发模型。瀑布模型的核心思想是将软件的生命周期分成可行性分析与计划、需求分析、软件设计、编码、测试及运营维护等六个阶段,每个阶段按照线性方式进行,当前阶段接受上一阶段的工作结果,实施完成所需的工作内容。当前阶段的结果需要验证,验证通过后,该结果作为下一阶段的输入,否则返回修改。此模型有很多变体,例如V模型等,但其典型性是只有当当前阶段的文档获得认可才可以进入下一个阶段。例如,在开发初期制定详细的计划,在计划中最终产品己被仔细研究,并且拟定规模说明,将一切详细资料都记录在案,通过验证后需求分析才算结束,然后进入下一阶段,也就是设计阶段。传统开发模型的主要缺点有:   1) 其突出缺点是适应不了一直变化的客户需求。现实中的项目在进行时,客户会不停的修改需求或者增加需求,导致项目开发滞留在需求分析阶段,无法有效地进入下一阶段,最终导致产品被延期。   2) 传统开发模型的线性过程过于理想化,早期的错误可能要等到开发后期才发现,例如设计阶段发现需求的错误,测试阶段发现需求或者设计的错误等,特别是开发后期才发现需求的错误,会带来非常严重的后果。   3) 客户在产品计划阶段提出需求后,直到产品Alpha/Beta测试才能见到产品,发现与预期的相差甚远,提出大量的改进需求,最终导致产品不成功或者被延期。   4) 传统开发模型的可行性分析与计划阶段要???明确需求,从而制定产品的计划与进度表,同时明确产品的成本及预算。但对于需求经常变化的项目,该阶段的成果没有任何意义,最终导致项目进度、成本等不可控。   2 SCRUM敏捷开发方法   敏捷开发是一种开发方法学,可以应对客户快速变更的需求。它强调以人为核心,采用迭代的方式,循序渐进地开发软件。敏捷开发方法强调以人为本,专注于交付对客户有价值的软件。在高度协作的开发环境中,综合使用迭代式和增量式开发方法,使用反馈来进行思考、反省与总结,不断地实现自我完善,从而达到软件的完美交付。   Scrum是被广泛使用的敏捷开发方法之一。Scrum是在十多年前由Ken chwaber 和Jeff Sutherland博士共同提出的,现在此方式已被众多大中小型企业使用,其中包括摩托罗拉、谷歌、雅虎、微软、华为、思科、SAP、GE等。Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期被分成若干个小的迭代周期,每个小的迭代周期称为一个Sprint,一般最多以30天为一个周期。在Scrum中,使用产品Backlog来管理产品或项目的需求,Backlog定义产品的所有任务,包括功能性和非功能性的任务。在定义Sprint时,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint Backlog。在每个迭代结束时,Scrum团队将产生可交付的产品增量。   Scrum定义的主要角色有:   1)产品负责人(Product Owner):该角色负责产品的远景规划,平衡利益相关者(stakeholder)的利益,确定不同的产品需求和优先级等。它是开发团队与客户或最终用户之间的联络点。   2)利益相关者/客户(Stakeholder):该角色与产品之间有直接或间接的利益关系,通常是客户或最终用户代表。他们负责收集产品需求,审查项目成果等。   3)Scrum负责人(Scrum Master):该角色负责指导开发团队进行Scrum开发与实践。它也是开发团队与产品拥有者之间交流的联络点。   4)团队成员(Team Member):即项目开发人员。   Scrum定义的标准流程如下:   1) 根据客户需求,定义产品功能列表Backlog以及每个功能的优先级。   2)召开Sprint计划会议,确立下一个Sprint的目标,划分并确定这个Sprint内需要完成的任

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档