research of agile development mode and its application in ...applying it to overseas development and...

17
学校编码:10384 分类号 密级 学号:X2010230022 UDC 敏捷开发模式及其在海外手机项目中的 应用研究 Research of Agile Development Mode and its Application in Oversea Cell Phone Projects 马明明 指导教师姓名:董槐林 教授 称:软 论文提交时间:2012 5 论文答辩时间:2012 5 学位授予日期: 答辩委员会主席: 人: 厦门大学博硕士论文摘要库

Upload: others

Post on 18-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 学校编码:10384 分类号 密级

    学号:X2010230022 UDC

    硕 士 学 位 论 文

    敏捷开发模式及其在海外手机项目中的 应用研究

    Research of Agile Development Mode and its Application in

    Oversea Cell Phone Projects

    马明明

    指导教师姓名:董槐林 教授

    专 业 名 称:软 件 工 程

    论文提交时间:2012 年 5 月

    论文答辩时间:2012 年 5 月

    学位授予日期: 年 月

    答辩委员会主席:

    评 阅 人:

    厦门大学博硕士论文摘要库

  • II

    2012 年 5 月

    厦门大学博硕士论文摘要库

  • 厦门大学学位论文原创性声明

    本人呈交的学位论文是本人在导师指导下,独立完成的研究成

    果。本人在论文写作中参考其他个人或集体已经发表的研究成果,均

    在文中以适当方式明确标明,并符合法律规范和《厦门大学研究生学

    术活动规范(试行)》。

    另外,该学位论文为( )课题(组)

    的研究成果,获得( )课题(组)经费或实验室的

    资助,在( )实验室完成。(请在以上括号内填写课

    题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特

    别声明。)

    声明人(签名):

    年 月 日

    厦门大学博硕士论文摘要库

  • IV

    厦门大学学位论文著作权使用声明

    本人同意厦门大学根据《中华人民共和国学位条例暂行实施办

    法》等规定保留和使用此学位论文,并向主管部门或其指定机构送交

    学位论文(包括纸质版和电子版),允许学位论文进入厦门大学图书

    馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国

    博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和

    摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。

    本学位论文属于:

    ( )1.经厦门大学保密委员会审查核定的保密学位论文,

    于 年 月 日解密,解密后适用上述授权。

    ( √ )2.不保密,适用上述授权。

    (请在以上相应括号内打”√”或填上相应内容。保密学位论文应

    是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密委

    员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认为

    公开学位论文,均适用上述授权。)

    声明人(签名):

    年 月 日

    厦门大学博硕士论文摘要库

  • 摘要

    I

    摘 要

    据统计,联想移动目前每年的海外手机项目占全年总项目数的 35%,海外项

    目 50%以上属于海外快速立项项目,即基于国内已上市项目开发,加入不同海外

    客户的特殊定制需求。该类项目的特点是项目周期较短(大概 1-2 个月),产品

    出货量较少,客户的需求输入比较分散、时间不定且经常变更。

    目前联想传统的开发模式---并行迭代,无法满足该类海外手机项目的需求。

    本文探讨如何引进敏捷开发模式并应用到海外项目的开发和测试中,以解决需求

    临时输入或者变更带来的项目风险。

    本文将详述将敏捷开发模式中的 Scrum 框架引入到联想海外项目的开发与

    测试中,通过制定 Scrum 学习和培训计划,选择合适的项目进行各个实践的试运

    行,建立 Scrum 工作模式的团队,编写产品的 Backlog,制定 Sprint 计划,编写

    Sprint Backlog,制定验收标准,进行每日例会,组织 Sprint 回顾,制定发布计划,

    执行验收测试等,最终在缩短项目周期、及减少研发资源的投入方面取得良好效

    果。

    关键词:需求多变;项目周期;敏捷模式

    厦门大学博硕士论文摘要库

  • Abstract

    II

    Abstract

    According to statistics, for now oversea projects in Lenovo Mobile are about 50

    each year, which accounts for 35% of the annual total project amount. More than half

    of the oversea projects are fast projects, which are designed based on domestic

    projects on sale and added requirements of oversea clients. The projects’ main

    features are short project cycle (about 1~2months), low shipments (about 10k,

    meaning low R&D resources), frequent changes and lack of concentration in client

    requirements input. They are different from traditional projects which have

    4~5months project cycle, more than 100k shipments, steady and specific client

    requirements and less change.

    At present, development mode of Lenovo Mobile --- parallel iteration does not

    meet the requirements of oversea projects. Introducing agile development and

    applying it to overseas development and testing is the way to reduce project risk and

    cut project cycle and design investment. Lenovo Mobile Software Team use Scrum

    framework to development and testing in oversea projects, introducing methods such

    as scheduling Scrum studying and training, carrying it out in proper projects,

    establishing Scrum work team, writing Product Backlog, making Sprint plan and

    Writing Sprint Backlog, defining acceptance criteria, arrange Daily meeting Spring

    review, making release plan, performing acceptance test.

    Keywords: Frequent Requirement Changes; Tense Project Cycle; Agile Mode

    厦门大学博硕士论文摘要库

  • 目录

    III

    目 录

    第一章 绪论 ..................................................................................................... 1

    1.1 研究背景及选题意义 ...............................................................................................1

    1.1.1 研究背景 ........................................................................................................ 1

    1.1.2 选题意义 ........................................................................................................ 1

    1.2 研究现状及存在问题 ...............................................................................................2

    1.2.1 定义及发展阶段 ............................................................................................ 2

    1.2.2 现阶段开发模式的弊端 ................................................................................ 2

    1.3 敏捷开发模式的特点 ...............................................................................................3

    1.4 本文的研究内容与结构 ...........................................................................................4

    第二章 敏捷相关知识介绍 ............................................................................. 5

    2.1 敏捷开发模式 ............................................................................................................5

    2.1.1 敏捷的定义 .................................................................................................... 5

    2.1.2 实践敏捷 ........................................................................................................ 5

    2.2 敏捷模式两种实践....................................................................................................6

    2.2.1 极限编程 ........................................................................................................ 6

    2.2.2 Scrum 简介 ..................................................................................................... 8

    2.3 Scrum 详细介绍 ......................................................................................................10

    2.3.1 三个角色 ...................................................................................................... 10

    2.3.2 四个会议 ...................................................................................................... 12

    2.3.3 三个文档 ...................................................................................................... 15

    2.3.4 Scrum 运行模式 ........................................................................................... 17

    2.3.5 Product Backlog 的特点 ............................................................................... 18

    2.4 Scrum 应对变更的优势 ..........................................................................................19

    2.5 本章小结 ..................................................................................................................19

    第三章 联想海外项目开发模式 ................................................................... 20

    3.1 联想海外项目的特点及研发过程 .........................................................................20

    3.1.1 海外项目开发特点 ...................................................................................... 20

    厦门大学博硕士论文摘要库

  • 目录

    IV

    3.1.2 联想海外项目开发过程 .............................................................................. 20

    3.2 海外项目运行模式与 Scrum 对比 ........................................................................21

    3.3 本章小结 ..................................................................................................................24

    第四章 迭代过程分析 ................................................................................... 25

    4.1 迭代过程中的角色..................................................................................................25

    4.1.1 产品经理 ...................................................................................................... 25

    4.1.2 过程保证者 .................................................................................................. 25

    4.1.3 研发团队 ...................................................................................................... 26

    4.1.4 测试人员 ...................................................................................................... 26

    4.2 过程迭代分析 ..........................................................................................................26

    4.2.1 迭代过程综述 .............................................................................................. 26

    4.2.2 迭代前准备 .................................................................................................. 27

    4.2.3 迭代计划会 .................................................................................................. 28

    4.2.4 每日例会 ...................................................................................................... 29

    4.2.5 评审会 .......................................................................................................... 30

    4.2.5 反思会 .......................................................................................................... 31

    4.2.6 进入下次迭代 .............................................................................................. 32

    4.3 本章小结 ..................................................................................................................32

    第五章 Scrum 在海外项目 Shark55 中的应用 .......................................... 33

    5.1 海外项目 Shark55 介绍 .........................................................................................33

    5.2 该软件发布计划及测试计划 .................................................................................33

    5.3 该项目的实际软件发布及测试情况 .....................................................................35

    5.4 引入 Scrum 模式后 ................................................................................................38

    5.5 实践结论 ..................................................................................................................41

    5.6 本章小结 ..................................................................................................................41

    第六章 总结与展望 ....................................................................................... 43

    6.1 总结 ..........................................................................................................................43

    6.2 展望 ..........................................................................................................................43

    厦门大学博硕士论文摘要库

  • 目录

    V

    参考文献 .......................................................................................................... 44

    致 谢 .......................................................................................................... 46

    厦门大学博硕士论文摘要库

  • CONTENTS

    VI

    CONTENTS

    Chapter 1 Introduction .................................................................................... 1

    1.1 Research Background and Significance .................................................................. 1

    1.1.1 Background ..................................................................................................... 1

    1.1.2 Significance ..................................................................................................... 1

    1.2 Research Status and Existing Problem ................................................................... 2

    1.2.1 Definition and Development Stages ............................................................... 2

    1.2.2 Disadvantages of Present Development Mode ............................................... 2

    1.3 Features of Agile Development Mode ...................................................................... 3

    1.4 Contents and Structures of the Research ................................................................ 4

    Chapter 2 Relevant Knowledge About Agile ................................................. 5

    2.1 Agile Development Mode .......................................................................................... 5

    2.1.1 Means of Agile ................................................................................................ 5

    2.1.2 Agile Practices ................................................................................................ 5

    2.2 Agile Practices in Two Ways ..................................................................................... 6

    2.2.1 Extreme Programming .................................................................................... 6

    2.2.2 Scrum Introductions ........................................................................................ 8

    2.3 Scrum Details .......................................................................................................... 10

    2.3.1 Three Roles ................................................................................................... 10

    2.3.2 Four Meetings ............................................................................................... 12

    2.3.3 Three Documents .......................................................................................... 15

    2.3.4 Operation Mode of Scrum ............................................................................ 17

    2.3.5 Features of Product Backlog ......................................................................... 18

    2.4 Advantages of Scrum in Response to Changes ..................................................... 19

    2.5 Summary .................................................................................................................. 19

    Chapter 3 Lenovo Overseas Project Development Mode .......................... 20

    3.1 Features and R&D Process of Lenovo Oversea Project ...................................... 20

    3.1.1 Development Features of Oversea Project .................................................... 20

    厦门大学博硕士论文摘要库

  • CONTENTS

    VII

    3.1.2 Lenovo Oversea Project Development Process ............................................ 20

    3.2 Comparison between Oversea Project Operation Mode and Scrum ................. 21

    3.3 Summary .................................................................................................................. 24

    Chapter 4 Iteration Process Analysis ........................................................... 25

    4.1 Roles in Iteration Process ....................................................................................... 25

    4.1.1 Product Manager ........................................................................................... 25

    4.1.2 Scrum Master ................................................................................................ 25

    4.1.3 R&D Team .................................................................................................... 26

    4.1.4 Tester ............................................................................................................. 26

    4.2 Process Iteration Analysis ...................................................................................... 26

    4.2.1 Iteration Process Overview ........................................................................... 26

    4.2.2 Iteration Preparation ...................................................................................... 27

    4.2.3 Iteration Plan Meeting ................................................................................... 28

    4.2.4 Daily Meeting ............................................................................................... 29

    4.2.5 ReviewMeeting ............................................................................................. 30

    4.2.5 Retrospective Meeting .................................................................................. 31

    4.2.6 Next Iteration ................................................................................................ 32

    4.3 Summary .................................................................................................................. 32

    Chapter 5 Scrum Application in Oversea Project Shark55 ....................... 33

    5.1 Shark55 Introductions ............................................................................................ 33

    5.2 SW Releasing Plan and Testing Plan ..................................................................... 33

    5.3 The Actual Status of Shark55 ................................................................................. 35

    5.4 The Status after Introducing Scrum to Shark55 .................................................. 38

    5.5 Practice Conclusion................................................................................................. 41

    5.6 Summary .................................................................................................................. 41

    Chapter 6 Conclusions and Prospects .......................................................... 43

    6.1 Conclusions .............................................................................................................. 43

    6.2 Prospects .................................................................................................................. 43

    厦门大学博硕士论文摘要库

  • CONTENTS

    VIII

    References ....................................................................................................... 44

    Acknowledgements ........................................................................................ 46

    厦门大学博硕士论文摘要库

  • 第一章 绪论

    1

    第一章 绪论

    1.1 研究背景及选题意义

    1.1.1 研究背景

    目前联想移动每年的海外手机项目大约有 50 个,占全年总项目数的 35%,其中

    50%以上属于海外快速立项项目,即基于国内已上市项目开发,加入不同海外客户的

    特殊定制需求。该类项目的特点是项目周期较短,大概 1-2 个月,客户的需求输入比

    较分散、时间不固定且经常变更,海外项目与传统的项目不同,传统的项目周期一般

    在 4-5 个月,产品的出货量在一般在 10 万台以上,需求一般在项目立项时即可一次

    性提出,后续的更新较少。

    基于海外项目的以上特点,目前联想的传统开发模式---并行迭代无法满足该类项

    目的需求。本文探讨引用何种模式到海外项目的开发和测试中来,以解决需求临时输

    入或者变更带来的项目风险,同时希望推行该模式在海外项目的广泛应用,以达到缩

    短项目周期和减少研发资源的投入的目的。

    经初步评估和对比,计划将敏捷开发模式中的 Scrum 框架引入到联想海外项目的

    开发与测试中。通过制定 Scrum 学习和培训计划、建立 Scrum 工作模式的团队、选择

    合适的项目进行各个实践的试运行、编写产品的 Backlog、制定 Sprint 计划、编写 Sprint

    Backlog,制定验收标准、进行每日例会、组织 Sprint 回顾、制定发布计划、执行验收

    测试等活动,最终证实 Scrum 模式在缩短海外快速立项项目周期及减少研发资源的投

    入方面取得良好效果。

    1.1.2 选题意义

    该课题的意义:通过对敏捷模式的学习及敏捷模式在海外项目中的实践,建立适

    合联想海外项目的开发与测试模式,解决目前联想海外项目面临的因客户需多变造成

    的项目周期风险及减少因客户需求变更带来的研发资源投入。

    厦门大学博硕士论文摘要库

  • 敏捷开发模式在海外手机项目中的应用研究

    2

    1.2 研究现状及存在问题

    1.2.1 定义及发展阶段

    现阶段联想的研发模式为并行迭代开发模式,该模式与传统的增量开发模式类

    似,又叫增量式开发,是目前软件工程中一种较为常用和普遍常用的软件开发过程。

    增量是指在软件的开发过程中,优先开发主要功能架构,然后再开发非主要功能,逐

    步完善,逐步完成符合客户需求的软件产品。在整个开发过程中,需求变更是难以避

    免和控制的,那么增量模型的灵活性在使其适应这种变化的能力方面极大的优于瀑布

    模型和快速原型模型,由于各个新功能是逐步导入已有的架构中,所以新功能的导入

    必须保证不破坏现有的框架,但是需求的变更往往难以控制,所以该类模型也容易退

    化为边做边改模型,从而造成对软件过程的控制失去整体性。

    1.2.2 并行迭代开发模式的弊端

    联想的并行迭代开发模式比较适合传统的手机项目,而海外快速立项项目由于周

    期短、客户需求多变的特点决定了该模式不完全适合应用到海外快速立项项目中,主

    要存在以下问题:

    1. 无法满足多变的客户需求

    海外项目的周期较短,一般 1-2 个月的开发周期(测试时间亦包含在内),如果

    客户的需求多变将直接导致研发人员为了应付客户的新需求不停的出版本、测试部门

    为了评价最新的软件质量情况不停的切换版本进行测试,造成的结果是测试无法在一

    个测试版本上输出完整的测试结果,最终导致无法对软件的整体质量给出明确的评

    估,因此为了给客户提供高质量的软件产品,必须保证软件过程不能随意接受变更,

    因而多变的客户需求就无法被满足。

    2. 可投入资源少

    海外项目一般出货量较少(也就意味着盈利较少),对于盈利较少的项目,同样

    可投入的开发和测试资源有限,所以不可能针对开发发布的每个版本都投入大量资源

    进行全面测试。对未做全面测试验证的版本,无法从测试方面保证所有问题都能被发

    现,也无法全面评估两个版本间的修改是否会带来新的问题,从而给质量造成一定风

    险。

    厦门大学博硕士论文摘要库

  • 第一章 绪论

    3

    3. 基于已成熟平台开发,客户的需求不一定能全部满足

    海外项目一般是基于国内的成熟版本开发,加入海外客户的特殊需求,如语言包,

    当地的网络配置及客户要求的特殊应用等组成,这些都不涉及到底层的协议变动,开

    发相对容易。如果客户的需求一旦需要涉及到底层协议部分,则无法满足,若客户不

    加入到整个开发团队中,则不能全面了解整个开发过程及遇到的无法解决的困难,若

    客户的需求没有被满足,客户将很难接受。

    因此,为了解决遇到的上述问题,急需寻找一种适合联想海外项目的开发模式,

    而敏捷模式由于具有可快速响应变更的特点,所以敏捷模式的研究和应用被首先在联

    想的海外项目组中提出来。

    1.3 敏捷开发模式的特点

    敏捷开发模式是应对经常变化的、具有不确定性的软件项目的开发模式。敏捷,

    即灵活性,是动态的、适应于具体情况、迎合变化和自我完善的[1]。敏捷提倡“轻量

    级”(lightweight))的开发模式。“轻”与“重”的差异不是指敏捷开发模式需要丢弃

    分析、设计这些过程,敏捷开发模式认为分析和设计适度即可;同时敏捷开发模式更

    强调迭代,要求迭代的周期不能过长,通常为 2~4 周,软件是通过一次接一次的较短

    周期迭代而最终形成,每次迭代都产生可工作的软件或代码,而不是经历漫长的过程

    等待,等待软件最终的“化茧成蝶”。

    敏捷开发模式的历史上最为重大的事件是“敏捷软件开发宣言”(Manifesto for

    Agile Software Development)[2]的发表,该宣言制定了 4 个核心价值观:

    1. 个体和交互 高于 过程和工具

    方法和工具是死的,人是活的,如果人与人之间不能很好的合作,再强大的工具

    和方法都无法将作用发挥到极致。

    2. 工作的软件 高于 详尽的文档

    文档编写要创新。既然项目的目的是做出可运行的软件,与其投入较多时间写过

    于详细和冗长的文档,不如花更多精力做出可运行的软件更重要。

    3. 客户合作 高于 合同谈判

    重新定位合同的地位。与其谈判一个详尽但最终没能实现的合同,不如花时间与

    客户沟通并最终将客户需求实现所获取的利益更大。

    厦门大学博硕士论文摘要库

  • 敏捷开发模式在海外手机项目中的应用研究

    4

    4. 响应变化 高于 遵循计划

    清楚项目中的计划,同时灵活应对变化。如果外部需求变了,而项目未及时做出

    相应,导致最终产品不能满足客户需求,则未达到项目目的。

    以上 4 个核心价值观总结为:简单、沟通、反馈、勇气[3]。正如敏捷所倡导的:

    它的宣言也非常“轻量”。敏捷宣言强调在实践中发现好的方法,并且认为人(开发人员

    与客户)、可交付成果(软件产品)、适应变化这个要素在软件开发中更为重要,它的核心

    理念是“变革”,即从“重量级”的过程式开发变革到“轻量级”的敏捷模式,对过

    程式开发过度看重计划、文档,过程等进行精简[4]。一个组织、一个团队、一个项目

    是否敏捷,判断的唯一标准就是是否遵循以上四条原则,敏捷的项目管理亦需要遵循

    这四条原则。

    1.4 本文的研究内容与结构

    本课题采用理论研究与实践相结合的方式,通过对敏捷模式的研究,结合联想海

    外项目的实际运行情况进行对比阐述,力求将敏捷模式引入到联想海外项目中。

    本文共分为六章进行阐述,内容如下:

    第一章介绍该课题的研究背景、研究内容,阐述现阶段联想的开发模式及在当前

    开发模式下,海外项目所面临的问题。

    第二章介绍敏捷开发模式的概念及特点、敏捷开发模式的相关知识并详细介绍了

    敏捷开发模的式几种框架、各自的特点及所适合的项目类型。

    第三章介绍联想海外项目的特点,并与敏捷开发模式对比,明确阐述敏捷模式应

    用到联想海外项目中的优势。

    第四章介绍将敏捷开发模式引入联想手机项目后生成新的迭代过程及在该迭代

    中各个角色的对应关系及各活动实践。

    第五章介绍在联想海外项目 Shark 55 中实践新的迭代过程,通过实践来检验敏捷

    开发模式对联想海外项目的适合程度。

    第六章对全文进行总结,分析该课题的成功与不足,并对该课题提出进一步的改

    进方案。

    厦门大学博硕士论文摘要库

  • Degree papers are in the “Xiamen University Electronic Theses and Dissertations Database”. Fulltexts are available in the following ways: 1. If your library is a CALIS member libraries, please log on http://etd.calis.edu.cn/ and submitrequests online, or consult the interlibrary loan department in your library. 2. For users of non-CALIS member libraries, please mail to [email protected] for delivery details.

    厦门大学博硕士论文摘要库

    http://etd.xmu.edu.cn/http://etd.calis.edu.cn/mailto:[email protected]