Gartner:敏捷开发的10大指导原则-阿里云开发者社区

开发者社区> boxti> 正文

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

 

本文作者:孙博

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9497 0
iOS开发UI篇—Quartz2D简单介绍
iOS开发UI篇—Quartz2D简单介绍 一、什么是Quartz2D  Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统  Quartz 2D能完成的工作:   绘制图形 : 线条\三角形\矩形\圆\弧等   绘制文字   绘制\生成图片(图像)   ...
771 0
linux UART串口驱动开发文档
linux UART串口驱动开发文档 3人收藏此文章, 收藏此文章 发表于2年前 , 已有2038次阅读 共0个评论 3人收藏此文章 内容简介: 介绍了Linux下的串口驱动的设计层次及接口, 并指出串口与TTY终端之间的关联层次(串口可作TTY终端使用), 以...
877 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
UWP开发入门(十一)——Attached Property的简单应用
原文:UWP开发入门(十一)——Attached Property的简单应用   UWP中的Attached Property即附加属性,在实际开发中是很常见的,比如Grid.Row:    Grid.Row这个属性并不是Button对象本身的实例方法,而是定义在Grid类型上的static property,实际使用时却又附在其他控件的XAML里。
1052 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11508 0
【QCon】Flutter+Dart 三端一体化开发
作者:闲鱼技术-新新 QCon2018上海全球软件开发大会上,来自阿里巴巴闲鱼的新新给大家做了主题是“Flutter & Dart三端一体化开发”的精彩演讲,以三端一体化的“布道者”,展示在后移动互联网时代的一种新开发模式,给听众带来进一步提高移动应用开发效率的思路。
3565 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6895 0
+关注
boxti
12535
10037
文章
1327
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载