敏捷开发管理--任务分解经验之谈

简介: 敏捷开发中怎样做好任务分解?

敏捷开发是快速迭代,快速交付的开发模式。这也就要求迭代周期内任务量不宜过大,以保证在预期内能够按时完成开发计划。
敏捷开发中怎样保证开发任务的适宜呢?答案是任务分解。而任务分解的前提则是需求确认


敏捷开发中的需求确认

我们都知道需求的来源渠道很多(如用户调查问卷,用户访谈,客户服务人员/商务人员的反馈,产品的技术交流群,用户使用数据分析等,甚至还有一部分来源于产品经理对产品的定义,以及对技术的把握和对竞品的分析),通常产品经理收集到的用户故事需要经过分析筛选整理,形成最初的产品需求。此时的产品需求算是草稿状态的产品需求。

产品经理通过发布计划会议对初步的产品需求进行讲解传达,由敏捷团队讨论细化,对其评估和排序之后形成需求条目,也就是可以排到敏捷开发计划里面去实现的需求列表。至此为需求确认的完成阶段。

需要注意的是,在需求分解时需要面对的一个问题是需求的优先级问题。先做哪个后做哪个?你可以参考下面几个标准。
1、价值,包括对产品自身的价值和对用户的价值,价值越高优先级越高。
2、必要性,先做必需的功能特性,然后再做其他高级特性。
3、紧迫性,时间要求越高的优先级越高,特别是线上问题的解决。

除了优先级问题,在敏捷开发中我们还需要面对需求变更问题。需求变更之所以可怕,主要是因为变更影响的范围无法预估。在传统项目管理中,由于没有有力工具的支撑,产品经理在变更需求的时候,无法知晓该需求的影响范围,也就很被动。


而如今的项目管理工具已经很好的解决了这个问题,像禅道就是将需求、任务、bug和用例都纳入为一体管理,就可以很清楚的知晓变更的影响范围,从而给产品经理更好的指导。虽然敏捷开发最大的优势是拥抱变化。但这并不意味着需求想变就变,产品经理还是要尽量控制变更情况的发生。

需求确认后就进入为需求分解任务阶段。如何为需求分解任务呢?
敏捷开发的特性决定了迭代内任务量要适宜。任务量太大导致项目延期,任务量太小则工作量不饱和。所以需求的分解过程是一个对资源的评估再分配过程(这里的资源一般是指团队的开发能力,包括人员、任务量、工时等的合理统筹)。

需求分解在敏捷开发中一般通过迭代计划会议实现。敏捷团队对每一个需求进行分解,分解的标准是完成该需求(stroy)的所有任务,最终实现每个任务都有明确的负责人。敏捷开发中需求分解的目的在于将需求细化为可执行可评估的开发任务。

禅道中这个过程就表现为“为需求分解任务”。研发团队对需求进行详细的评估和细分,生成完成这个迭代内的所有任务(这里的所有任务,包括但不限于设计,开发,测试等),团队成员领取任务,并进行工时的估计。

在具体操作上表现为通过创建任务,关联相应的需求来实现。在禅道的项目需求列表页面,可以方便的对某一个需求进行任务分解,同时还可以查看这个需求已经分解的任务数,指派的成员等(动态演示地址:http://www.zentao.net/book/zentaopmshelp/130.html)。


分解任务的注意事项
1、需要将所有的任务都分解出来。这里面包括设计,开发,测试,美工,甚至包括购买机器,部署测试环境等等。
2、任务分解的粒度越小越好,尽量控制在几个小时就可以完成。
3、如果一个任务需要多个人负责,继续考虑将其拆分。
4、任务应做到相对独立完整,某个任务的延期不至于影响到其他任务的进行。
5、多个子任务要进行排序,要区分轻重缓急。
6、任务的分配最好是自由领取,这样可以大程度上调动大家的积极性。

说到底,任务分解是敏捷开发管理中不可或缺的基本流程,任务分解的作用就在于将需求转变为可量化可执行的具体工作内容。同时敏捷团队也可以做到心中有数,项目经理更好的掌握研发进度,随时调整,以保证按时交付。因此,任务分解的实现使得敏捷开发得以更好的实现。

相关文章
|
3月前
|
测试技术 项目管理 uml
「软件项目管理」软件项目范围计划——需求管理与任务分解
该文章详细介绍了软件项目范围计划中的需求管理与任务分解技术,包括需求获取、分析、编写、验证、变更管理的过程,以及任务分解的方法和实践,旨在帮助项目管理者有效地控制项目范围和推进项目进展。
「软件项目管理」软件项目范围计划——需求管理与任务分解
|
2月前
|
敏捷开发 测试技术
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
文章详细介绍了软件开发过程中的不同开发模型(瀑布、螺旋、Scrum)和测试模型(V模型、W模型),以及增量和迭代的概念,最后阐述了敏捷思想及其在敏捷开发(如Scrum)中的应用。
105 0
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
|
敏捷开发 项目管理
深入理解Scrum:敏捷开发的核心原则和方法
Scrum强调迭代、协作、自组织和透明度,使团队能够更好地应对不断变化的需求和复杂性。Scrum方法的核心思想是通过一系列短期周期来交付功能,每个周期通常称为Sprint,以便及早获取用户反馈、适应变化并提供高质量的产品。
|
7月前
|
监控 数据可视化 项目管理
WBS任务分解拆解:项目管理中的效率秘诀探讨
WBS(Work Breakdown Structure)是项目管理中将大型复杂项目分解为可管理的小任务的方法。它帮助清晰定义项目目标,确保100%覆盖所有工作,并遵循任务独立性及适当工作包大小原则。WBS通过简化项目、明确责任人、制定工作清单、估算时间和分配资源,促进项目跟踪与控制。使用工具如Zoho Projects,可按阶段创建任务,细化子任务,设定依赖关系,分配资源,以及设置提醒和里程碑,从而有效管理项目执行。
741 1
|
7月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
157 1
|
项目管理 C# 开发者
介绍瀑布模式:经典的软件开发项目管理方法
致谢:感谢阅读本文,如有任何问题或疑问,请随时与我们联系。 推荐一个零声学院免费教程,个人觉得老师讲得不错, 学习链接:https://xxetb.xet.tech/s/HY8za
243 0
|
敏捷开发 测试技术 项目管理
​ 敏捷开发和传统开发的区别?以及Scrum敏捷管理工具推荐
Leangoo领歌一款永久免费的专业敏捷研发管理工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷。能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、任务管理等。
|
敏捷开发 测试技术 BI
为什么要学习敏捷?敏捷有哪些好处以及敏捷工具
Leangoo领歌一款永久免费的专业敏捷研发管理工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷。能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、任务管理等。2)管理产品路线图、产品backlog、迭代规划和执行、缺陷、测试、项目文件及企业组织架构等等。3)可查看多项目进度,项目视角的统计等,提供了不同视角的统计,例如:进度统计、燃尽图、团队速率、任务分布、缺陷分布、测试用例分布等等,实时掌握项目状态及进展。
|
敏捷开发 测试技术 定位技术
敏捷开发模式下的利刃:探索性测试(ET)
探索式软件测试是一种强大的黑盒测试思考方法,但却被广泛误解。在某些情况下,它可以比自动化测试更加有生产力。它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。 什么是探索式测试 探索式测试(Exploratory Testing)是一种软件测试方法,也可以说是一种测试思维方法,最先是 Cem Kaner 在 1983 年提出的。
2285 0