智能跑步机项目迭代进度计划探析

2019-11-12 07:32陶君王绍宇
中国管理信息化 2019年19期

陶君 王绍宇

[摘    要] 进度计划是IT项目进度管理的重要组成部分,由于敏捷开发和迭代式开发方法在中小型IT企业中的广泛使用,如何制订合理的迭代进度计划成为决定IT项目进度管理是否高效的重要因素。论文以某智能跑步机研发项目中的迭代进度计划为研究对象,分析了制定进度计划的流程与方法,探讨了如何制定以经济价值优先的进度计划。论文结合具体实际项目探析了小周期迭代式敏捷开发方式如何能较好满足中小IT企业快速灵活开发的实际项目需求,有效地提升了项目进度管理的效率。

[关键词] 敏捷开发;迭代计划;项目进度管理;智能控制系统

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 19. 043

[中图分类号] F272    [文献标识码]  A      [文章编号]  1673 - 0194(2019)19- 0097- 03

0      前    言

随着当今信息与产品更新换代速度越来越快,IT项目开发也日益迫切需要进行快速灵活的开发。一方面客户需要将产品快速推向市场,甚至可以进行分期提前发布;另一方面,立项和研发都快速推进的项目往往会在研发过程中面临需求频繁变更的问题而需要灵活调整进度。考虑到目前国内智能跑步机设备类产品的主要销售方式是以电子商务为主,因此快速的电商变化使得智能跑步机项目的研发流程对快速灵活开发的需求尤为迫切。制订适合智能跑步机项目的进度计划不仅可以使项目快速开发,同时又能将需求变更产生的负面影响减小到最小,是实施高效的项目管理与进度控制的重要步骤。

1      项目概况

某智能跑步机项目基于深度精简定制的安卓系统平台开发,结合云互联大数据服务平台,主要为用户提供跑步机控制、语音识别、运动计划管理和运动数据管理功能等。该项目整体规模虽然不是很大,但是需要进行硬件、系统、服务器和应用等多个层级的开发和整合,也是首次在嵌入式平台上进行实时语音识别新技术,项目开发的技术难度和风险都较大。

1.1   迭代式进度计划

考虑到产品的市场竞争较为激烈,为将系统尽早推向市场形成品牌技术优势。该项目先期完成了整体框架设计和关键技术风险识别,但没有进行完整详细的需求收集与分析,这给制订项目进度计划带来一定的困难,后续研发阶段也可能存在很多重新定义需求或者变更需求的情况。针对以上实际情况,论文基于敏捷迭代式开发模式制订了详细的迭代进度计划,以小周期基本单元的独立开发方式循序渐进进行迭代开发。尽可能地细化分解项目,并按用价值优先级替代模块顺序开发,项目在面对变更时只需要付出最小的代价即可灵活调整。

1.2   項目进度计划特点

1.2.1   充分团队决策式共同制订计划

该项目完全抛弃传统项目经理或者系统分析员对项目决策的方式,改为由团队共同决策的方式,无论对系统需求的定义与分解、任务工作量的估算和优先级的评估,还是最终制订迭代计划,全部由团队成员共同讨论而决定。这种决策方式,无论工作效率还是实际估算评估结果,都更贴切项目的实际情况。

1.2.2   相对经济价值优先级的任务排序

该项目对任务优先级的评估,并未单纯追求任务自身价值,而是综合了任务产出价值与成本投入之间的相对权重。经济价值优先级符合分期发布产品的要求,优先实现价值高的部分模块以便尽早产生收益。相对优先级还有一个优点是准确性,因为项目的是评估所有任务之间的相对大小,只要所有任务使用同一标准并且相对准确,无论任务评估是否符合实际情况,任务之间的相对优先级结果都会一致的。

2      迭代进度计划制订方法与流程

项目敏捷迭代进度计划的核心内容是以经济价值优先级和独立小周期式的迭代开发。该项目基于“故事”型任务的迭代计划制订流程为:首先进行需求分析和故事定义并且进行必要的故事分解,得出细化独立的“故事”型任务;接着以扑克规划法估算任务工作量;再进行相对权重优先级评估,结合团队一个迭代周期开发总效率,按任务优先级从高到低的顺序分割任务;最后结合一些约束项形成最终的敏捷迭代进度计划。

2.1   故事型的任务定义与分解

项目对系统需求分析和分解是以“故事”型的任务为基本单元,任务的定义是以用户在跑步机系统中的使用活动流程为导向,明确用户操作的具体功能内容以及该操作的流程和步骤,规范任务需要的数据以及数据格式、数据存储、数据分析等附加内容。“故事”型的任务可以理解为一个独立的微小功能单元,任务之间的关联为低耦合高内聚。该设计在需求频繁变更而需求调整进度计划时可以将负面影响和损失降到最低。

例如智能跑步机中“使用小程序扫码登录”的故事可按表1方式来定义。

