需求:我只是想在页面上加个链接
需求:我希望在页面上的这个位置放一个链接。
「这不是很简单吗?html 文件里面加个 A 标签就可以了」
提出需求的人可能并不知道自己真正想要的是什么
提出需求的人通常只是将自己所能看到的东西结合上自己想要的东西,用自己的逻辑演绎之后得出的所谓「需求」。
不同领域、不同层次的人,对需求的描述方式都是不同的。仅仅是通过别人对需求的描述实际上很难了解对方真正的意图。比如上面加链接的需求,实际提出这个需求的人想要的可能是:
- 统计每次点击的用户
- 可以自己修改这个链接的文字和地址
- 对不同地区的用户显示不同的链接
- …
需求只是一种主观的描述方式,直接参考价值并不高。我们应该和需求方聊聊背景,聊聊为什么会提出这样的需求?有没有想过或尝试过别的方案?
1. 你的需求其实并不需要开发
很多需求只不过是现有资源没被充分利用造成的。满足这样的需求可能只是做一些资源的调配,不需要投入额外的开发。
- 如果只是链接到活动页面,可以通过后台配置出来,不需要投入开发
- 这个链接固定到当前用户个人中心页,我们有现成的组件可以直接用
不写代码就能满足需求才是最优雅的实现方式。
2. 你的需求这么做会更好
提出需求的人可能会缺少某些方面的意识,我们可以在了解需求背景的阶段给出一些建议。
- 把链接放在另一个位置转化率会更高,而且不会让用户觉得恶心
- 这里可能需要限制一下字数,这块空间只能容纳 15 个字,否则就换行了
这样的建议也是因人而异的,如果提需求的人比我们的产品感官更高,这时候我们再去给对方建议就有点班门弄斧了。但是这并不妨碍我们了解需求时问到「为什么把链接放在这里」,可以抱着学习、提高自己的心态问。
3. 你不能这么做
某些需求可能就是现阶段不能做的,但是这些不能做的原因可能在需求方的认知范围之外。
- 链接的文案和文字的控制权交给外部,这样无法通过安全评估
- 这个页面不能大量引流,我们需要先优化性能,否则服务器会扛不住
这种时候好好解释清楚,该拒绝的就拒绝。有些原则问题是不能容忍的,强行去满足这种需求迟早会出事。
当然有时候会遇到一些沟通不到一个点上的需求方,这时候可以考虑聊聊情怀、聊聊价值观。
4. 找个 ROI 较高的平衡点
提出需求的人可能并不知道实现成本有多高,讨价还价很有必要。
- 这个地方加链接可能需要下个月才能上线,用按钮的形式明天就可以上线
- 做到可以实时修改可能需要投入一周的工作量,容忍 1 小时延迟的话马上就可以搞定
如果我们了解过背景,可以发现需求方的描述中有些部分根本就和背景没关系,只是拍脑袋决定的。
如果只是加一个入口,未必非要用链接的形式,用按钮同样可以做到。如果使用按钮的方案不需要做任何开发,而改成链接可能需要跨团队协作,还需要 App 发版本,那么为何要执着于用按钮的形式呢?
最后
把所有事情考虑清楚之后,我选择了在 html 文件里面加个 A 标签。需求真的只是想加个链接而已,根本就没我想的这么一大堆破事。
但是这并不是什么令人后悔的事,在一件事没有进入终态之前,它存在的概率足以让我们去思考这一堆问题。侥幸的心态终究会败给墨菲定律。
你也许感兴趣的:
- 程序员天天说“这个需求做不了”,我该不该信这个邪?
- 从“项目经理让程序员买包烟”这个需求说起
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
你对本文的反应是: