美文网首页程序员
关于需求分析评审到开发计划的理解

关于需求分析评审到开发计划的理解

作者: 烤地瓜的下雨天 | 来源:发表于2018-11-26 00:00 被阅读6次

软件开发一般分为 问题收集,需求分析、软件设计、开发、测试上线几个阶段。我将会以我过去的学习和经验从需求分析阶段开始谈起。

在我们开发软件产品之前,我们先要问自己几个问题。我们的目标群体是哪些人?它的核心功能是什么,满足了用户什么样的痛点需求?如果这些没想好,我想很难去开发好一款好的软件产品。然后就是我们应该考虑它有什么样的价值,它能给公司或者说老板股东们带来多少价值或者商业机会。

在需求分析阶段,你会发现需求不是一个,或者两个,而是很多个,它们是来自不同人的需求,而我们应该如何权衡呢?我们可以从需求的紧急程度、用户的量级、投入的回报比、风险等角度考虑。假如,这几个参考仍然不能做出选择,应该按照公司或者部门的战略发展方向走,让最高领导人帮忙选择和推动。

明确需求,将用户的需求转化成产品功能,划分功能模块,对轻重缓急的进行排序,最终转化为版本计划。 一般以两周作为一个版本迭代周期(非APP版本)。若是需求变更,需要召开会议,讨论是否新变更能够加入当前版本迭代周期里。会议时间视紧急情况而定。同时,一般不允许在迭代第二周插入或者变更需求。

在我们需求功能模块确定之后,我们的一个版本里面,包含哪些内容呢?假如我们一个迭代开发团队有2个前端、1个后端开发人员。有A 、B 、C三个功能,一个迭代,10个工作日。

前端:

A需要5天,B需要10天,C需要五天,

后端:

A需要3天,B需要8天,C需要4天

最终,虽然B功能前端开发已经完成,但是后端开发资源不足,可能我们会选择A、C功能进入本次版本发布。B将进入下一个版本发布。假如A、B、C都不能进入版本发布,可能功能模块任务还可以拆得更小。总之每次版本发布不应该是空内容。

上述还涉及到一个重要的过程,那就是对于功能点复杂度和开发工时的评估。我们可以对一个功能复杂度划分为1、3、5、8个点。一开始,我们可以选择以前的一个开发任务作为参考,比如,列表从单个条件支持多个条件筛选。大家开始投票,假如多数投成3个点,那就按照此任务作为3个点 的标准(后面可不断优化),将其他需求与其比较、投票。最终我们会得到所有需求的功能点的总和(有什么用,接下来会提到)。另外,一般对于8个点的功能,可以继续拆分成更小的点。所以通常不会有直接8个点的任务。

对于一个功能发布所需的开发量、工时,不能片面的按照前端人员,或者后端人员去评估。而是两者结合。因为一个功能的完全交付时间,应该是按照最长的一方工时做为最终的完成时间。

综上所述,我们按照先前的假设,可能会得到一份这样的迭代开发计划表:

最后,走完对应的测试、上线流程,发布版本上线通知。同时,我们会得到一个版本里的功能点总数。这个点数可以作为衡量团队开发水平的一个参考依据,当一个team在一个开发周期内完成的点数越高,他们的能力越强,当他们完成的点数有明显的提升时,说明团队的水平提升了或者大家最近加班比较多。另外强调,功能点数并不是代表所需的开发量。比如实现一个复杂的算法和修改1000字段的颜色样式,后者开发量虽然大耗时长,但是并不复杂。但是仔细想想,为什么这个团队一直选择做一些复杂度低的工作。只能说明一个问题,他们的能力有待提高。

相关文章

  • 关于需求分析评审到开发计划的理解

    软件开发一般分为 问题收集,需求分析、软件设计、开发、测试上线几个阶段。我将会以我过去的学习和经验从需求分析阶段开...

  • 测试学习常见问题

    1.软件测试的基本流程(详细) 需求分析阶段:阅读需求,理解需求,分析需求点,参与需求评审会议。测试计划阶段:主要...

  • 软件生命周期与开发模型

    软件开发流程: 需求收集>需求分析>需求设计(流程、原型、需求说明)>需求评审>需求确认>开发(各种开发模式)>测...

  • 产品经理做什么?

    1.需求分析(定位/来源/筛选) 2.需求文档:PRD(包含内容/逻辑层次) 3.需求评审(设计/开发/评审准备)...

  • 程序猿在开发中遇到的问题(复盘)

    协作流程不规范需求评审(全员) -> 需求明确后制定开发计划 -> 需求变动/调整 -> 二次需求评审 ,并及时调...

  • 面经|软件测试流程

    需求分析阶段:确认需求和要求,参与需求评审会议和软件概要设计评审会议。 测试计划阶段:编写测试计划,根据概要设计确...

  • 关于做产品的一些坑

    关于需求管理 1、需求评审时需要市场、运营、产品、甚至开发的同事到场 2、需求评审时要记录需求评审的参加人员、 3...

  • 开发后台项目的套路是什么?

    需求评估 产品经理、开发工程师、测试工程师,组织需求评审会议,讲解本次的开发功能。 开发需分析: 是否涉及到其他开...

  • 项目开发流程及注意事项

    一、项目流程 需求宣讲、需求评审 交互评审 UI评审 开发方案评审 接口评审 测试用例评审 开发 测试 上线 验收...

  • 软件测试常见问题

    1、软件测试流程是什么? ①需求分析,需求评审②编写测试计划③编写测试用例,用例评审④执行测试,提交bug,回归测...

网友评论

    本文标题:关于需求分析评审到开发计划的理解

    本文链接:https://www.haomeiwen.com/subject/llymqqtx.html