搜索 | 会员  
敏捷开发模式CIO应知道10大的原则
来源: 巅峰网   作者:企业网D1Net  日期:2015/7/23  类别:IT治理  主题:CIO  编辑:彩连
CIO目前需要为快速变化的数字业务场景提供支持,而同时又发现传统的项目和开发方式无法满足需求。在这样的情况下,企业正越来越多地转向敏捷开发(AgileDevelopment)模式,以加速项目的推进,展示自

市场调研公司Gartner发布的最新报告显示,CIO目前需要为快速变化的数字业务场景提供支持,而同时又发现传统的项目和开发方式无法满足需求。在这样的情况下,企业正越来越多地转向敏捷开发(Agile Development)模式,以加速项目的推进,展示自身的价值。

Gartner于近期在澳大利亚悉尼举办“Gartner应用架构、开发和集成峰会”。而Gartner研究主管Nathan Wilson表示,在执行良好的情况下,采用敏捷开发模式将变革IT与业务部门之间的关系,并有利于IT充分发挥自己的价值。然而,只有CIO和整个IT管理团队专注于必要的文化转变,这样的价值才能实现。

Wilson表示:“如果能良好地完成,那么在CIO响应业务部门越来越多的创新需求方面,敏捷开发模式将成为各种方式有机的一部分。而如果完成情况不佳,敏捷开发模式带来的问题会比解决的问题更多。”

在敏捷开发模式中,开发者也可借助应用性能管理(APM)工具提升开发速度、让应用更快发布,并且能精准定位使用体验中的瓶颈。以OneAPM为例,其功能也很适合支持敏捷开发模式,对广大开发者来说,只需要把业务做好,把要提供给客户的服务做好,无需再去关心性能问题。

Gartner列出了敏捷开发模式的10大指导原则:

1.敏捷开发并非单一的方法

敏捷开发模式是软件开发的一整套方法,这些方法有着共同的哲学,但在具体执行时也有很大的差别。这些方法适用于解决不同的问题。经验丰富的大型组织可以利用不止一种这样的方法。不过在开始阶段,组织可以首先尝试其中一种方法,在熟练掌握后再尝试更多。

2.敏捷开发理念具有系统性

敏捷开发是高度系统性的方法,其中每个元素对成功而言都非常重要。对于敏捷开发,组织的一个常见误区在于只重视其中某些元素,例如“敏捷迭代(Sprint)”,而忽视了其他元素,例如对“技术债务(Technical Debt)”的管理。这样的组织能快速完成开发并发布新代码,但将会积累越来越多的技术问题。

3.部署敏捷开发模式需要业务部门和IT的合作

如果没有业务部门负责人、管理层,以及用户社区的参与,那么敏捷开发的优势无法得到充分的发挥。如果公司其他部门不愿以新的方式去工作,那么与业务部门经理和用户的沟通将非常必要。

4.引入敏捷开发模式是循序渐进的过程。

在敏捷开发模式中,熟练的开发者能完成大规模的开发,这就像是翻越喜马拉雅山。不过,积累必要的经验需要很长时间。如果组织刚刚转向敏捷开发模式,那么需要从头开始建立开发者的信心和能力,使他们逐步有能力承担大型开发任务。

5.敏捷开发意味着持续学习

敏捷开发的实践者需要持续优化质量和效率,这意味着每次开发都需要进行经验总结,从而优化开发策略和具体实践过程。这样的分析和学习并不仅仅是一小部分高级开发者的责任,而应当成为所有参与者的基本工作之一。

此外,需要学习的也并不仅仅是软件开发技能,还包括项目管理技巧、系统架构、质量保障,以及IT预算管理等。

6.敏捷开发意味着团队,以及团队的团队

在敏捷开发模式中,发布代码的基本组织单元是小型团队。这样的团队通常包含5到9名成员,需要同时承担开发和质量保障工作。从人力资源的角度来看,管理敏捷开发团队一方面需要将团队以高效的方式凝聚在一起,另一方面也要鼓励团队中的不同成员提出具有交叉性的创意。

如果人员流动过于频繁,那么团队将无法形成高效的组织单元;但如果团队之间的人员流动不足,那么每个团队将逐渐变成孤岛,失去与其他团队的交流。需要指出,相对于传统开发方式,在敏捷开发模式中,团队的座位位置更加重要。

7.记录、管理及清理“技术债务”是所有敏捷方法的核心理念

“技术债务”的定义是,软件现在的状态,以及在可靠性、性能、便携性、可用性、可维护性和安全性等方面满足一定质量要求之间存在的差异。所有开发活动都会造成技术债务,而敏捷开发模式的不同在于,技术债务可以被识别,并被记录至待办工作列表,而不是被弃之不顾。

任何希望引入敏捷开发模式的组织都必须采用所选择方法的必要元素,进行必要的重构,清除技术债务。

8.在敏捷开发模式中,如果需要与第三方开发服务提供商合作,那么需要额外的关注

许多公司的IT部门都会将应用开发工作外包给专业服务提供商。尽管在敏捷开发模式中,服务提供商可以扮演一定的角色,但商业模式和互动模式将会出现很大的不同。在敏捷开发过程中,坐在一起办公是关键,因此能将大量工作任务外包给第三方的机会不大,而通过某种方式在内部补充人员很可能是一种更有用的方式。

9.敏捷开发模式的影响力将超出软件开发团队

敏捷开发模式的有机组成部分之一在于“持续地交付”。敏捷模式意味着与业务部门经理和用户的持续互动,这将在业务运营环境中持续带来新版本软件。这也意味着业务管理和关系管理的方式,以及运营团队的基础架构会发生明显的变化。

10.你仍然可以使用其他软件开发方法

在大部分商业和公共组织中,应用开发将会出现多种多样的问题。一些问题可以通过敏捷模式来解决,另一些问题可能更适合增量式的迭代开发模式,而还有一些问题可能需要利用传统的瀑布模式。敏捷模式并没有“更好”,而只是“更适合”某些问题。


德仔网尊重行业规范,每篇文章都注明有明确的作者和来源;德仔网的原创文章,请转载时务必注明文章作者和来源:德仔网;
头条那些事
大家在关注
广告那些事
我们的推荐
也许感兴趣的
干货