开发过程中沟通的禁忌




如果你是非技术人员,我想说:

请不要对技术人员说“这个需求很容易实现


当一个不懂技术的人试图对软件开发时间进行评估时,有一个很基本的直观指标在辅助他们:以体积或者数量为指标的复杂度。


要么是根据代码的行数,要么是根据参与的人数。


之前听朋友讲到一个真实的段子:公司老板让项目经理,统计每位开发工程师的代码行数,根据代码行数确定每个人的绩效。


另外一个常见的例子就是,产品经理问你需要几天完成这个需求,你说需要1周,那么一般接下来的对话就是,“给你加2个人,我要2天做完。”


不幸的是,开发的复杂度,唯一有效的推测方法是技术人员根据过去的经验。而且还不是每次都管用。作为一名十几年的技术人员,我知道,根据我之前开发过或者领导的相似项目,我可以估计出现在的这些功能特征各自要多少开发时间。然而,事实情况中,每个项目在开发过程中都遇到意想不到的事情。比如block issue,人员的突发情况,沟通障碍等等。这些问题,有时在项目开始前,根本不会有所预见。


除此之外,非技术人员会将“最快做完功能”来判别技术人员或者技术团队的能力,因为背后的“可维护性”或者“可扩展性”不是一眼看出来的。


如果你是技术人员,我想说:

请不要对非技术人员说“这个需求技术上无法实现


参见多年前小马哥说的,在鹅厂,没有什么需求技术上是无法实现的。


很多时候,需求的真正限制,只取决于时间或者资源

何况,需求并没有限制我们使用某一种技术去实现。


从15年前的Google, 到StackOverFlow,GitHub和各类垂直技术社区,可以说,任何技术问题都能找到直接答案乃至源码。

比我们当年在寝室啃MSDN英文文档找一个解决方案,幸福无数倍了。


所以,我们只是觉得现在想到的方案过于复杂,而且会带来高额的维护成本或者会带来一系列的副作用,才不愿意去解决。


正确的做法,绝不是急于否定需求。而是站在全局的角度:


  1. 分析需求的核心是什么?将非核心的干扰先排除掉。

  2. 将需求进行有效的拆分,尝试为每一部分找到一个最优解。

  3. 根据优先级,分步骤完成需求,降低副作用。

  4. 打开好奇心,切勿畏惧技术探索的困难


还是一句老话,无论是技术还是非技术人员,解决沟通问题的关键,在于看待问题的方式。


相关阅读


高效研发体系的基本特征

提升技术团队战斗力的几件事


扫描二维码或手动搜索微信公众号【架构栈】: ForestNotes

欢迎转载,带上以下二维码即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值