需求延误,程序员该背锅吗?

本文讨论了产品开发中需求延误的问题,指出需求方和开发方过早精细化可能导致资源浪费和延期。以一个实际案例说明,即使在紧急需求下,过于详尽的预估也可能导致不必要的工作量。文章引用乔布斯的观点,强调人们往往不知道自己真正需要什么,直到产品展示出来。最后提出,需求变化是常态,避免精细化陷阱对于减少延误至关重要。

根据大众的需要去设计产品其实是非常难的。因为在很多情况下,人们并不知道自己想要什么,所以需要你去展示给他看。

 

——乔布斯

 

01

 

需求延误,不仅发生在技术和产品之间,产品和业务方也时常面临这个困扰。但产品无法按时交付,最终都会归因为开发的延期。

 

可能有人会说:产品有时候会出很急的需求、很难实现的需求,这些情况一般都是加班加点才勉强按时交付的,更别说出bug很难解决的情况下,开发延期是常有的事。

 

这话没错,除了程序员要学会对需求较准确预估外,做业务的人也要对需求有全面的了解,尽量确保每个环节的交付能少一点不确定性。

 

其实这中间涉及到的一个问题就是:过早精细化。

 

需求方还没想明白,就要精确知道最后能带来多少收益;程序员还没有完全了解整个项目,就想量化最终要交付什么。

 

为了追求这种不确定的、不完整的精确,双方都需要花费大量精力和时间。

 

02

 

举个例子,之前有产品提过一个需求,要开发一个特别复杂的新功能,涉及的内容和类型非常多,当时只给一周时间开发,2天时间测试,时间非常赶!

 

当时评审说得很好,说产品上线后转化率起码提升一倍。我们团队当时连周末都没休,紧赶慢赶总算交付了,结果上线后发现人家运营根本用不着后台配置,页面也用不着那么多类型,可算是把我们坑了一把!

 

当然,这样的情况是很多程序员的日常,但这并不代表这就是正常的。

 

程序员其实是非常容易掉进精细化陷阱的,因为大部分开发人员都知道要评估整个系统,大部分情况下会精确评估,但事实常常不按我们所想的发展。

 

03

 

每个团队接收到的信息完整度是不一样的,需求文档代表的或许不是原始需求方的原始需求,甚至,就算是代表了原始需求,产品上线后他们的需求可能又会马上变化。

 

就像乔布斯说的:“根据大众的需要去设计产品其实是非常难的。因为在很多情况下,人们并不知道自己想要什么,所以需要你去展示给他看。”

 

所以直到产品上线的前一秒,或许需求都不会变化,反而产品上线后,需求可能会完全变了个样。这时候很多程序员和产品才晃过神来:之前的各种精细化设想和评估,某种程度上都是在浪费时间...

 

如果每次开发都精细化评估,你会一直delay,为了不延期,你就要付出更多工作之外的时间,这是一个恶性循环!

 

而且需求变化本是常态,一昧地追求精细化大可不必。

 

那么如何做才能不增加工作强度又减少需求延误呢?下次再给大家详细讲讲,也算是我工作多年来总结的几个经验吧。

 

-The end-

 

你好,我是中年码农飞哥,

我会从CTO视角讲述程序员职场/技术/学习/创业等,

分享从码农到CTO的职场和技术经验

 

扫 码 | 围 观 飞 哥 朋 友 圈

 

图片

### 网络运维常见问题及解决方案 网络运维过程中,常见的问题包括但不限于网络连接故障、设备配置错误、网络性能下降等。以下是具体问题及其解决方案: #### 1. 网络连接故障 网络连接问题是网络运维中最常见的问题之一[^1]。当用户报告无法连接网络时,需要进行以下排查: - 检查物理连接:确保网线插好且没有损坏。如果怀疑网线问题,可以尝试更换网线进行测试[^2]。 - 检查网络设置:确认IP地址、子网掩码、网关和DNS服务器配置是否正确。 - 重启网络设备:尝试重启路由器或交换机以恢复网络功能。 #### 2. 网络配置错误 网络设备(如路由器、交换机)的配置错误可能导致流量中断或网络性能下降。解决方案包括: - 核对配置文件:检查网络设备的配置是否符合预期。 - 使用健康检查工具:在负载均衡器中启用健康检查功能,例如Nginx的`upstream`模块可以配置健康检查规则[^3]。 ```nginx upstream backend { server backend1.example.com check; server backend2.example.com check; } ``` #### 3. 网络性能下降 网络性能下降可能是由于带宽不足、网络拥塞或设备故障引起的。解决方法包括: - 分析流量:使用工具如Wireshark或Sniffer监控网络流量,找出瓶颈。 - 优化带宽分配:根据业务需求调整QoS(Quality of Service)策略,优先保障关键应用的带宽。 #### 4. 设备硬件故障 硬件故障是网络运维中的另一个常见问题。处理步骤如下: - 替换硬件:对于疑似硬件故障的设备,可以尝试替换相关硬件组件(如网卡、交换机端口)进行测试[^2]。 - 更新驱动程序:对于笔记本电脑或其他终端设备,确保网卡驱动程序是最新的版本。 #### 责任划分 在网络运维中,责任划分通常基于问题的具体来源: - **用户端问题**:如网线拔掉、本地网络设置错误等,由终端用户或桌面运维人员负责处理。 - **网络设备问题**:如路由器、交换机配置错误或故障,由网络工程师负责排查和修复。 - **外部网络问题**:如互联网服务提供商(ISP)故障,则需联系ISP进行处理。 通过明确责任划分,可以有效提升问题解决效率并减少跨部门沟通成本。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值