• 走出软件泥潭 第二回 绝处逢生


    做这个行业的,并不是只有吴俊芳一个,而凡是做这行的都面临同样的痛苦。ObjectDream公司的赵为民,也为这个苦恼的要命。而他知道自己手下并没有精兵强将,他只有自己一个人拼命地抽烟,然而抽烟并不能帮助他找到合适的办法解决这个问题。漫天的飞雪更加重了他这份愁楚。他想找个地方静静——其实他的办公室里已经很安静了。他也想找个地方去喝个酩酊大醉,但是他已经醉了好几次了。这次他赔本接了一个项目,无异于饮鸩止渴。可是,接项目赔钱,不接项目赔得更多,照这么下去,用不了多久就得关门大吉,到时候自己就会离开这个行业了,听说楼上公司已经解散了,老板改做运输了——现在物流不是很火吗?要不然我也改行吧,做餐饮吧。软件园这么多人,送快餐一定很赚钱。已经想了很久了,可是还是下不了决心。

    狂风夹杂着飞雪,这寒冷的天也让他心里更增一份寒意。

    “叮铃铃铃…”,电话响了。赵为民抄起了手机,有气无力的说,“喂”。

    “为民,是我啊,最近有空吗?”

    “你呀!多少年没联系啦,你怎么样啊?怎么想起来给我打电话呢?”

    “我最近要回家办些事,你有空吗?咱们一起吃个饭?”

    “好啊,好啊,你哪天回来?”

    “明天。”

    “好,明天晚上,我安排,不见不散。”

    “哎,初阳,你这些年都跑到哪里去了。结婚了没?有没有小孩儿?干什么行业啊?赚多少钱啊?”

    “你看你看,你也太着急了。慢慢聊,时间长着呢。”

    “呵呵,你看我也真是太着急了。太想你了,咱们得有15年没见了。”

    “是啊,15年,一晃就过去了。高中毕业就没见了。怎么样?最近好吗?”初阳还没回答赵为民的问题,倒又问了一个问题。

    “我好什么啊。当初要不是非要创业,开什么公司。现在也不至于这么愁了。”

    “你遇上什么事儿了?”

    “我啊,你不知道吧,我开了个软件公司,专门做对日外包。你知道,现在经济不景气,汇率又下降了,人工成本上涨,这些问题压得整个行业都在恶性竞争,主要都靠杀价。现在我已经开出比竞争对手低15%的价格了。虽然抢了一单来,但是这么下去,早晚得关门歇业,我都想转行了。”赵为民说到这里,不无苦恼地举起酒杯,一饮而尽。

    “你看啊,”赵为民继续倒苦水,“客户对我的质量不满意,说要提高质量水平,可同时要求我降价,而交货期却还恨不得缩短。哪有这样的。这不是要命吗?他们太狠了。不过行业就是恶性竞争,全让客户占便宜了。”

    “哦,这个啊,我当啥事儿了。这事儿好办。”初阳抿了一口酒,放下杯子。“我问你几个问题啊,你们的详细设计文档,交付以后有多少和代码是一致的。”

    “嗯…基本不一致。”赵为民很肯定的回答。

    “那你干嘛要写详细设计?”

    “客户要啊。”

    “那要是你有了代码,再写详细设计简单还是什么也没有写详细设计简单?”

    “什么?你什么意思?”

    “这么说吧,凭空写详细设计,你需要什么能力的人。如果照着写好了的代码写详细设计,你需要什么水平的人?”

    “那照着代码写肯定需要的水平相对低一些。可是不写设计就写代码的人水平要求更高。”

    “嗯,来,走一个。”初阳端起酒杯跟赵为民碰了一个。“这么多年了,跟你说话还是这么痛快,不用费唇舌。我再问你一个问题啊,你了解建筑业吗?”

    “不怎么了解,你想问什么?”

    “你有没有看过盖大楼的,盖到顶的时候发现质量问题了,把大楼推倒重盖?”

    “这当然没有了。”

    “那为什么软件业要这么做呢?”

    “你是说…我们做错了?”

    “可以这么说吧,我就说嘛,跟你说话真痛快,不费劲儿。来,再走一个。”初阳又端起酒杯跟赵为民干了一杯。

    “再问你一个问题啊,你说程序员的水平和工作年限有关系吗?”

    “嗯,有一定关系吧?”

    “这回你可真的错了。程序员不是红酒,不是年份越高就越好。”

    “那应该怎么评价程序员呢?”

    “这个问题可以以后再谈。我说这个是想说,你还不知道如何评价软件代码质量。”

    “这个我怎么不知道,做了这么多年了,基本常识还是有的,比如:我们用千行代码缺陷率。”

    “停!一张嘴就说错话了。你刚才说的是千行代码缺陷率是吧?”

    “是啊,怎么?”

    “没什么,我就是想确认一下我没听错。千行代码缺陷率怎么计算?”

    “缺陷个数比上代码行数。”

    “好了,这个公式暗示我们什么?如果我们没有办法减少缺陷个数,那我就增加代码行数,那就可以降低这个比率了。”

    “那又有什么问题呢?”

    “程序员为了增加代码行数会怎么做呢?常见的手法就是复制粘贴。”

    “这也没什么吧?”

    “你当老板时间久了,很久不碰技术了吧?”

    “技术一通百通,基本很类似,没什么的吧。”

    “那我敢打赌你没听过DRY原则。”

    “别讲英文,我作对日的。”

    “DRY原则就是Don’t Repeat Yourself。就是别重复你自己的意思。如果用复制粘贴,你会把问题也复制一份,如果发生了需求变更或者Bug,那么你就要改n份,万一少改了一份,就会多一个Bug。”

    “可是我们这么多年一直都是这么做的,也没有什么问题啊。”

    “哦,没有问题。那是我多嘴了,喝酒。”初阳又端起了酒杯。

    干了这杯酒,赵为民放下了酒杯,说,“看来你说的这个问题好像不是个小问题。”

    “是啊,不然你就不会这么痛苦了。再回头说你刚才提到的一个核心问题,你刚才说客户从质量、成本、交货期上来压你,你有些受不了了,这是为什么呢?”

    “你看啊,提高质量,就得增加成本,要不就得延长交货期;要是缩减成本,就得在时间上有所减少,人手上减少,要不就得降低质量;可要想缩短交货期,在质量不降低的情况下,只能增加成本。总之,这三个,最多能兼顾两个。”

    “你看现在街上还有多少人打的油纸伞?”

    “都用钢骨伞了,油纸伞?那是白娘子和许仙。你别岔开话题啊。”

    “为什么古代的油纸伞到现在只能成为景区的纪念品呢?”

    “嗯,生产成本太高了吧?”

    “是啊,油纸伞是手工制造的,而钢骨伞是工厂加工的。所以,钢骨伞在质量成本交货期上都占有绝对优势。所以,换一种生产方式,你可以在这三方面都取得优势。同样的例子不胜枚举。这就是现代化工业带来的好处。”

    “你说的有道理,可是软件业已经发展到了很精细化的程度了,我们已经对过程跟踪的非常仔细了,没办法改进了。”

    “嗯,下周一我要去一家工厂有点事儿,你有空吗?”

    “干啥?”

    “跟我一起去工厂参观参观。”

    “行啊,这么多年没见了。就当陪你了。无所谓。”

    “我可不是叫你陪我玩的。这次参观很重要。嗯,先问问你,你了解现代化工厂吗?”

    “这个不大了解,不就是生产线吗?”

    “嗯,生产线坏了怎么办?”

    “那就维修呗。”

    “嗯,要是订单堆积如山,维修生产线需要好几天呢?”

    “嗯,那就多几条生产线。”

    “一条生产线多少钱?”

    “嗯。那你说怎么办?”

    “先不告诉你,给你讲个故事。你知道丰田汽车吗?”

    “这谁不知道!”

    “丰田汽车早先在产能较小,资金较少的情况下起家,如何战胜美国的大型汽车工厂的呢?”

    “愿闻其详。”

    “丰田汽车从其生产销售的整个过程上开始反思,去掉了那些不产生价值的过程。从而降低了生产升本,达到了按订单生产的目的。丰田就是靠这套方法战胜竞争对手的。而这套方法叫做‘精益生产’。而敏捷开发和精益生产之间有千丝万缕的关系。”

    “精益生产?敏捷开发?这都是什么东西?”

    “嗯,你回头有空上网搜搜吧。还有,那个找出浪费的工具叫做价值流图。下周带你去参观工厂。他山之石,可以攻玉。再干一个。”

     
  • 相关阅读:
    扫描指定ip的端口(C#)
    C# 调用Delphi dll
    MuleSoft系列(五)-使用Anypoint Studio从RAML文件创建RESTful API接口
    MuleSoft系列(四)-用Anypoint Studio创建一个Mule应用程序
    MuleSoft系列(三)- 使用API设计器通过RAML定义API
    MuleSoft系列(二)- 使用Flow Designer创建Mule应用程序
    MuleSoft系列(一)
    Docusign系列(四)
    Docusign系列(三)
    Docusign系列(二)
  • 原文地址:https://www.cnblogs.com/stephen-wang/p/3187577.html
Copyright © 2020-2023  润新知