敏捷式项目管理的实践和研究
2020-08-15熊胜利
摘 要:通过对敏捷项目管理的方法论在企业微信移动应用项目中的实践,研究IT项目管理如何适应快速变化的应用环境和用户需求,在项目管理方式选择、项目计划制定、用户需求的满足、项目管理工具运用以及其他项目场景中的可行性等方面进行研究、探索和总结,以减少功能冗余、降低失败成本、避免浪费、提高用户满意度,最终达到降本增效的目的。
关键词:敏捷项目管理;移动应用;迭代
中图分类号:TP311.5 文献标识码:A 文章编号:2096-4706(2020)07-0026-03
Practice and Research of Agile Project Management
XIONG Shengli
(Guangdong Dapeng LNG Co.,Ltd.,Shenzhen 518048,China)
Abstract:Through the practice of agile project management methodology in the enterprise WeChat mobile application project. This paper studies how it project management adapts to the rapidly changing application environment and user needs,and studies,explores and summarizes the selection of project management methods,the formulation of project plans,the satisfaction of user needs,the application of project management tools,and the feasibility of other project scenarios. In order to reduce functional redundancy,reduce failure cost,avoid waste,improve user satisfaction,and finally achieve the purpose of cost reduction and efficiency increase.
Keywords:agile project management;mobile application;iteration
0 引 言
随着移动互联网深入,IT技术日新月异,用户需求也在快速变化。特别是在移动应用的开发过程中,笔者作为项目管理人员,深切地感受到传统项目管理办法的局限性。为了应对不断变化的用户需求,加快对用户需求的响应,缩短项目的交付周期,本文在企业微信移动应用项目中尝试使用敏捷项目管理的方法论,通过迭代开发的方式,借助项目管理软件,对IT软件项目管理方法进行了新的实践和研究。
1 主要研究内容
1.1 管理方式的选择
现有的IT项目管理办法是按照瀑布式的开发管理方式制定的,整个过程从项目需求调研开始,经历了计划和任务分解、概要设计、详细设计、单元测试、集成测试、用户测试、部署、试运行等各个阶段。此类项目管理方式较适用于需求明确的软件应用开发,而针对企业微信移动应用开发项目来说,有很大部分的业务是第一次在移动端展开,无论是业务用户还是IT人员,都对系统的设想和需求没有明确的认定。如果使用传统的瀑布式项目管理方式,可能会造成用户需求反复多变,项目周期延长,甚至产品交付失败等严重的后果。因此,我们需要探索和实践一种能够快速迭代、适应变化、按时交付的管理方式。
1.2 项目进度的控制
在移动化项目中,用户需求的变化是对项目进度控制的最大挑战,如何确保按时交付也是研究内容之一。
1.3 用户需求的满足
用户需求的变化一方面是因为交付和预期的偏差,当用户看到交付的系统时才发现与预想的不一样。另一方面,当用户对系统进行测试后,发现原来还有一些其他的需求可以实现。需要研究如何应对这些变化,交付出用户满意的产品。
1.4 方法论和工具
敏捷开发管理从诞生开始就受到软件开发項目管理人员的追捧,也延伸出了多个版本,对于在项目实施中是否要完全按照敏捷项目管理的方法论开展,或者能否针对实际情况进行变通,我们选择了后者。同时,借助Teambition软件中的敏捷项目管理模板,更快速地将项目管理的方法论进行落地。
1.5 在公司其他项目中的可用性
敏捷管理是否只能用于软件项目管理?对于其他项目是否有借鉴意义?带着这些疑问,将实施过程中的心得与其他项目管理场景结合,分析其可用性。
2 研究成果介绍
2.1 敏捷项目管理方式的适用性
在传统的瀑布式开发模式下,大部分产品和项目决策的时刻都是在项目的最开始,对于企业微信移动应用项目来说,在这个时间点,用户对移动应用的需求,以及IT人员的技术准备都不成熟,却需要在这个时候做出最重要的决策,即如何设计和实现系统,显然是不合适的。而项目最后的时间点,往往是知识积累和用户反馈收集最全面的时刻,但是项目却已经要交付了。敏捷项目管理方式则通过使用迭代来进行“增量决策”[1],即每个迭代做出最小可使用产品,根据用户的反馈,再继续进行下一个迭代。通过不断获得用户反馈来应对变化。
对于需求变化快、技术准备不充分、响应要求高的项目,通过迭代管理的方式,将最终产品划分成多个可交付的迭代产品。在每次迭代后,都可交付一个最小可使用版本的产品,然后将用户反馈作为输入,增加到下一个迭代中,如此周而复始,直到完成项目目标。
但是,这种快速迭代的敏捷式开发,也不适用于所有的软件项目。针对一些在项目初期就已经有明确的需求,知识和经验积累在项目开始前已经得到满足的情况下,再使用敏捷式开发,则事倍功半,例如不涉及功能优化的系统升级项目,用户需求明确的业务流程电子化项目,技术成熟的银企互联项目等。
总的来说,与传统的瀑布式项目管理模式相比,敏捷项目管理模式适用于用户需求不明确、技术准备不充分、涉及用户利益或需求冲突、失败代价高的项目。
2.2 项目管理过程
面对传统的瀑布式开发可能引起的延迟交付、项目周期长等问题,敏捷对此提出的方法就是迭代。每一个迭代推出一个可用的小版本产品,项目由多个迭代计划组成。
以广东大鹏液化天然气有限公司的企业微信移动应用项目为例,在管线安保应用中,在第一个迭代交付的产品以公告发布为主,为用户提供执勤依据、事件警示、安全分享功能,以及填写在线巡查信息的功能。在第一版交给用户使用后,用户反映在线巡查需要细化为气体检测和外部隐患,并且需要由记录改为跟踪方式,不允许修改主数据,只允许增加跟踪记录。在收集和整理了用户反馈后,将第二个迭代的产品提升为具有在线巡查跟踪功能。在第二版产品交付后,发现在使用过程中,有大量的第三方用户使用需求,而这部分用户是不是都要按之前约定的方式,以加入企业微信外部用户组织的方式来管理呢?对于公司来说,除了保安,还有项目承包商、司机、客户等大量第三方用户,对于此类用户在应用系统中如何进行管理,将是我们在下一个迭代中需要解决的问题。
在对企业微信移动应用项目进行管理过程中,也出现了一些问题,引起了反思。
(1)迭代内的需求不随意变更。虽然敏捷是为了适应不断变化的需求,但是,一旦制定好了某个迭代内的需求和计划,就不要随意变更。因为我们制定迭代的目的,就是要快速响应,获得用户反馈。滚雪球式的用户需求变化,将影响项目的最终交付。
(2)能够快速响应的项目团队。一个能够快速响应的项目团队也是敏捷项目管理能够成功交付的必要条件。在企业微信移动应用项目中,我们的项目团队成员包括业务关键用户、IT应用管理人员、开发人员、测试人员。在每次项目会议中,都要求上述人员全部参加,特别是讨论用户需求和系统实现时。以便所有的项目成员都对业务需求非常了解,减少后续的沟通成本。
在快速响应方面,我们也借助了一些IT工具,如下文将提到的Teambition。通过这些工具的使用,缩短了用户和开发人员的沟通时间,提高了效率。
(3)项目范围的界定。在实际项目中,需要先与项目开发商约定好工作范围和工作量,再开始实施。因此,项目范围需要有明确的界定,以免后期出现范围扩大太多,供应商不配合等情况的发生。
项目范围取决于产品范围,而产品范围取决于用户需求。虽然我们在合同范围内无法确定具体的实现方式,但是对于需要在IT系统中实现的业务需求场景应该有所要求和界定,针对软件产品,应表述清楚应具备的特征,以便进一步估算工作范围和工作量。如果需要对范围和目标进行约束,则项目范围可以认为是实现业务场景,项目目标则是达到软件产品的指定特征,而非具体的某项功能。
2.3 实践中的变革
与其说我们采用了敏捷的项目管理工具,不如说我们采用的是敏捷管理的思维和方法论。在企业微信移动应用项目中的进行敏捷式项目管理时,我们进行了一系列变革,包括去形式化、减少浪费、移动办公等。
2.3.1 去形式化
在原有的敏捷项目管理工具中,包括了一系列的工具,例如看板、站立例会,改由在Teambition中进行管理。
2.3.2 减少浪费
功能的冗余是对项目资源的浪费,通过汲取精益创业[2]的MVP(最小化可行产品)模式,在每次迭代定义时,对用户需求进行筛选和优先级排列。将用户最迫切需要、最有可能实现的需求放入迭代中,在迭代中的用户测试环境收集反馈,根据反馈,再对需求进行修订,投入下一个迭代中。
2.4 Teambition工具的应用
在企业微信项目的管理过程中,我们选择了Teambition作为项目管理工具。借助Teambition提供了一个公开透明的工作环境,迭代计划和每个人的工作安排都在看板上公开呈现。每个任务的目标、负责人、交付节点和上下文都清晰可见。同时,也可以在移动端使用,实现信息实时互通。图1和图2所示,是项目中的缺陷和任务列表。
该工具的敏捷开发模板中包括需求、缺勤、迭代、日程、文件和分享功能。我们将需求按业务分成了不同的类别,每个类别下面列出的是以业务场景为线条的需求。将需求列好后,即可将需求加入到规划好的迭代中去。在需求下面可以继续添加子任务。在发现产品问题时,在缺陷中添加条目,然后加入迭代。需求和缺陷可以分配给相关的项目成员,也可以由项目成员自己选择需要完成的任务。
借助这个工具,项目管理人员可以实时看到各个需求、任务、缺陷的完成,并可以监控迭代内的任务完成情况。
2.5 在其他项目中的应用场景
敏捷开发管理起源于软件开发的管理,但也有人将其用在不同的领域。据调查发现,对于战略定义项目、架构项目、内部评估项目、咨询项目、企业培训[3]、业务流程优化等应用场景,敏捷项目管理的方法论也具有借鉴意义和实践价值。以业务流程优化为例,为了适应快速的业务发展,业务流程变革和优化的节奏也必须加快。借鉴敏捷的管理方法,可以将业务流程的变革和优化变成一个渐进式的改善过程,在每次迭代中区分优先级、发现冲突,在下一個迭代中进行优化。通过循序渐进、逐步改善的工作方法,来应对多变的需求场景。
3 结 论
通过敏捷式的项目管理,可以达到减少功能冗余、降低失败成本的目的。如前文所述,每次迭代交付的单元都是最小可使用版本,这个版本中包括的功能是将需求进行优先级排列后的结果,以保证交付的软件中包含用户最需要的功能,在用户使用后再提出意见,以免出现不必要的开发浪费。同时,用户可以更早地看到软件,从而尽早地发现问题,在后续的迭代中进行处理,减少修改的成本。
同时,不同于传统的瀑布式软件开发,在敏捷项目中,用户需要全程参与,与项目组成员的沟通更加及时,意见反馈的渠道更加通畅。特别是当项目初期用户对自己的需求不能非常明确地进行描述时,可以通过渐进的方式,帮助用户明确和优化需求,从而达成目标。
参考文献:
[1] 李若沂.敏捷项目管理中的成本和时间管理研究 [J].无线互联科技,2017(15):119-120.
[2] 孙黎.通过MVP方式实践精益创业 [J].IT经理世界,2013(18):101.
[3] 鹿优,尤建春,李毅然.敏捷迭代在企业培训项目开发中的创新应用 [J].国网技术学院学报,2018,21(3):47-50+68.
作者简介:熊胜利(1977.12—),女,汉族,湖南益阳人,计算机专业中级职称,IT应用高级主管,毕业于中南大学信息工程专业,软件工程硕士,主要研究方向:企业信息系统建设项目管理及维护。