Gartner:敏捷开发的10大指导原则

简介:

 据Gartner的资料表明,一众CIO现在有压力,需要支持快速发展的数字业务发展,而同时又遇上传统项目和开发方法不能与时俱进的难题。企业现在大量采用敏捷开发,以加快项目进度及更好地显示其价值。

Gartner应用架构、开发和整合峰会下个月在悉尼召开。Gartner公司研究总监Nathan Wilson在会议前夕表示,敏捷方法如果使用得当,是有能力改变IT业务关系以及对IT价值交付产生重大的正面影响。而CIO和整个IT管理团队必须悉心培养获得成功所需的变革文化,只有这样才能交付相应的价值。

Wilson表示,“敏捷开发做得好的话,是可以成为开发产品组合方法的有机组成部分,CIO可以利用此类方法来应付日益高涨的创新业务需求。但用得不得当的话,敏捷开发导致的问题会比其解决的问题更多。”

Gartner列出敏捷开发的10大指导​​原则如下:

1:敏捷开发不是单一的一件事

敏捷开发方法是一组软件开发方法,这些方法具有共同的理念,但在具体细节上又截然不同。因此,敏捷开发方法往往能适应不同类型的问题。那些老牌、成熟的组织大可以使用几个方法,但刚处起步阶段的组织则应该选择一个方法,掌握了一个方法后再尝试其他方法。

2:敏捷开发并非“拿来主义+混合”的方法

