PingCode是如何做瀑布开发项目管理的?
专业的瀑布项目管理工具是专门用来帮助计划和控制项目资源、成本与进度的工具。通常来说,瀑布项目管理工具包括项目计划、需求管理、开发过程管理、测试缺陷管理、构建发布、文档管理、可视化报表等功能模块。
1. 瀑布简介
瀑布模型(Waterfall Model)是 Royce 于1970年提出,是国内软件开发企业使用最多的两大开发模型之一。
瀑布是最典型的预见性的方法,利用特定的步骤和里程碑来控制过程,严格遵循预先计划的:需求、分析、设计、编码、测试、部署、运维的步骤顺序进行。所以更适用于有明确需求、计划和目标的项目,比如一些软硬件结合产品的开发。
本文将通过一个完整的瀑布项目流程介绍 PingCode 对瀑布模型管理的支持,以及针对瀑布开发管理中典型痛点的解决方案。(功能免费体验通道)
2. PingCode 的瀑布开发项目管理
2.1 项目启动阶段
在项目启动阶段,项目团队将主要进行项目需求收集、项目立项、项目人员前期准备等工作。
2.1.1 项目需求收集
痛点:以往项目需求的收集经常面临需求信息不完整,收集后通过Excel或文档管理,版本多且散乱等问题;
立项阶段的需求收集不会立即进入开发阶段,而是将成为支持项目立项的重要依据。在这一环节,PingCode 为解决需求收集完整、管理散乱等典型问题提供了以下管理方案:
- 覆盖全渠道的需求收集方式:为了帮助项目团队更清晰完整的收集到需求信息,PingCode 为用户提供了覆盖全渠道的收集方式,包括Web Portal、小程序、邮件、Webhook等渠道。项目团队可以根据需求自定义工单页面,以及与需求提交人直接沟通,尽可能的完善需求背景信息。
- 统一的在线需求池管理:通过上面的各种工单收集渠道,客户的各种需求都将进入到 PingCode 中统一管理。当然,企业也可以根据团队、产品线等划分为不同的模块进行管理。
2.1.2 项目立项
痛点:瀑布开发重视和强调过程文档,在开发的中后期才会看到软件原型,早期只能通过文档来了解系统的模样,众多的文档和文件如何集中管理,高效利用是经常面临的问题。
在项目需求收集完成之后,团队需要对项目相关市场、资源、技术、社会等方面的问题,进行全面分析、论证、评价,从而决定项目是否可行,并且在可行的几个方案中选择最优方案进行项目立项。
在项目立项过程中,众多的文档和文件的版本问题,集中管理问题,以及协同问题是项目进行中的常见挑战。
PingCode Wiki是为知识文档管理打造了专门的模块,是具有发明专利的一流知识库工具,它能够帮助项目团队:
像书籍一样结构化管理项目文档:所有人看到的文档都是同一版本,每个项目团队都可建立独立知识库,支持精细化的权限管理,保障文档/数据安全;
支持多人实时在线协同编辑,比如:信息实时保存同步,支持历史版本快速追溯,同时文档支持共享、关注、评论、批注,也可在消息/第三方账号收到提醒,让项目成员随时随地展开文档协作。
2.2 项目规划阶段
痛点:缺乏一个清晰有序、公开透明的规划工作台;
在这一阶段,项目经理需要通过项目的明确范围、任务分解、资源分析等,制定出一个科学的项目执行计划。项目规划是项目管理的主线,贯穿了项目管理的全过程。
在PingCode Project 的瀑布开发项目管理中,将通过以下一些能力来帮助项目团队实现项目计划管理:
WBS任务分解:在项目规划阶段支持项目管理中WBS任务分解原则,从项目目标开始分解,逐层下降,每下降一层,代表对项目工作的更详细的定义,将任务分解到不能再分为止。
甘特图:在项目规划阶段需要定制一个全面并且可以指导团队贯穿项目执行和终止等各个阶段的甘特图,还要在关键节点设定截止日期。在PingCode中通过可视化的项目计划,可以呈现和管理项目进度、里程碑、资源、阻塞风险点等内容,并且支持多种排期模式手动排期和自动排期,帮助团队在规划时节省时间和资源。
里程碑:在项目规划时,在进度时间表上设立一些重要的时间检查点,可以在项目执行过程中利用这些重要的时间检查点来对项目的进程进行检查和控制。在PingCode中通过里程碑时间轴可快速查看进度,知悉项目健康度,规避风险。
交付目标:在项目规划时,设定每个里程碑阶段需要完成的工作目标,在PingCode中交付目标设定和管理,并且与项目规划、里程碑进行双向关联。
2.3 项目执行与监控阶段
痛点:在项目进行过程中,需求优先级如何排序;缺乏项目进度的可视化展示,难以提前识别项目的阻塞点;项目工时统计等都是这一阶段所面临的典型问题;
项目进入执行与监控阶段,在此阶段,项目团队将对可交付成果负责,为确保项目可以完成最初设定目标,将此阶段根据研发的实际过程划分成多个子阶段:需求分析、软件设计、软件研发、软件测试、部署和运维、项目监控等。
2.3.1 需求分析
需求分析视为软件研发的正常进行确定具体思路的阶段,在需求分析过程中,需要保证所列的需求是清晰的、明确的、有意义的、可测量的,并且可用于开发和测试。
下面就来看看PingCode对需求分析的支持:
建立标准化产品优先级模型:根据前期项目需求收集阶段所收集到的需求,团队能够通过设置评审因素,比如需求价值、工作量、客户权重、竞品、团队目标支持度等,并针对不同维度设置分数计算方式,建立标准化产品优先级模型,数据化评估客户最需要的功能,确保产品目标与公司经营目标保持一致。
并且每个需求可以与项目进行深度关联,PingCode支持把评审通过的需求分发至对应项目当中。
2.3.2 软件设计
软件设计确定了整个软件的结果,在此阶段要根据需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。一般分为总体设计和详细设计两个部分。
软件设计阶段可以利用 PingCode Wiki子产品来进行设计文档的编辑工作,解决文档管理与协作问题,这点我们在2.1.2已经介绍。
2.3.3 软件研发
在瀑布开发项目流程中每上一个阶段都是下一个阶段的实施进行的基础,在软件研发阶段也是根据软件设计和需求通过计算机程序代码来进行实现,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性。
下面就来看看PingCode对软件研发的支持:
工作项管理:
- 研发人员根据设计文档和需求将每个需求拆分成不同的工作项任务,为便于研发过程。
- 在PingCode中支持工作项属性根据研发实际情况进行自定义设置;
- 并且工作项可以进行360度关联,支持关联子工作项、与其他工作项依赖关系、与其他工作项关联关系、工时、wiki页面等等;
- 同时支持关注、评论文字、@提及成员、#提及工作项、添加代码段、回复表情等,可在消息/第三方账号收到提醒,极大的提高了研发过程中的协同效率。
自动化能力:PingCode 还为团队提供了自动化技术,能够将开发过程中重复性、低价值的任务由手动操作变为自动执行,比如:某个需求下的子任务都完成了,PingCode 将自动改变该需求的状态,类似的场景还有很多,就比如自动创建分支、自动配置页面权限等等。
2.3.4 软件测试
在软件研发完成之后,进入到软件测试阶段,需要对编写的程序,形成整体架构、功能进行测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程。
PingCode TestHub 是一款专门为测试管理服务的子产品,它能够帮助项目团队覆盖完整测试流程,提高测试效率,保证软件交付质量。
测试用例维护与评审:完成项目独立测试库的创建,在测试库中,测试工程师可以创建和维护测试用例,测试用例创建后,需要对测试用例进行评议和审查,保证用例内容的可用性和规范性。
测试计划的规划与执行:快速规划测试用例,组织测试计划,多人协作执行测试计划,测试开发的软件系统质量,降低和消除风险。执行测试计划时,可实现测试计划的复制、执行,可执行多轮测试计划确保质量,并生成对应的测试结果、对应缺陷跟踪和测试报告。
2.3.5 部署和运维
软件测试完成之后,进入软件部署和运维阶段,PingCode在部署和运维阶段支持工作项与集成代码托管、CI/CD工具进行关联,将构建、部署与项目和工作项整合到一起,开发面板上可视化呈现每个任务的进展状态,跟踪开发、构建及部署进度。
2.3.6 项目监控
在项目执行的整个过程中,如果缺乏项目进度的可视化展示,难以提前识别项目的阻塞点。PingCode通过任务执行者更新任务进度、提交交付物、更新里程碑状态、项目甘特图来帮助项目经理持续监控项目进度、了解项目健康状态。
项目甘特图:在项目监控阶段,项目经理可以通过项目甘特图来直观查看项目里程碑分布与工作项周期及进度,掌握整个项目进度情况。
交付物管理:在不同阶段和里程碑中,规划交付物目标,并通过上传交付物和持续的交付物检查,以及交付物目标进度统计,确保各交付物按时交付,降低项目整体交付风险。在项目监控阶段,项目经理可以通过交付物管理查看和检查交付物提交情况,把控项目交付风险。提交交付物支持多种形式,包括文件、Wiki页面、链接等。
除此以外,为了让预估工时越来越准确,确保需求能按时交付、成本能合理控制,很多团队也存在工时统计需求。
工时管理:所以PingCode支持预估工时,登记工时,剩余工时三个类型的工时定义,并且项目经理能够根据工时统计等报表来优化工时预估和成本;
2.4 项目收尾阶段
交付物验收
项目收尾阶段是瀑布开发项目中最后的阶段,是完结项目管理所有活动以正式结束项目的过程,在该阶段将对交付物进行评审验收,以保证项目质量。
项目经理能够通过 PingCode 的交付物模块查看和管理所有阶段/里程碑产生的交付物:
知识沉淀
同时,项目经理也可以组织项目复盘,针对项目各个阶段的问题进行汇总、总结和改进意见,以避免下次出现同样的问题,如果出现也能及时解决。
而通过 PingCode Wiki 建立知识库,可以保存信息和累积知识资产,加速内部信息及知识的流通,实现组织内部知识的共享和复用。
至此,一个完整的瀑布项目实践就基本结束。
通过以上介绍,相信大家也基本了解瀑布式项目管理软件中, PingCode 的能力,能够解决哪些瀑布开发模式下的痛点,是否满足自己的瀑布管理需求。
官网:PingCode