• 快捷搜索
  • 全站搜索

保险业Scrum敏捷开发初探

2015-02-27 17:12:25作者:中国人寿保险股份有限公司研发中心 陈起 张海文 沙兴编辑:金融咨询网
为解决项目开发中存在的各种问题,业内普遍流行使用敏捷的开发方法。中国人寿保险股份有限公司尝试采用Scrum进行敏捷开发,取得了较好的效果。

在以往的项目研发过程中,经常会遇到如下问题:版本后期工作计划非常紧张;版本经常无法按时发布;在版本发布的最后阶段变更更多;制定计划的时间过长,且计划不准确;在版本发布中期很难做变更;项目质量不断恶化;团队成员压力越来越大等。这些问题对项目的如期完成造成很大威胁。为解决上述问题,业内普遍流行使用敏捷的开发方法。人寿股份研发中心在对各种敏捷方法进行了解后,尝试采用了Scrum进行敏捷开发。

一、Scrum简介

        Scrum是一个敏捷开发框架,流程与角色示意如图1所示。

S-c-r-u-m敏捷开发初探-图1.jpg

        (1)Product Owner:产品所有者,代表了所有的干系人。主要责任是创建和维护产品需求清单,即管理项目的范围。同时对每次Sprint的结果进行评审和批准。

        (2)Scrum Master:负责指导过程的执行。训练团队,提高生产率;培训产品所有者和干系人,确保Scrum流程的执行;确保一切工作按照既定的规范来运行;规划并进行必要的改进;推动会议的召开等。

        (3)Scrum团队:承诺完成工作,向干系人交付产品价值。团队应当是自发组织的,组员选择自己的任务,而不是别人强制加以分配。团队负责参与迭代任务清单的创建;执行为干系人创造价值的工作;根据团队的承诺完成所需的各项任务;工作中的各项障碍迅速与Scrum Master进行沟通;全面参与所有的各项会议。

        项目周期一般由多个Sprint组成,是一个增量的迭代过程,通常持续1~4周的时间。一般Sprint的时间是限定好的;不能从外部改变正在进行中的Sprint持续时间和范围。每个Sprint都可以产生可交付的迭代成果物。原则上,当产品开发到一定程度时,比如已经实现了足够的客户价值,项目就可以在任何一个Sprint后结束。

二、项目开发过程

        1.项目选型

        根据Scrum的特点,研发中心在众多项目中选择了一个比较适合的项目。首先,此项目的客户需求非常灵活,与销售一线贴近,需求细节总是在不断讨论中细化;其次,研发中心就这个项目与客户有多次沟通,客户也非常愿意参与到项目中;再次,该项目的项目经理也非常愿意进行Scrum的尝试。整个项目是在分公司现场进行的封闭开发。

        2.团队组建

        按照Scrum角色框架,整个团队包括产品负责人Product Owner,Scrum Master以及Scrum团队。在这次项目中,产品负责人为客户的需求联系人;Scrum Master由项目经理兼任;Scrum团队包括1名需求人员,9名开发人员,1名集成测试人员。其中9名开发人员中有6人是从其他项目组抽调的。

        在项目进行之前,根据项目组新组建的情况以及对Scrum的了解情况,安排了Scrum和项目背景的培训。在整个团队组建过程中,采用了Scrum的思想和方法。

        (1)创建团队宣言,制定基本工作规范,所有人遵守;
        (2)将项目常用信息贴到墙上,供所有项目组成员参考使用;
        (3)安排专人梳理系统搭建流程并整理成相应的手册文档;
        (4)创建配置管理库,相关设计文档、需求讨论记录全部归档;
        (5)全员参与需求讨论。

        3.PBL管理

        在Scrum中,需求管理是通过产品任务清单的管理来实现的,主要思想是持续积累、持续完善。在这次项目中,启用了专门的需求分析人员进行需求分析,采用产品任务清单的方式,与Product Owner逐一确认。

        (1)需求分析人员全程参与项目开发过程。每个Sprint需求分析人员主要分析本Sprint用户故事的需求;
        (2)需求分析与设计同步;需求人员与开发人员共同确定业务流程及原型;
        (3)需求人员与业务人员对需求的讨论和评审,全员参与。

        取得的效果有如下两方面。

        (1)提升效率,改变了以往需要详细需求分析完或后,再开始做设计开发的模式;
        (2)后期需求变动较少,业务部门、需求人员、设计人员共同确定需求,基本达成三方一致。

        这次项目仍启用专门的需求分析人员,主要是因为Product Owner并不专业,业务人员对Scrum的理解不够,同时项目组人员需求分析技能不够,因此在需求管理方面,采用了Scrum的思想和方式,但是人员上还是采取了传统方式。

 1 2 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章