当某个任务的规模较大不能在一个迭代周期内完成时,需进一步垂直细化分解。在功能可独立使用的前提下,任务的规模越小越有利于迭代开发和调整进度。分解的过程同上述任务定义过程一样,“小程序扫码登录”故事可以再分解为“小程序扫码二维码”、“后台服务使用MQTT推送登录消息”、“跑步机接收MQTT的登录消息”和“跑步机本地化登录”等。

2.2   任务工作量估算

智能跑步机项目由团队共同决策估算任务工作量。共同决策目的是寻求团队达成共识的一个估算结果,而不是折中或者平均化估算结果,共识的结果更贴切团队实际开发效率。共同估算由同时估算和探讨组成:成员首先给出自己的估算结果,如果成员之间的结果差异较大,说明大家理解存在较大分歧,需要差异最大的成员需要阐述自己的理解。接着团队共同讨论和交流,并且再进行一轮估算。通过进行多轮探讨与估算,任务工作量可达成较为统一的结果。如果实在难以达成共识的任务,可由项目经理综合考虑并直接给出最终估算结果。

例如“后台服务使用MQTT推送登录消息”任务的部分估算情况可按表2步骤进行。

2.3   相对优先级评估

项目评估优先级的因素包括产出价值与成本投入。产出价值包括任务实现后能产生的收益价值和未能实现带来的损失价值,成本投入为实现任务所需资源总和,包括人力成本、测试成本、固定资产、商务成本等。价值占总比(PVi)为任务产出价值(Vi)在项目所有总价值中(PVT)所占的比率,成本占总比(PCi)即为任务成本投入在项目所有总成本(PCT)中所占的比率。第i个任务的优先级计算公式如下:

Pi=PVi /PCi=■/■=■/■(1)

考虑到评估优先级需建立一个相对的参考标准,项目采用10分制计算方法和上下限范围参考标准。上下限参考标准从所有任务中选出最小价值和最大价值的任务,价值最小的任务定为1,价值最大的任务定为10。以此最小价值和最大价值的任务为参考,依次评估每个任务与他们的相对大小,做出相对价值和成本的评估。如表3中“电机异常时安全停机”相对收益为8,缺少这些功能所带来的相对惩罚为5,产出价值为8+5=13,价值占总比为13/35=0.37,成本占比为15/90=0.167,最后优先级为0.37/0.167=2.23,同样的方法计算“使用感应器获取用户心率”的优先级为0.90,“通过WiFi 控制跑步机加速”的优先级为0.70。安全停机功能会影响到用户安全,该功能十分重要,而获取用户心率只是为用户跑步时调整配速提供参考,并且实现安全停机功能要更简单。

从评估结果表3可以看出,安全停机任务的优先级比获取用户心率任务的优先级高很多,评估结果与任务实际优先级一致。

2.4   迭代进度计划

制订迭代计划首先需要选择适合项目的迭代周期,而周期的大小将会影响灵活开发的效率。智能跑步机项目在选择迭代周期大小时,通过综合权衡项目规模、技术复杂度、团队开发效率、需求的不确定性和增量发布的要求等各种因素,为方便硬件、驱动、系统和应用及服务器端多研发角色的协同配合开发,将迭代周期设置为2周。

通过2.3中方法评估出所有任务的相对优先级后,项目将任务按照优先级从大到小的方向排序,可以得出所有任务优先级清单,然后以团队2周内可以完成的总工作量为单位,对任务清单进行分割,可以得出初步的迭代计划。

最后,项目对迭代故事表加入约束项:包括迭代的计划时间、目标输出成果、发布计划等,最终得到完整的敏捷迭代计划。智能跑步机项目最终计划为9个迭代周期,分3期发布产品。第一期为3个迭代周期,包括发布原型版本产品、实现系统基本框和机器控制与本地运动数据等功能;第二期为3周,包括发布低成本版本產品、集成语音识别和各自运动模式与课程;第三期为3周,包括发布旗舰版本产品、集成多种配套外设与云互联数据共享功能。

3      结    语

小周期迭代式的敏捷开发方式作为高效进度管理的一个重要基础条件非常适合需要快速灵活研发的中小型IT项目。本文结合具体的智能跑步机项目的开发探析了制订敏捷迭代进度计划的方法和流程,通过迭代进度计划的改进较好地发挥团队共同决策能力,能准确地评估任务的相对经济价值优先级,从而制订出最适合自己团队的开发进度计划。论文研究结果不但能有效提高IT项目的进度管理效率,同时还能降低需求频繁变更造成的损失,从而实现IT项目的保质保量交付。

主要参考文献

[1]莫豫峰.敏捷软件开发应用分析[J].电子技术与软件工程,2016(3).

[2]姜文,刘立康.应用软件项目的迭代开发与测试[J].计算机技术与发展,2018(12).

[3]彭志楠.敏捷开发在软件开发中的应用研究[D].成都:电子科技大学.2009.

[4]杨贵霞,黄嘉娜.企业项目进度管理研究及进度滞后解决方案[J].金融经济,2018(9).

[5]刘华清.敏捷开发中进度管理的策略[J].数字通信,2013(8).

[6]王四云,任洪敏.基于敏捷方法的软件任务管理系统设计与实现[J].现代计算机,2015(6).