当前位置:网站首页>程序员成长第二十七篇:如何评估需求优先级?
程序员成长第二十七篇:如何评估需求优先级?
2022-07-25 12:51:00 【51CTO】
项目的需求来源有很多方面,最终由产品整理出来哪些要做,哪些不做。我前面说过需求评审时,要讲清楚这次版本的目的是什么。这些要做的功能就是达成目的的手段。
一般情况下,我们都默认产品或技术总监给需求定优先级。比如优先级高、中、低。实际上这样分还不够细,优先级高的标准是什么?
想要做好优先级管理,首先得制定一套标准。不一定要非常准确,但一定要有且公开。
任何一个需求,都有其价值。其价值主要分为:商业价值、用户价值。
商业价值:直接给公司带来利润、完成长期战略目标、降低运营成本等功能。
用户价值:提升用户体验、提高用户效率、解决用户痛点等功能。
为此,我们可以得到一个二维四象限图

由此,我们可以得到:
高商业价值、高用户价值的需求:立马做;
高用户价值、低商业价值的需求:在资源有闲的时候做;
低用户价值、高商业价值的需求:选择性做或者换个方式做;
低商业价值、低用户价值的需求:不要做。
为什么说要商业价值优先?因为没有商业价值,项目就不可能持久。每一个需求都是要投入人力的,在资源有限的情况下,我们只能把精力放在高商业价值、高用户价值的需求上。
通过价值维度排除一部分需求后,依然会存在两个同样高商业价值、高用户价值的任务冲突的情况。我们可以选择继续细分,按紧急和成本二个维度继续划分,可以得到:
紧急、成本低的高商业价值、高用户价值的需求:优先级排第一位;
紧急、成本高的高商业价值、高用户价值的需求:优先级排第二位;
不紧急、成本低的高商业价值、高用户价值的需求:优先级排第三位;
不紧急、成本高的高商业价值、高用户价值的需求:优先级排第四位;
大部分公司,很少要拆到这个程度,如果真出现这种情况,我觉得是好事,公司应该尽快招聘更多的人来加速商业价值的落地。
项目需求能不能变?
一般需求确定下来后,最好不要做临时变动。除非特别情况。那什么是特殊情况?这就是制定需求优先级规则的好处了,如果确实有更紧急、成本低的高商业价值、高用户价值的需求。我们可以变动。只要团队内成员都认可这个规则,就会比较好实施。
那如果是领导不按规则变动需求怎么办?
谁担责谁决策。如果领导要临时变更需求,而且部门负责人已经反馈变更的影响后,还依然如此的。我们依然要听领导的。同时跟团队也讲清楚这个道理。而且领导站的位置不一样,我们以为的高价值任务对站在领导的角度并不一定对。
在公司里可能会存在很多类似的情况,每个人可能有不同的意见,最后总需要一个人来拍板。在未决议之前,我们可以提建议。但如果已经形成决议了。那就只能执行。
边栏推荐
- 业务可视化-让你的流程图'Run'起来(3.分支选择&跨语言分布式运行节点)
- 跌荡的人生
- [problem solving] ibatis.binding BindingException: Type interface xxDao is not known to the MapperRegistry.
- 卷积核越大性能越强?一文解读RepLKNet模型
- 【问题解决】org.apache.ibatis.exceptions.PersistenceException: Error building SqlSession.1 字节的 UTF-8 序列的字
- Atcoder beginer contest 261e / / bitwise thinking + DP
- 【运维、实施精品】月薪10k+的技术岗位面试技巧
- A turbulent life
- [operation and maintenance, implementation of high-quality products] interview skills for technical positions with a monthly salary of 10k+
- 使用vsftpd服务传输文件(匿名用户认证、本地用户认证、虚拟用户认证)
猜你喜欢

Microsoft proposed CodeT: a new SOTA for code generation, with 20 points of performance improvement

JS convert pseudo array to array

如何理解Keras中的指标Metrics

【历史上的今天】7 月 25 日:IBM 获得了第一项专利;Verizon 收购雅虎;亚马逊发布 Fire Phone

R语言GLM广义线性模型:逻辑回归、泊松回归拟合小鼠临床试验数据(剂量和反应)示例和自测题

如何用因果推断和实验驱动用户增长? | 7月28日TF67

卷积神经网络模型之——VGG-16网络结构与代码实现

卷积核越大性能越强?一文解读RepLKNet模型

cv2.resize函数报错:error: (-215:Assertion failed) func != 0 in function ‘cv::hal::resize‘

EMQX Cloud 更新:日志分析增加更多参数,监控运维更省心
随机推荐
State mode
状态(State)模式
conda常用命令:安装,更新,创建,激活,关闭,查看,卸载,删除,清理,重命名,换源,问题
零基础学习CANoe Panel(15)—— 文本输出(CAPL Output View )
2022.07.24 (lc_6125_equal row and column pairs)
Docekr learning - MySQL 8 master-slave replication setup deployment
卷积神经网络模型之——GoogLeNet网络结构与代码实现
Seven lines of code made station B crash for three hours, but "a scheming 0"
The world is exploding, and the Google server has collapsed
Business visualization - make your flowchart'run'(3. Branch selection & cross language distributed operation node)
Docker学习 - Redis集群-3主3从-扩容-缩容搭建
零基础学习CANoe Panel(13)—— 滑条(TrackBar )
Zero basic learning canoe panel (16) -- clock control/panel control/start stop control/tab control
Zero basic learning canoe panel (14) -- led control and LCD control
[机器学习] 实验笔记 – 表情识别(emotion recognition)
牛客论坛项目部署总结
AtCoder Beginner Contest 261 F // 树状数组
cv2.resize函数报错:error: (-215:Assertion failed) func != 0 in function ‘cv::hal::resize‘
Shell common script: check whether a domain name and IP address are connected
How to use causal inference and experiments to drive user growth| July 28 tf67