基于XP敏捷开发方法的S公司移动终端项目的管理改进研究
时间:2017-08-27 来源:www.inibin.com
第一章 绪论
1.1 研究背景
在市场上既有老牌的设计公司被淘汰出局,也有新型的手机设计公司比如小米、锤子、乐视等设计公司也参与进来。这些厂商都想在未来的竞争中占领先机。在以往的非智能时代,因为非智能机的系统功能少,软件功能需求也不高,而且类似台湾的 MTK 的芯片公司还给手机设计公司提供了一条龙服务,手机设计商仅仅需要针对客户需求稍微做修改就可以将产品快速的推向市场[1]。项目周期非常短,在项目管理方面也显得过于随意。但是随着智能机时代的到来,随着用户对智能机的需求量越来越大,手机设计商纷纷的开始转型。许多设计商转型不及时惨遭淘汰,比如以往的王牌诺基亚,摩托罗拉。所以现在要求手机设计公司的项目产品需要快速紧跟着市场和客户的需求的变化。 在目前众多的软件项目管理方案中,有比如 CMMI 标准,ISO9001 标准等[2]。这些标准在项目具体的实施过程中同时也有许多可供选择的开发模型,比如有瀑布模型、迭代模型、增量模型、螺旋模型等[3]。自从 CMMI 被提出以来,CMMI 就广泛的被使用在软件项目开发的过程控制和成熟度管理中。在以往的软件项目团队管理中,为了实现对软件项目的质量管理和过程管理,一般都会去匹配 CMMI 要求。其中手机界的设计泰斗摩托罗拉是在国内软件开发项目管理企业中最先获得 CMMI 五级认证的公司[4]。但是我们发现这些方案实际上主要面向的是大型企业,而且即使是大型企业在执行 CMMI 的标准过程中,也会产生很多过程冗余的问题。所以很多中小企业如果要使用这些标准,那么需要投入人力物力成本会很大,所以不适合中小型企业。 随着智能手机移动终端时代的到来,移动终端的功能数量空前提高,软件项目编码的复杂度也随之增加,终端客户的需求差异性越来越大,这就导致了芯片供应商很难再为手机设计公司提供一条龙的服务,这就需要手机设计公司需要自身去完成对客户的需求实现。这样就大大的增加了手机设计公司的项目开发压力。而且对于新型的智能操作系统和硬件平台,有经验的开发人员非常的缺乏,更麻烦的是以往的传统项目开发管理模式比较机械。但是客户的需求问题又非常的多而且多变,这就使得手机设计商发现这种传统的项目开发模式很难应付客户对项目的需求[5]。
.......
1.2 研究的目标与内容
1.2.1 课题研究的目标
文章的研究目标为解决 S 公司在瀑布开发模型中遇到的问题。具体解决如下七个问题: 1)项目需求的理解与确认问题 2)项目需求的变动问题 3)项目团队管理问题 4)项目代码管理问题 5)项目版本管理问题 6)项目周期管理问题 7)项目质量管理问题.
1.2.2 课题研究的内容
文章主要是通过 S 公司在传统软件项目中所遇到的问题进行分析,然后针对如何在移动终端项目中选择敏捷开发方法和如何设施进行详细分析。 论文的主要研究内容包括:1)分析了国内外手机设计公司的软件项目管理的现状和 S 公司使用瀑布模型开发的方法。 2)分析了传统软件项目开发方法和敏捷开发方法的差异。 3)对比分析了敏捷项目开发的主流开发方法。 4)分析了 S 公司在项目开发中所遇到问题,然后针对这些问题如何进行敏捷开发方法的选择。 5)描述了 S 公司利用极限编程项目开发方法的开发流程,以及对瀑布模型开发中遇到问题的解决方案。 6)针对使用瀑布模型项目开发方法和极限编程项目开发方式的项目数据进行分析,将这两种项目开发方式进行比较。
.........
第二章 手机软件企业实行敏捷开发管理的现状研究
2.1 敏捷软件开发方法概述
进入 21 世纪以后,随着市场和客户的需求数量与差异性不断增加,软件产品的种类和数量空前的增多,软件开发企业之间的竞争也是日益的加剧,但是传统软件项目开发在应对这些问题时候又显得乏力,在这种项目开发背景下传统的软件开发方法和管理理论就越来越不适用了,软件开发组织和相关学者开始重新思考、定位软件开发过程,试图探索一种新的基于过程的项目管理方法[13]。 于是敏捷概念被引用到了软件领域。2001 年敏捷联盟在美国成立,《敏捷宣言》正式发表,敏捷软件的运动随之产生和发展起来[14]。敏捷代表了 21世纪互联网时代软件开发过程模式中的一种先进理念和价值观。与传统的软件开发过程相比,敏捷更强调快速灵活地响应,积极主动地迎接和适应变化,主张客户更加紧密地与软件开发组织协同工作开发,主张以人为本的核心思想,主张可持续发展[15]。它集合了一整套的价值观、原则和实践方法。 个人和交互胜过过程和工具。这个观点主要强调具有合作精神的项目开发团队在敏捷开发中的重要性。如果项目团队不能进行有效的团队合作,再强大的开发方法和开发工具都只能成为摆设[16]。在软件项目开发过程中需要哪些开发方法和开发工具的帮助和支持是由项目开发团队来讨论决定的。
.........
2.2 综合比较敏捷开发方法
在当今的经济和科技的飞速发展过程中,市场的需求正发生着日新月异的变化。与此同时客户和终端用户的需求也在发生着变化。竞争对手的出现和科技的更新换代给软件项目开发带来了非常大的挑战。所以软件项目开发人员就需要始终保持软件项目工作的敏捷性,需要通过敏捷灵活的,有适应变化需求的软件项目开发方法来适应当今市场的需求。敏捷开发方法在软件工程中特别强调四个核心问题:开发团队对项目工作的控制的能力;开发团队人员之间、开发人员以及客户的沟通交流合作;对“变化即是机遇”的理解;快速的进行软件产品交付以满足客户需求。通过上述对敏捷开发方法的描述,我们发现敏捷开发方法能够很好的解决这四个问题。 然而各种敏捷开发方法的特征如何呢,我们在实际的软件项目开发中如何进行选择呢,下面我们来对敏捷开发方法进行特征比较。 极限编程:极限编程比较适合项目规模小理想的团队人数一般不超过十人、项目进度比较近、客户的需求变化大、产品质量控制比较严格的项目。XP 希望以高效与高质量来解决客户的需求问题,通过高效的敏捷性和较小的开发成本来满足客户未来可能的需求变化,XP 在长短期的利益均衡之间进行了精巧的选择。 ASD: 自适应软件开发的特征是重点应用在构建相对比较复杂的软件项目系统的技术,其基本理念是注重于项目成员的相互协作和项目团队的自我组织完善。
......
第三章 S 公司移动终端项目开发的背景与问题 .......... 18
3.1 手机项目开发的行业背景以及特征 ............ 18
3.2 S 手机软件设计公司的人员组织结构特征 .......... 18
3.3 S 手机软件设计公司的产品特性 ........ 19
3.4 S 公司项目实施的传统项目开发方法 ......... 20
3.5 S 公司项目瀑布模型质量管理 ............ 22
3.6 S 公司移动终端项目产品特征 ............ 23
3.7 移动终端项目传统开发遇到的问题 ............ 24
3.8 针对 S 公司项目出现的问题所采取的敏捷开发方法 ........... 28
3.9 S 公司瀑布模型和极限编程模型的对比 ..... 30
3.10 本章小结 ......... 32
第四章 移动终端项目使用 XP 方案的管理改进策略 ........... 33
4.1 项目需求管理 ............ 36
4.2 项目团队管理 ............ 45
4.3 项目代码管理 ............ 51
4.4 项目版本管理 ............ 55
4.5 项目周期变动管理 .... 58
4.6 项目质量管理 ............ 60
4.7 本章小结 ........... 62
第五章 S 公司移动终端项目 XP 实施效果分析 ........... 63
5.1 传统项目开发和极限编程项目开发的项目生产率 ...... 63
5.2 传统项目开发和极限编程项目开发的代码出错率 ...... 66
5.3 传统项目开发和极限编程项目开发的项目偏差 .......... 68
5.4 本章小结 ........... 71
第五章 S 公司移动终端项目 XP 实施效果分析
上文讲述了为什么 S 公司项目团队在开发过程中为什么要从传统的软件项目开发方法切换到极限编程项目开发方法。如下文章将描述传统软件项目开发方法和极限编程项目软件开发方法的效果实施差异。针对软件项目的度量,文章采用可行性比较高的面向功能度量的方法[36]。本文选用了六个采用瀑布模型开发的项目和本文中采用极限编程的移动终端项目。这个七个项目具有项目的平均工作量、项目复杂度以及项目需求是具有相似性的。所以将这六个项目与移动终端项目进行分析对比。
5.1 传统项目开发和极限编程项目开发的项目生产率
首先文章将比较传统软件项目开发和极限编程项目开发在生产率方面的差异。Pf=FP/E; FP 代表项目功能点数,E 代表人月,Pf 表示以每人月为单位的所完成的项目功能点数[37]。该数值能够比较准确的反应在项目开发中工作的效率,在功能点的复杂情况相当的情况下,其数值越大代表工作效率越高,其数值越小代表工作效率越低。 数据分析:将瀑布项目开发方法和极限编程项目管理开发方法的结果进行比较,如表 5-1 为瀑布项目开发方法和极限编程项目开发方法的项目生产率的数据。通过综合分析瀑布模型与极限编程项目开发方法项目生产率的描述统计如表 5-2,如图 5-1 是从表 5-2 所生成的折线图,折线图中蓝色代表瀑布模型开发方法的项目生产率,红色代表极限编程项目开发方法的项目生产率。可以从图中看出瀑布模型与极限编程项目开发方法的项目生产率对比图可以看出极限编程项目开发方法的项目生产率的平均值、中位数是大于瀑布开发模型的,并且极限编程方式的项目生产率的最小数值是大于瀑布模型项目生产率的最大值的。所以极限编程项目开发方法的项目生产率是高于瀑布模型的项目生产率。 通过极限编程项目开发方法,项目开发人员与客户进行有效的沟通,所以项目开发人员在充分理解客户需求的情况下进行项目开发,保证了项目产品功能与客户需求保持一致。项目开发人员通过结对编程,这样开发人员进行相互的监督、借鉴、学习,不光可以有效的保证项目开发的质量,还可以提高开发人员的水平,这样也有效的提高工作效率。
........
结论
文章主要首先通过在当前的项目开发环境下对手机设计公司在传统项目软件开发所遇到的问题进行分析,分析出存在的需求的理解和确认、需求的频繁变动、项目开发人员的配置问题、项目周期问题。这些问题在传统软件项目开发中发现已经很难进行有效的解决。其次文章针对更有有效的项目管理开发方法即敏捷开发方法进行深入分析,并且分析了其几种主流的开发方法。然后针对 S 公司移动终端项目开发所遇到的问题进行敏捷开发方法的选择,最终选择了极限编程开发方法。再次在 S 公司移动终端项目中提出了具体的极限编程方法的实施方案,并且针对在瀑布模型开发中遇到的问题提出了具体的解决方案。最后将传统软件项目开发和极限编程项目开发进行项目方面的数据对比,说明了在 S 公司移动终端项目开发中进行极限编程开发方式的有效性。 极限编程开发方式是一种在中小型项目开发中使用的软件项目开发方式,其能够快速有效的解决客户提出的种种需求变动问题。为了极限编程的有效设施,也需要考虑到项目产品的特性和项目开发团队的特征。而且为了实现项目的有效管理,敏捷开发方式也是可以进行相互的结合使用,这也是以后需要研究的课题。
.........
参考文献(略)
相关阅读
- 商业网络构建方法及其在旅游业的应用研究2016-05-25
- 配建式公交首末站蓄车位计算方法研究2017-08-14
- 徽商银行A分行中小企业贷款风险管理优化研究2021-04-26
- 《案例》:JBL 公司——O项目的供应链管理研究2017-03-10
- 云金鹰科技商超O2O项目风险管理研究2018-06-12
- 潍坊DH建筑工程项目风险管理研究2021-04-26