专栏名称: 架构栈
研究分布式计算、高并发、大数据、架构设计、研发流程改进、研发团队管理;关注电商,互联网金融和社交产品;技术人深度思考,职业发展;每天早晨准时推出原创文章,力求干货源源不断。
目录
相关文章推荐
架构师之路  ·  你的提示词根本只是在浪费算力,如何让deep ... ·  2 天前  
架构师之路  ·  你的提示词根本只是在浪费算力,让deepse ... ·  3 天前  
架构师之路  ·  90%的用户不知道!触发DeepSeek深度 ... ·  4 天前  
51好读  ›  专栏  ›  架构栈

开发过程中沟通的禁忌

架构栈  · 公众号  · 架构  · 2017-12-05 00:34

正文




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

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


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


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


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


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


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


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


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

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


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


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

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


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

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


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


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


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

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

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

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


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


相关阅读


高效研发体系的基本特征

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







请到「今天看啥」查看全文