温馨提醒:本文约3000字,需要阅读5分钟,共分为8个部分,建议分段阅读!
软件开发过程中,从产品概念形成到产品规划、往往要做详细的需求分析和项目规划等,因此,选对一款项目管理工具对开发者就显得尤为重要。 今天我们一起来了解下华为云DevCloud项目管理(Scrum项目)是如何做到需求规划以及工作项分解的!
华为云DevCloud项目管理(ProjectMan)是为软件开发团队提供敏捷项目管理与协作的云服务,沉淀了华为30多年软件研发的先进理念与丰富实践。项目管理支持敏捷Scrum管理,Scrum项目融合敏捷设计理念,可快速完成敏捷迭代计划、创建工作任务,直观呈现每日站会看板、缩短迭代周期、提升项目管理效率。项目管理提供迭代功能,可以用来做版本计划管理,在项目里设置迭代,匹配版本发布计划时间点,便可对版本计划进行跟踪管理。
说明:DevCloud项目管理分为“Scrum项目”和“看板项目”,以下仅讲述“Scrum项目”的需求规划与分解过程。
Scrum项目需求规划与分解过程
下面我们将其分成八个部分来说说。
- 什么是Scrum?
- 适用场景
- 有啥优势?
- 通过需求的分层和分解,多角色协作,确保需求范围可调整
- 按迭代持续交付,实现闭环反馈
- Scrum项目需求分解过程
- DevCloud如何使用Scrum项目?
- 写在最后
什么是Scrum?
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
以下是一些Scrum的通用实践:
- 客户成为开发团队中的一部分,例如客户肯定对开发的结果真正感兴趣,和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。
- 频繁的风险和缓解计划是由开发团队自己制定。在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。
- 计划和模块开发的透明。让每一个人知道谁负责什么,以及什么时候完成。
- 频繁的进行所有相关人员会议,以跟踪项目进展。平衡的(发布,客户,员工,过程)仪表板更新。
- 所有相关人员的变更,你必须拥有预警机制,例如提前了解可能的延迟或偏差。没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。
- 在工作场所和工作时间内必须全身心投入。完成更多的工作并不意味着需要工作更长时间。
适用场景
激烈的市场竞争或客户需求变化快,产品或项目存在较大不确定性。
推荐建议:采用支持敏捷开发模式的研发管理平台,短周期持续交付,快速响应需求和市场变化。
有啥优势?
专业方法论与实践的承载:
- 承载敏捷管理、精益的软件项目管理理念。
- 支持Scrum项目和看板项目模板,面向不同的软件管理场景,兼顾标准和轻量灵活的软件开发场景。
- 支持Scrum推荐的需求规划和需求分解层次。
- 支持敏捷迭代开发、迭代计划和时间线清晰展现项目进展。
通过需求的分层和分解,多角色协作,确保需求范围可调整
客户的需求或原始需求,往往是抽象甚至宏观的,需要理解客户需求背后的问题本质,将客户需求或原始需求进行规划和分解,最终分解为每个迭代可交付的最小工作项。
项目管理服务Scrum项目类型中,预置了敏捷实践中推荐的Epic-Feature-Story/Bug-Task的四层模型。
从原始抽象宏观的需求Epic(中文通常翻译为史诗特性),经过分解为多个Feature,继而再逐步分解为Story。Story是UserStory的简称,Story是站在用户视角符合INVEST原则的最小可交付的工作项单元。一个Epic分解为一个或多个Story,并根据开发团队的人力管道和Epic的计划时间,将Story规划到一个或多个迭代中持续交付。
一个宏观抽象的Epic通过这种方式保证了每个迭代都有可以运行的软件让用户试用,获取用户反馈,不断根据反馈进行修正,最终满足用户的需求并获得商业成功。
说明:了解Epic(战略举措)、Feature(特性)、Story(用户故事)、Bug(缺陷)、Task(任务)详细说明请看这里。
按迭代持续交付,实现闭环反馈
在敏捷软件开发的语境下,迭代是重复式的持续交付并持续获取反馈的软件开发活动,其对应的是瀑布式软件开发中的固定顺序全部完成才交付的软件活动。
每一个迭代都追求尽可能的发布产品并获取用户的反馈,每次迭代获取的反馈都同时作为下一个迭代的改进输入。迭代可以降低风险和变更成本,提升研发效率。
在敏捷的方法论中,通常使用“迭代”,而Scrum实践中使用“冲刺(Sprint)”,两者有微小的区别。项目管理服务考虑国内用户的使用习惯,使用“迭代”。
Scrum是敏捷开发的主流方法,通过迭代冲刺的方式,持续交付,从用户需求到用户反馈实现每一个闭环的软件开发过程。通过最重要的迭代计划会议、每日站会、迭代回顾、验收会议来进行简单高效的管理。
Scrum项目需求分解过程
项目管理服务对Scrum项目的需求进行统一规划,以思维导图的形式进行需求规划和分解,即将工作项的层级结构展示出来,更直观的展示父子关系,在规划中新建工作项后,会自动生成到工作项列表中。
- 项目中已创建的工作项,根据所从属的Epic根节点,会自动同步到工作项页面。
- 按照工作项类型层级关系(从大到小依次为“Epic > Feature > Story > Task/Bug”类型)进行需求规划,具体为添加Epic类型工作项、给Epic工作项添加Feature类型子工作项、给Feature工作项添加Story类型子工作项。
为了快速实现产品核心功能,并尽快上线,尽早收集用户反馈,将产品的各个Feature中最能体现用户价值的Story设置为“高”优先级。
确保将产品的基本功能打通上线,而不是对某一个Feature做过度设计。
项目管理服务为用户提供思维导图式需求规划与分解功能:
同时也提供迭代管理与规划的功能:
DevCloud如何使用Scrum项目?
看完上述介绍,相信大家对项目管理的需求规划与分解功能已经有很多了解了!接下来给大家讲讲规划需求与分解工作项的具体操作过程吧~~
样例:开发人员A是公司的项目经理,需要进行商城管理,业务方向为订单管理、会员管理和促销管理。操作步骤如下:
步骤1:在DevCloud项目管理中新建Scrum项目
- 登录DevCloud控制台,在左侧导航中选择“项目管理”,单击“立即使用”。
- 在进入的DevCloud项目管理首页,单击“新建项目”。
- 在“新建项目”页面,项目类型选中“Scrum”。
- 设置项目参数,单击“确定”,完成Scrum项目的创建。
步骤2:在Scrum项目中进行思维导图规划
在Scrum中,可以根据实际需要以思维导图形式设置不同层级的工作项。
- 单击项目名称,进入项目详情页面,选择“工作 > 规划”,单击“思维导图规划”,进入思维导图规划页面。
- 根据需求规划准备,给每个层级的工作项添加子工作项,依次为“Epic > Feature > Story > Task/Bug”。
- 在不同或同层级之间拖动工作项,可以调整规划需求,整个需求规划结果如下:
说明:有子工作项的工作项,不能调整到Task层级,否则会超出层级。无子工作项的工作项可以往上或往下一级别类型调整。
步骤3:在Scrum项目中给工作项安排迭代开发计划
- 在项目详情页面,选择“工作 > 工作项”,可以查看需求规划中所有工作项情况,可以通过工作项类型筛选出对应类型的工作项,如Story、Task、Bug。
- 选择“工作 > 迭代”,根据需要在项目里新建迭代,或使用默认的迭代1、迭代2和迭代3亦可。
- 分迭代可以管理需求规划中所有Story工作项,默认显示当前迭代工作项。
根据匹配版本发布计划时间点,选中左侧“未规划工作项”,将工作项分别拖拽至对应的已规划迭代中。
至此,所有需求规划与工作项分解已完成,管理者再根据实际人力安排,给各个工作项分配处理人,按计划点闭环工作项即可。相关操作如下:
- 添加项目成员
- 批量设置工作项处理人
- 迭代回顾
相关操作的详细操作步骤,请查看《项目管理用户指南》。
写在最后
产品需求规划与工作分解很重要,且要随时能响应客户需求,而不是一味的迭代开发!希望能帮助大家完成一个个开心,高效,信心满满的项目开发:)
本次就分享这么多,大家还想了解些啥,欢迎在评论中留言。