政府部门应用敏捷方法
\敏捷宣言说明:
\\\个人和协作胜于过程和工具
\可工作的软件胜于面面俱到的文档
\客户合作胜于合同谈判
\响应变化胜于拘泥于计划
虽然右边的条目也有价值,但我们认为左边的具有更大的价值 [1]
\然而,联邦政府部门通常倾向于右边的条目。因为相比商业世界中更期待交付价值,政府部门通常关注降低风险。在这种环境中,采用敏捷方法的机构能否为联邦政府交付价值?
\这份报告阐述了敏捷思想和流程如何在人事管理办公室(OPM)的项目中得以应用,帮助OPM对问题多多的退休系统现代化(RSM)计划进行改革和交付价值。
\RSM的历史
\目前OPM平均需要138天才能处理完退休申请[2]。关键的问题在于,处理退休申请所需的各种信息仍然在纸质表格上。
\RSM计划的目标是将目前基于纸质表格的联邦退休管理系统和系统基础架构升级到电子化在线系统,这个新系统被称为RetireEZ。这个计划曾经尝试过至少三种“大爆炸”式的实施方案。[3]最后一次尝试中采用了传统的需求分析、设计、实施和测试循环的方法来开发系统。在测试阶段暴露出很多严重的问题。这些严重的问题最终导致OPM和开发商达成了终止RetireEZ合同的决定。[4]
\新方案
\\\{OPM主管John }Berry说,OPM仍会尝试开发自动化的退休管理系统,但会采用增量式开发模式,而不是试图一次性重新构建整个系统。“我不想让以前的错误重演”他说。[5]
\
在与上一家开发商终止合同后,OPM提出了一个新的解决方案,尝试解决之前困扰RSM计划的各种问题。新解决方案的要点包括:
\- 识别最有价值的交付物\
- 建立OPM领域专家和外部数据提供方之间的沟通和协作闭环\
- 采用迭代式的敏捷过程\
识别价值
\困扰之前所做的努力的一个问题在于,RSM计划尝试一次性解决所有问题。很多并行的工作同时开展,为了:
\- 创建电子数据源,以转换纸质表格\
- 实现电子化的退休审核\
- 开发在线退休管理工具\
- 开发退休计算器\
- 实施数据清理\
- 为退休管理系统建模\
作为从过去汲取的教训,OPM的首席信息官办公室(OCIO)决定不再试图一次解决所有问题。而是尝试首先解决最重要的问题:数据。数据本身对其它所有工作来说是最为关键的,上述列出的所有工作都依赖于解决数据问题。也就是说,优先级最高的工作是解决数据问题。了解了这个情况后,RSM数据处理项目成为优先级最高的工作,目标是为退休数据源制定标准。
\沟通与合作
\ \示例图1 - 退休申报流程
\\\领域专家了解退休流程 —— 从告知领域专家系统如何工作转向理解他们对数据的要求,以便数据提供方提供何种数据 —— 工作重点从收集需求转向确认需求
\
如示例图1所示,当前的退休处理流程要求数据提供方为OPM退休审核人员提供纸质的数据。退休审核人员处理纸质文本然后将处理后的数据录入退休管理系统。初始的工作会上,项目团队每天与不同的数据提供方制定退休系统数据源格式。在和各个数据提供方的会议和对系统不断理解的过程中,项目团队很快发现真正的用户是退休审核人员。这些退休审核人员是真正的OPM领域专家,他们对退休审核相关的数据和流程有着更深入的理解。于是RSM数据处理项目团队改变了工作会,团队每周与领域专家开两次会,制定数据源标准。类似的,一次召集所有的数据提供方确认需求和数据规范比从每个数据提供方单独收集需求更有效率。
\在与OPM的领域专家紧密合作的过程中,RSM数据处理团队取得了显著进展。特别是:
\- RSM数据处理团队真正理解了数据和RSM计划的需要\
- RSM数据处理团队与领域专家建立了合作关系\
- SME作为RSM计划的成员\
- SME作为团队的一部分参与RSM数据处理团队与数据提供方的会议\
充分发挥领域专家的价值并将之纳入项目团队,是RSM计划走入正轨并开始交付价值的一个重要的指标。领域专家成为RSM数据处理项目的重要贡献者。
\迭代式解决方案
\\\“OPM不会只完成纸质文档处理模块,”{OPM主管}Berry说道,“{OPM}正在考虑如何在目前数据处理模块及未来解决其它技术问题中采用敏捷开发方法。”[6]
\
基于前车之鉴,OPM首席信息官办公室转向迭代式开发流程,Scrum方法本质上正是基于迭代式开发流程的。RSM项目组聚集了优秀的业务分析师、开发人员和有敏捷经验的Scrum Master。项目组的首要任务是制定退休管理系统数据源标准,并开发一个系统从数据源接收、校验、存储和检索数据。
\ \图1 - 敏捷宣言签署人Alistair Cockburn参观RSM数据处理团队的Scrum墙
\项目组的Scrum流程定义了每两周作为一个迭代周期。每个迭代周期的第一天用来做迭代计划,包括回顾product backlog,从中选择当前sprint的用户故事(user story)并将用户故事分解为开发任务(task)。在每个迭代周期中,项目组成员首先制定数据源格式标准,然后开发相应的系统功能,然后每周有两天时间部分项目组成员和领域专家召开工作会。工作会的内容包括实时协作和开发数据源系统,同时也包括验证系统。每个sprint的最后一天,项目组评审系统和sprint的工作情况并进行项目回顾。最终项目组能够在一天之内完成迭代计划、评审和回顾。
\ \示例图2 - 迭代计划
\找到Product Owner
\团队最大的问题在于他们没有一个典型的Scrum Product Owner。最终项目团队决定把Program Manager当做Product Owner。项目组组长在和Program Manager的会上使用来自与领域专家工作会上获得的信息和政府部门主管的意见,与PM共同制定用户故事的优先级并对项目目标和sprint目标达成一致。
\Program Manager把上述目标信息传达给项目团队,因此关于项目优先级等方面团队能够统一意见,这些信息也告诉团队项目的进展方向。项目团队也通过和领域专家的会议来验证迭代周期的工作。
\项目治理
\对于联邦政府项目,必须遵循项目治理的要求。幸运的是,对于RSM数据项目来说,项目组和RSM项目管理办公室(PMO)建立了良好的工作关系。项目组和PMO充分合作以满足项目治理的要求。对于项目治理来说,最重要的两个要求是月度项目进展报告和挣值管理(EVM)数据更新。
\对项目组来说,编写月度项目进展报告比较简单。因为RSM数据处理项目组已经使用项目跟踪系统和Scrum故事墙来跟踪backlog的内容,所以编写进度报告是小菜一碟的事。更新挣值数据相对困难一些。敏捷方法在本质上并不排斥挣值管理,而且可以找到敏捷挣值管理的出版物AgileEVM[7]。然而,很多挣值管理的实现都遵循瀑布模型:需求分析、设计、开发、测试和发布。这就和Scrum方法倡导的基于产品特性而非基于开发生命周期顺序来管理工作相矛盾。另外如果重新制定工作优先级将会破坏挣值管理中设定的基线。如果在挣值管理中一项工作计划于本月完成,但项目组希望在下个迭代完成,EVM就会显示该工作为红色,这时项目就有麻烦了。项目团队发现解决这个问题最有效的方式是帮助联邦政府的管理人员理解调整项目中工作优先级的原因是根据项目自身的需要做出的。这时候项目团队和OPM的领域专家们的密切合作关系发挥了作用。领域专家们成为帮助联邦政府管理者理解项目进展和项目组工作情况的关键人物。
\在“妥协的艺术:Scrum和项目治理”一文中,Mike Cohn对于如何解决项目治理的问题给出了很好的建议,他说:
\- 谈判并设置对于项目的期望\
- 报告要符合期望\
- 邀请他们参与到过程中来\
- 参照一个成功的案例[8]\
联邦政府中的CIO们面临调和OMB、领域方面干系人和技术人员之间不同的关注点的挑战。OPM采取的慎重的方法和在RSM计划中取得的成果让所有这些不同的听众都非常满意。
\结果
\早先提到过,制定退休管理系统数据源标准是RSM数据处理项目的首要任务。好消息是,项目组完成了这项工作,OPM在《退休管理系统数据报表指南》[9]
\(简称GRDR)中发布了数据源标准。这套指南通过了联邦政府内部和外部的退休管理领域专家审核,是个可工作的解决方案。目前该计划正在收集反馈和进行测试,这些反馈意见将会用来不断更新GRDR。
\图2 - 《退休管理系统数据报表指南》
\同时,项目向领域专家们展示了数据检索和校验软件,项目团队仍在继续定义和开发系统的业务规则。项目团队取得的成果是RSM计划于2008年完成的目标,前几次尝试均告失败而停止。
\敏捷方法的新成果
\经过慎重考虑,OPM的OCIO决定通过简化组织流程使OPM交付更快速、出资方满意度更高,同时也避免和机构一直以来更熟悉的非敏捷流程的文化相违背。OCIO在慎重的寻找敏捷和组织文化间的平衡,并计划小幅逐步向敏捷方法转型。
\RSM数据项目并不是OPM刻意尝试敏捷方法,而是试图采用敏捷方法推进项目进展并取得成效。2010年,OPM启动了两个新的敏捷项目:一个是短期的财政项目,另一个是新网站迁移项目。在这两个项目中,OPM从RSM数据项目中抽调了实施敏捷方法的关键人员,用他们的经验在OPM内部实施敏捷方法。OCIO将会依据这些敏捷项目的成效和教训帮助今后在OPM内部实施敏捷战略。
\[1] Manifesto for Agile Software Development
\[2] OPM announces another overhaul of federal retiree system, Joe Davidson, October 20, 2010
\[3] OPM shakes up retirement office to improve claims processing, Jason Miller and Max Cacas, October 21, 2010
\[4] OPM and Hewitt Make Nice on RetirEZ, Alyssa Rosenberg, February 9, 2009
\[5] At OPM, an overhaul of retirement processing, Joe Davidson, October 21, 2010
\[6] OPM shakes up retirement office to improve claims processing, Jason Miller and Max Cacas, October 21, 2010
\[7] AgileEVM: Measuring Cost Efficiency Across the Product Lifecycle, Tamara Sulaiman, October 5, 2007
\[8] The Art of Compromise: Scrum and Project Governance, Mike Cohn, December 22, 2009
\[9] Guide to Retirement Data Reporting, Office of Personnel Management, June 30, 2010
\关于作者
\Richard Cheng是Excella Consulting的管理咨询师,为华盛顿特区的商业和政府客户提供咨询服务。Richard在下面的项目中成功的实施敏捷原则:
\- 管理互联网项目 \
- 实现数据交易服务 \
- 创建内部通用账务应用程序\
- 实现企业级财务软件包\
- 为非技术团队和组织开发流程\
作为管理咨询师,Richard指导和培训客户采用并实施敏捷方法和Scrum。Richard同时领导Excella的敏捷卓越中心(Agile Center of Excellence)。目前,Richard正在将敏捷方法引入联邦政府,正在与人事管理办公室合作进行敏捷项目。
\查看英文原文: Agile at the Office of Personnel Management
\感谢崔康对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。