从敏捷交付开始

  在过去的几年里,敏捷方法(Scrum,XP,Crystal,FDD等)已经进入了主流。行业领导者们已经发现,适当贯彻这些方法,敏捷加速了项目的交付时间,增加客户和用户的满意度,并且提供了灵活应对业务需求变化。
  Forrester Research 报告表明,在北美和欧洲早期第一波采纳这些方法的企业中,14%的企业已经使用敏捷方法,而第二波浪潮中,另有19%的企业正在走向敏捷方法。当新的公司采纳敏捷方法时,很多管理者都要面对同样的问题:“我如何推行敏捷方法”?本文中,会阐明一些关键步骤,帮助你开始敏捷交付。

  首先,理解适用于所有敏捷方法的一些核心原则是很有帮助的。
核心敏捷交付原则
       尽管在实践中,各种敏捷方法多少都会有点儿不同,但它们都提倡这些核心原则--迭代和增量交付,协作,以及持续改进。
       迭代和增量交付:项目交付被分成小的功能发布并增量提交,以便管理风险并更早地得到用户反馈。这些小的发布版本应该以相对平稳的周期进行交付(一般每个迭代周期持续1~4个周期)。迭代是在同样的时长内得到最大的反馈,并有规律地交付最有价值的产品。范围不段进行修订,以便保持稳定。计划、需求、设计、编码和测试在最初就开始了,并为了项目变化的需要而不断地更新。
       协作:所有核心项目团队成员(包括on-site的客户或有决定权的代表)都应在一个共享的、开放式的空间来进行面对面的联系和交互。专属空间被用来有秩序地工作、即兴会议、设计讨论和其它正式或非正式地组内活动。团队成员通过持续协作完成任务进行自组织,而不需要通过自顶向下地管理控制。
       持续改进:那些对于交付过程进行审查和改进的活动也被纳入到敏捷方法中。项目反思(也叫项目回顾)是联络会议,一般在项目进行中推动有规律地对成功和失败之处进行反思,包括应用的工具和技术。每日站立会议提供了一个机会,使成员们可以交换有价值的信息,持续细致地调整改进。
对你来说,表现这些核心原则的最好方法是 从事一个迭代增量过程来达到敏捷交付。从一两个试点项目开始,一旦你得到了真实的经验,再扩大到多个项目和团队。

证明这些核心原则最好的方法就是采纳一种迭代增量方法去做一次敏捷发布。开始用一两个领航性的小项目,一旦得到了真实的经验,就可以推广到多个项目和团队中。

发布第一个敏捷项目

“千里之行,始于足下”。这是老子的一句名言,人人知道它的意思。然而,有时候做起来是最困难的。下面的一些步骤会帮助你运行你的第一个敏捷项目:

  1. 选择一个领航性项目。这个领航性项目要有如下
    1. 业务客户必须有权代表它的组织做决定
    2. 在项目范围内,项目团队必须有权做适当的决定
    3. 项目经理必须得到团队和上级管理者的授权,代表它的团队做决定
    4. 上级管理者必须支持团队进行学习、研究发布方式,并安排一定的实验时间。  得到这种支持以后,承诺进行一个短期的初始发布日期(一般小于3个月)是非常有益的。
    5. 定义可以度量的业务结果,并在一个周期内交付它们是非常关键的。
  2. 组建项目团队。团队成员应包括对交付有意义的所有角色(市场、业务、架构、开发、测试、产品化等等)。这个团队应该被分为核心团队和扩展团队。核心团队(通常一个项目经理、几个开发人员、客户或有权进行业务分析的客户代表)要100%的投入到敏捷项目。确保核心团队成员渴望在他们的岗位上学习并取得成功。扩展团队成员可以承担多个项目,但需要一个介入项目的时间表。
  3. 建立团队工作空间。协作暗示着所有项目人员(开发、测试、业务分析和客户)都应该互相接近。你需要一个团队工作空间。一个公共、开放区域和私有空间。公共区域用于组织方便地面对面的交流和协作。私有空间用于个人工作,例如个人的email、电话交谈,这也是非常关键的。
  4. 操作过程向导和项目交付。首先将选择的敏捷方法论传授给整个团队,包括它的概念和练习。如果有必要的话,应该提供更深层的训练。和整个团队一同规划一个time-boxed(一般为2到5天)的项目交付任务,识别并记录业务成果,风险和依赖关系;对高层次的业务需求进行优先级划分;识别角色和职责;讨论、协商并承诺一个迭代的发布时间表。
  5. 开始迭代增量交付。(1)为第一次迭代制定迭代计划。允许业务客户挑出那些高业务价值的需求并写成一批用户故事。用户故事是高层次的描述,用于描写系统应该如何解决一个问题。 当实现了一个用户故事以后,如果这个用户故事实现了系统功能集合中一个垂直“切片”,那么这个故事是一个好的故事。一个功能“切片”是从用户界面到数据存储的一整套,而不应该是一个技术体系的水平“切片”。(2)在第一个迭代中实现客户挑选的故事;(3)接下来的迭代应该重复上述操作过程。
  6. 持续改进。花一些时间去检查和调整你所用的敏捷方法。确保每两三个迭代后进行项目反思。在整个过程中从你的业务客户、团队成员和其它干系人那里收集反馈信息。用这些反馈来改善你的项目交付和敏捷过程的适应性。扩展你的方法,使其与敏捷软件开发实践相结合(结对编程、测试驱动开发、重构、简单设计等)。

小结

敏捷方法的采纳呈现增长趋势。如果你想尝试敏捷,你应该首先理解敏捷的核心原则:迭代增量交付、协作和持续改进。然后在一个领航性项目中采用敏捷方法论,一旦你得到了真实的经验,就可以推广到更多的项目和团队。为了开始你的敏捷之旅,上面的6个步骤可以做为指导。

(完)
 

你可能感兴趣的:(从敏捷交付开始)