- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈E公司研发团队软件开发的模式转型
浅谈E公司研发团队软件开发的模式转型
摘要:文章首先介绍敏捷开发模式发展趋势和特点,在现在企业中软件开发模式转型的必要性,着重介绍作者在一家外资企业担任敏捷教练(Agile Coach),通过对该企业软件开发模式现状进行分析,帮助该企业成功导入敏捷开发模式、理念和敏捷文化,建立起正确的工作习惯和工作方法,希望通过对该企业软件开发模式转型中的发展过程进行分析,为软件企业软件开发模式转型提供一些参考和可借鉴的方法。
关键词:软件开发模式;敏捷开发;转型
一、引言
随着软件技术的发展和经济的全球化,软件从原先逻辑结构简单、实现内容和技术较单一,逐步发展演变为市场需求复杂多变、融合多种技术快速、高质量的实现。在这种状况下,软件开发领域中传统的瀑布开发模式越来越不能很好的应对,如何在激烈的市场竞争中快速响应客户不断的需求变化,交付给用户满意并且高质量的软件产品,已经成为影响软件开发成功的关键因素,在这个背景下,软件行业借鉴了制造业“敏捷制造”的思想,一种轻量级的方法学“敏捷”因此也应运而生,逐步形成了敏捷软件开发这一新型软件开发模式。敏捷开发模式得到了日益增多的关注度,与过去也就是传统的瀑布开发模式相比,该模式强调以人为本,专注于交付对客户有价值的软件,在高度协作的开发环境中,使用迭代增量式的开发方法,经常使用反馈进行思考、反省和总结,不停的进行自我调整和改进。
二、敏捷开发模式分析与实践
1.敏捷开发模式特点
20世纪90年代,敏捷开发(Agile development)在软件行业内获得了高度关注。敏捷开发是一种以人为核心、迭代式增量开发的方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。与其他开发模式相比,敏捷开发模式具有以下两个特点:
(1)敏捷开发方法是“适应性”而非“预设性”
在软件开发的项目中,软件的设计难处在于软件需求的不稳定,从而导致软件过程的不可预测。但是传统的控制项目模式都是试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依计划进行开发。所以,这类方法在不可预测的环境下,很难适应变化,甚至是拒绝变化。与之相反的敏捷方法则是欢迎变化,目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。
(2)敏捷开发方法是“面向人”而非“面向过程”
Martin Fowler认为:“在敏捷开发过程中,人是第一位的,过程是第二位的。所以就个人来说,应该可以从各种不同的过程中找到真正适合自己的过程。”在传统的软件开发工作中,项目团队分配工作的重点是明确角色的定义,以个人的能力去适应角色,而角色的定义就是为了保证过程的实施,即个人以资源的方式被分配给角色,同时,资源是可以替代的,而角色不可以替代。然而,传统软件开发的这些方法在敏捷开发方式中被颠覆。敏捷开发试图使软件开发工作能够利用人的特点,充分发挥人的创造能力。
敏捷开发的目的是建立起一个项目团队全员参与到软件开发中,包括设定软件开发流程的管理人员,只有这样软件开发流程才有可接受性。同时敏捷开发要求研发人员独立自主在技术上进行决策,因为他们是最了解什么技术是需要和不需要的。再者,敏捷开发特别重视项目团队中的信息交流,有调查显示:“项目失败的原因最终都可追溯到信息没有及时准确地传递到应该接受它的人。”
2.敏捷开发的价值观
(1)个体和交互胜过过程和工具
宣言认为,虽然流程和工具重要(尤其是大型组织),但是它们无法替换有能力的个体和高效的互动,个体的技能和他们之间的互动才是最关键的。
(2)可以工作的软件胜过面面俱到的文档
宣言认为,传统的软件开发是采用“大量的预先设计“将需求文档看作是关键文档。客户最终所需要的是可以运行的软件,在软件开发迭代完成时候,已集成、已测试、潜在准备发布的产品才是关键度量,它能够有效地跟踪项目进度和对发布做出决策。
(3)客户合作胜过合同谈判
宣言认为,不论是客户还是供应商,客户协作胜过合同谈判是一种全新的业务模式,能够让客户在设计过程中参与到软件开发中并密切合作,超越谈判并尝试提升与客户的合作,建立以合作为基础的关系,而不是靠公司?鹊恼?式接口。相对而言,敏捷把对客户努力及合作程度的审视当成更重要的事项。
(4)响应变化胜过遵循计划
宣言认为,外部环境的变化会引起软件需求的变更,敏捷欢迎需求变化,哪怕是开发后期,只有快速响应外部环境的变化,才能降低响应这些变更的成本。
3.敏捷开发的12个原则
(1)最优先要做的是通过尽早的、持续的交付有价
文档评论(0)