作这个行业的,并非只有吴俊芳一个,而凡是作这行的都面临一样的痛苦。ObjectDream公司的赵为民,也为这个苦恼的要命。而他知道本身手下并无精兵强将,他只有本身一我的拼命地抽烟,然而抽烟并不能帮助他找到合适的办法解决这个问题。漫天的飞雪更加剧了他这份愁楚。他想找个地方静静——其实他的办公室里已经很安静了。他也想找个地方去喝个酩酊大醉,可是他已经醉了好几回了。此次他赔本接了一个项目,无异于饮鸩止渴。但是,接项目赔钱,不接项目赔得更多,照这么下去,用不了多久就得关门大吉,到时候本身就会离开这个行业了,据说楼上公司已经解散了,老板改作运输了——如今物流不是很火吗?要否则我也改行吧,作餐饮吧。软件园这么多人,送快餐必定很赚钱。已经想了好久了,但是仍是下不了决心。程序员
狂风夹杂着飞雪,这寒冷的天也让他内心更增一份寒意。工具
“叮铃铃铃…”,电话响了。赵为民抄起了手机,有气无力的说,“喂”。设计
“为民,是我啊,最近有空吗?”开发
“你呀!多少年没联系啦,你怎么样啊?怎么想起来给我打电话呢?”文档
“我最近要回家办些事,你有空吗?我们一块儿吃个饭?”软件
“好啊,好啊,你哪天回来?”plugin
“明天。”程序
“好,明天晚上,我安排,不见不散。”方法
“哎,初阳,你这些年都跑到哪里去了。结婚了没?有没有小孩儿?干什么行业啊?赚多少钱啊?”技术
“你看你看,你也太着急了。慢慢聊,时间长着呢。”
“呵呵,你看我也真是太着急了。太想你了,我们得有15年没见了。”
“是啊,15年,一晃就过去了。高中毕业就没见了。怎么样?最近好吗?”初阳还没回答赵为民的问题,倒又问了一个问题。
“我好什么啊。当初要不是非要创业,开什么公司。如今也不至于这么愁了。”
“你赶上什么事儿了?”
“我啊,你不知道吧,我开了个软件公司,专门作对日外包。你知道,如今经济不景气,汇率又降低了,人工成本上涨,这些问题压得整个行业都在恶性竞争,主要都靠杀价。如今我已经开出比竞争对手低15%的价格了。虽然抢了一单来,可是这么下去,迟早得关门歇业,我都想转行了。”赵为民说到这里,不无苦恼地举起酒杯,一饮而尽。
“你看啊,”赵为民继续倒苦水,“客户对个人质量不满意,说要提升质量水平,可同时要求我降价,而交货期却还巴不得缩短。哪有这样的。这不是要命吗?他们太狠了。不过行业就是恶性竞争,全让客户占便宜了。”
“哦,这个啊,我当啥事儿了。这事儿好办。”初阳抿了一口酒,放下杯子。“我问你几个问题啊,大家的详细设计文档,交付之后有多少和代码是一致的。”
“嗯…基本不一致。”赵为民很确定的回答。
“那你干吗要写详细设计?”
“客户要啊。”
“那要是你有了代码,再写详细设计简单仍是什么也没有写详细设计简单?”
“什么?你什么意思?”
“这么说吧,凭空写详细设计,你须要什么能力的人。若是照着写好了的代码写详细设计,你须要什么水平的人?”
“那照着代码写确定须要的水平相对低一些。但是不写设计就写代码的人水平要求更高。”
“嗯,来,走一个。”初阳端起酒杯跟赵为民碰了一个。“这么多年了,跟你说话仍是这么痛快,不用费唇舌。我再问你一个问题啊,你了解建筑业吗?”
“不怎么了解,你想问什么?”
“你有没有看过盖大楼的,盖到顶的时候发现质量问题了,把大楼推倒重盖?”
“这固然没有了。”
“那为何软件业要这么作呢?”
“你是说…咱们作错了?”
“能够这么说吧,我就说嘛,跟你说话真痛快,不费劲儿。来,再走一个。”初阳又端起酒杯跟赵为民干了一杯。
“再问你一个问题啊,你说程序员的水平和工做年限有关系吗?”
“嗯,有必定关系吧?”
“这回你可真的错了。程序员不是红酒,不是年份越高就越好。”
“那应该怎么评价程序员呢?”
“这个问题能够之后再谈。我说这个是想说,你还不知道如何评价软件代码质量。”
“这个我怎么不知道,作了这么多年了,基本常识仍是有的,好比:咱们用千行代码缺陷率。”
“停!一张嘴就说错话了。你刚才说的是千行代码缺陷率是吧?”
“是啊,怎么?”
“没什么,我就是想确认一下我没听错。千行代码缺陷率怎么计算?”
“缺陷个数比上代码行数。”
“好了,这个公式暗示咱们什么?若是咱们没有办法减小缺陷个数,那我就增长代码行数,那就能够下降这个比率了。”
“那又有什么问题呢?”
“程序员为了增长代码行数会怎么作呢?常见的手法就是复制粘贴。”
“这也没什么吧?”
“你当老板时间久了,好久不碰技术了吧?”
“技术一通百通,基本很相似,没什么的吧。”
“那我敢打赌你没听过DRY原则。”
“别讲英文,我做对日的。”
“DRY原则就是Don’t Repeat Yourself。就是别重复你本身的意思。若是用复制粘贴,你会把问题也复制一份,若是发生了需求变动或者Bug,那么你就要改n份,万一少改了一份,就会多一个Bug。”
“但是咱们这么多年一直都是这么作的,也没有什么问题啊。”
“哦,没有问题。那是我多嘴了,喝酒。”初阳又端起了酒杯。
干了这杯酒,赵为民放下了酒杯,说,“看来你说的这个问题好像不是个小问题。”
“是啊,否则你就不会这么痛苦了。再回头说你刚才提到的一个核心问题,你刚才说客户从质量、成本、交货期上来压你,你有些受不了了,这是为何呢?”
“你看啊,提升质量,就得增长成本,要不就得延长交货期;要是缩减成本,就得在时间上有所减小,人手上减小,要不就得下降质量;可要想缩短交货期,在质量不下降的状况下,只能增长成本。总之,这三个,最多能兼顾两个。”
“你看如今街上还有多少人打的油纸伞?”
“都用钢骨伞了,油纸伞?那是白娘子和许仙。你别岔开话题啊。”
“为何古代的油纸伞到如今只能成为景区的记念品呢?”
“嗯,生产成本过高了吧?”
“是啊,油纸伞是手工制造的,而钢骨伞是工厂加工的。因此,钢骨伞在质量成本交货期上都占有绝对优点。因此,换一种生产方式,你能够在这三方面都取得优点。一样的例子不胜枚举。这就是现代化工业带来的好处。”
“你说的有道理,但是软件业已经发展到了很精细化的程度了,咱们已经对过程跟踪的很是仔细了,没办法改进了。”
“嗯,下周一我要去一家工厂有点事儿,你有空吗?”
“干啥?”
“跟我一块儿去工厂参观参观。”
“行啊,这么多年没见了。就当陪你了。无所谓。”
“我可不是叫你陪我玩的。此次参观很重要。嗯,先问问你,你了解现代化工厂吗?”
“这个不大了解,不就是生产线吗?”
“嗯,生产线坏了怎么办?”
“那就维修呗。”
“嗯,要是订单堆积如山,维修生产线须要好几天呢?”
“嗯,那就多几条生产线。”
“一条生产线多少钱?”
“嗯。那你说怎么办?”
“先不告诉你,给你讲个故事。你知道丰田汽车吗?”
“这谁不知道!”
“丰田汽车早先在产能较小,资金较少的状况下起家,如何打败美国的大型汽车工厂的呢?”
“愿闻其详。”
“丰田汽车从其生产销售的整个过程上开始反思,去掉了那些不产生价值的过程。从而下降了生产升本,达到了按订单生产的目的。丰田就是靠这套方法打败竞争对手的。而这套方法叫作‘精益生产’。而敏捷开发和精益生产之间有千丝万缕的关系。”
“精益生产?敏捷开发?这都是什么东西?”
“嗯,你回头有空上网搜搜吧。还有,那个找出浪费的工具叫作价值流图。下周带你去参观工厂。他山之石,能够攻玉。再干一个。”