大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。
当前系列: (3)渠道 修改讲义

+++++++++++++++++++

都有人打赏了(谢@徐献),怎么也得更一篇,是不是?

+++++++++++++++++++

上一篇 我们主要讲了需求变更是一个很麻烦的问题,但偏偏它的存在又有合理性的。所以一些聪明的程序员发明了“设计模式”、“敏捷开发”之类的东西,来“拥抱变化”。这些都是非常有用的,但问题就在于门槛稍稍有点高,在实践上会遇到比较大的阻力。

其实我们不用老盯着代码,(程序员)做好自己的事当然非常重要,但跳出代码的层面,从整个系统层面进行流程优化,往往会收到意想不到的作用。

那么我们首先把整个软件开发的流程拉出来,大致可以分为以下三个步骤:

  • 提出需求:我这个软件要做成什么样子的,我们假定是产品经理干这事。
  • 代码编写:写代码,把这个软件开发出来。这活当然是开发团队干。
  • 测试验收:代码写出来了,还得测试;测试通过了,才能验收。

这三步环环相扣,互相影响,你要是不弄明白里面的门道,以后打起官司来,作为管理者你头都要炸掉!

我在做装修的时候,管工地就碰到这样一个问题:这墙要开一个门洞,那时候切割机还没普及,就是石匠用錾子打的,所以门洞捣鼓出来就像是狗啃的一样。接着泥水工经常,就要去“补”一下,把它给抹平。最后是装门的师傅来装门,问题就出来了:尺寸不合!门装不上。

为什么装不上呢?我们就要再倒回去查原因。

首先你木工师傅做门的尺寸是哪里的?是我们提供的,我们就是根据图纸提供的,80厘米宽的一个门洞,但现在这个门洞的尺寸是多少呢?上面75,下面80,中间85,整个就一个畸形!

是谁干的?

先问掏门洞的石匠,他在电话里面叫:“錾子打出来的东西,哪有那么精确?后面的泥工要补噻!”一问泥工,他满脸的不服气:“我只管把你原来这些坑坑洼洼的地方补平,你原来的石匠要打准啊!我又不知道这门洞要多大。”然后他还给我们出主意:“这事怪他们做门的啊!他们该自己来实际量一下,哪里我们报个数他们就开始做了哟!”

这个故事我已经尽量简化了。现在假设你是工地负责人,你来怎么断这个官司?这究竟该是谁的责任?

要是我还是律师的话,我最喜欢这样的案子啦!那是谁给我钱我就帮谁说话,帮谁谁都有理。但作为企业管理者,头痛得要死:要说责任,谁都有责任;但谁都有责任,就是谁都不用负责任。责任落实不到人,你就解决不了问题。

软件开发里面的问题其实一样。说程序员是IT民工,我看差不多,说出来得罪人,但这话我还是要说:那大部分程序员的素质真和我装修工地上的民工没多大差别。产品经理,不要偷着乐,你也一样一样的!我说的不是其他方面,我说的是意识:没有责任意识。本身自己的活干得也不咋的,一出问题就往别人身上推。这样很快,办公室就变成足球场,菜市场,一个没有硝烟的打战场!

还一致对外呢,内部就打起来了。而且中国人几千年的窝里斗,运用到职场上,那叫一个炉火纯青。公司的老大头很大,怎么解决?招聘启事上总是要加一条:具有团队精神;隔三差五的搞个team building,或者拉出去“拓展”训练……

有用吗?谁会傻到说自己没有团队精神,真这么说的人,你还得留意了,说不定是个Geek!饭桌上推杯换盏,训练场上痛哭流涕,但回到办公室,该吵的照样吵……

为什么?你没从根本上解决问题。关键是他的工作影响了我的工作,一次我忍了,两次我忍了,三次五次我都他妈的忍了,但天天这样,我没法忍了呀?妈逼的需求一天变三次,临上线的前天晚上要加个功能,我个人都算了,但手下的弟兄们没法交代啊!

产品经理也不是吃素的。“加个需求你们就叫唤了?你们一开始就没领会我的意图好不好?你们技术不行就要承认,代码要写得‘可扩展’,这事不用我教你吧?(得!他还知道这个。)上次你们那版本,一跑整页整页的崩溃,我在客户面前都无地自容啊!……”

戳到你痛处了吧?“还不是你们乱改需求改出来的!你们……你们……”理工男,表达能力的弱项就暴露了,估计这时候就真想打产品经理了。

因为这个时候开发是很吃亏的,假设这时候CEO坐在桌子中间,他怎么想?需求变更说不定就他要求的,他不觉得这么改一下会有什么大问题,因为你最后还是不是加班给改出来了嘛?如果他在你电脑旁边看看,基本上他就看你ctrl+c,ctrl+v,还听麻溜的。但程序一跑就报错,这个问题是实实在在的,不是技术的问题,还能是谁的问题呢?就算错误是改动造成的,你ctrl+c,ctrl+v的时候为什么不仔细一点呢?

是吧?这话拿到哪里都有道理啊(程序员群体除外)。

所以啊!程序员同学一定要学会保护自己。不是在报人天的时候加个buffer,那太没技术含量。我有一套系统的方案,为了便于理解,我们从头说起:

  1. 需求给我了就不能改。这是铁律,也是基础。
  2. 要改怎么办?加钱加时间。

这个思路很好理解,也很合理,是吧?

但这里面有一个问题:记不住。什么意思呢?实际的情况很复杂,今天我可能加三个功能,明天我可能减两个功能,后天我又改一个功能,再后天我又……总之,可能一星期下来,大家都晕了,谁还记得住?

所以,我们首先需要一个工具。

学习笔记
源栈学历
今天学习不努力,明天努力找工作

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 (3)渠道 中继续学习:

下一课: 你要不要

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码