敏捷方法是个高度系统化的方法。其中的每一个构成元素对于最后的成功都是至关重要的。有些组织可能只采用敏捷方法的一些元素(如冲刺『Sprint』)却忽略或淡化其他元素(如“技术债务”(Technical debt)的管理。此为常见的错误。这些组织或许会享受来自快速发展和发布新代码的荣誉,但由于未能很好解决技术债务,他们收藏起来的问题终会带来麻烦。

3:拥抱敏捷开发是一项业务与IT之间的联合活动

要充分实现敏捷开发的益处就离不开商界领袖、管理层和用户社区的参与。如果一个企业里有些部门不喜欢新的工作方式,那就有必要精心地计划、将不同的管理者社区和用户社区组织到一起进行沟通。

4:敏捷开发需稳打稳扎,不能急于求成

有经验的敏捷开发实践者可以应付大规模的开发——颇像攀登珠珠穆朗玛峰。但承担大型软件项目所需要的必要技能来自许多年的积累。在踏上敏捷开发征途的初始阶段,任何组织都需要在山脚下起步,在发展中建立信心、提高承担更大的任务的能力。

5:采用敏捷开发需要不断地学习

敏捷开发实践者必须不断努力提高质量和成本效益,即是说,要对每一个开发项目进行分析,吸取经验教训,以期改善以后的决策和工作方法。此类分析和学习不仅仅是少数资深实践者的责任,所有敏捷开发实践者的工作负载基本组成部分里涵括了分析和学习。此外,学习对于直接参与软件开发的程序员无疑是适宜的;学习所有的相关技能也至关重要,如项目管理、架构、质量保证和IT预算管理等。

6:敏捷开发事关团队及由团队组成的团队的事

在敏捷开发中,交付的的基本组织单位是一个小团队,典型的人数常为“七加或减二”——含开发人员和质量保证。从人力资源的角度来看,管理敏捷开发团队是一件有些飘忽的事,一方面要保持团队的相对稳定以保持工作效率,另一方面又需要将各个团队的人员进行交换和糅合以鼓励相互之间的思想交流。如果人员交换过于频繁,团队则不能成为高效的小组;而如果团队之间的人员交换不够的话,每个团队会变成孤立的小组,会背离其他团队。要注意的是,采用敏捷开发方法时,团队彼此之间的相对物理位置比传统开发方法中的物理位置要重要得多。

7:归档、管理和消除技术债务是所有敏捷开发方法的一个核心概念

技术债务是一个软件两个状态之间的差异,一方为今天的状态,另一方是为满足诸如可靠性、性能效率、便携性、易用性、可维护性和安全性等必要的质量属性要求所处的状态。所有的开发都有技术债务。敏捷开发方法与其他方法的区别在于,敏捷开发会认明技术债务并将其列入需要处理的事务之列,而不是藏起来不理不睬。希望采用敏捷开发方法的组织必须选择所用方法的元素,大刀阔斧地处理重构和消除技术债务。

8:采用敏捷开发要慎重处理和对待第三方开发服务提供商

很多IT组织很长时间以来都是将应用程序的开发外包给专业服务提供商。虽然服务提供商在敏捷开发中也有自己的角色,但商业模式和参与模式都是非常不同。对于敏捷开发方法来说,托管业务用户是不言而喻的,因此,将大量工作送到别处的机会比较有限,其结果是,以某种形式雇佣附加人力极有可能是一个更有效的模式。

9:敏捷开发影响的不只是软件开发团队

“持续交付”概念是敏捷开发方法的一个有机组成部分。敏捷开发方法是以企业管理者和使用者的持续参与为前提的,并由此出发将不断交付新的、修改过的软件的过程引导到营运环境里。所有这些都要求在企业治理和关系管理以及基础设施和运营团队的两个工作实践方面做出显著的改变。

10:其他软件开发方法在产品组合开发中仍然有用得到的地方

在大多数商业和公共部门组织里,应用组合会出现许多不同类型的开发问题,有些适合敏捷开发,而有些可能更适合那些增量、迭​​代式开发,有些则适合改良型瀑布模型。敏捷开发不是“更好”,只是更适合一些问题,但也会更不适合另一些问题。


  

原文发布时间为:2015-7-14

 

本文作者:孙博

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网


目录
相关文章
|
2月前
|
敏捷开发 监控 测试技术
敏捷软件质量保证的方法与实践
本文介绍了软件质量保证(SQA)的重要性及其在敏捷开发中的实践方法。文章首先指出了传统测试方法的问题,如成本高昂和项目风险加大。为解决这些问题,文中提出了需求审核、代码审核与演练、基于会议的测试及基于风险的测试等多种实践方法。此外,文章还探讨了衡量软件质量的常见指标,如源代码行数、代码段/模块/时间段内的Bug数和代码覆盖率等。文中还详细描述了敏捷开发过程中QA的角色与活动,强调了QA需与开发人员、业务人员及客户密切协作,以确保产品质量。最后,文章指出了在敏捷开发中QA的特殊性及其对团队构成、测试阶段、工作方式等方面的影响。
58 3
敏捷软件质量保证的方法与实践
|
敏捷开发 测试技术 BI
敏捷七大步骤和常用敏捷工具推荐
Leangoo领歌一款永久免费的专业敏捷研发管理工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷。能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、任务管理等。2)管理产品路线图、产品backlog、迭代规划和执行、缺陷、测试、项目文件及企业组织架构等等。3)可查看多项目进度,项目视角的统计等,提供了不同视角的统计,例如:进度统计、燃尽图、团队速率、任务分布、缺陷分布、测试用例分布等等,实时掌握项目状态及进展。
|
敏捷开发 测试技术 BI
为什么要学习敏捷?敏捷有哪些好处以及敏捷工具
Leangoo领歌一款永久免费的专业敏捷研发管理工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷。能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、任务管理等。2)管理产品路线图、产品backlog、迭代规划和执行、缺陷、测试、项目文件及企业组织架构等等。3)可查看多项目进度,项目视角的统计等,提供了不同视角的统计,例如:进度统计、燃尽图、团队速率、任务分布、缺陷分布、测试用例分布等等,实时掌握项目状态及进展。
|
敏捷开发 测试技术 持续交付
Scrum敏捷开发培训内训:提升团队能力和效率的重要途径
​ 在当今软件开发领域,Scrum敏捷开发方法越来越受到重视。Scrum是一种以团队协作为基础,注重灵活性和快速响应变化的方法。 为了帮助团队更好地掌握Scrum敏捷开发,培训变得越来越重要。Scrum敏捷开发方法注重高效协作、快速迭代和持续改进。通过培训,团队成员可以更好地了解Scrum敏捷开发的流程、实践和方法,提高团队协作和项目管理能力。这有助于在开发过程中快速响应需求变化,提高软件质量和客户满意度。
|
存储 分布式计算 架构师
【企业架构】敏捷时代的企业架构:更少的监管,更多的指导
【企业架构】敏捷时代的企业架构:更少的监管,更多的指导
|
敏捷开发 架构师
「敏捷开发」企业架构和敏捷开发:对立吸引?
「敏捷开发」企业架构和敏捷开发:对立吸引?
|
机器学习/深度学习 Go 持续交付
精益软件开发的七大原则
主要介绍精益软件开发的七大原则
2477 0
|
敏捷开发 前端开发 测试技术
创业公司如何实施敏捷开发
转载自LANCEYAN.COM 说起敏捷开发,并不是因为敏捷而敏捷。这几年的敏捷开发已经被很多敏捷咨询服务商神话了,这个东西并不是神器,实施了就可以解决所有软件公司的问题,而是要结合自己公司的特点和问题摸索出适合自己的一套模式。
1456 0