设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

你优化系统的目标是什么?

2013-5-23 10:43| 发布者: 红黑魂| 查看: 1058| 评论: 0|来自: 外刊IT评论

摘要:   让我来给你们讲一个故事:当我在大学的时候,我选了一门“高级”面向对象编程课程。以前从来没有接触过这种知识,这个课程使用SmallTalk这种语言教学,而且教学方式非常特别;第一天,教授给我们布置了一个将会 ...

第二个故事

  让我来给你们讲一个故事:这是关于大概25年前开发的一个系统的故事。它是一个瑞典大公司的重要业务系统。我说这是一个重要业务系统,是因为它处理的业务是公司80%的收入来源。

  自打一开始,他们就思考的面面俱到,保留的极详细的文档。他们还制定了一套严格的需求变更规范。他们要求尽量避免这样的系统里的变更,因为风险很大,一旦出错会造成巨大的影响。

  公司如此为这种事情担心,以至于他们编写了一系列的措施来预防系统出现问题;所有的代码要经非代码原作者的第二人用伪代码注释一遍。而且测试工作不能由代码的作者来执行。

  同样,也制定了各种风险管理措施,来管控软件规格说明书的制定。写规格书的人被分成了几个等级,以此确保在递交给相关IT业务部门前经过层层检查。

  很 快25年过去,如今这些编写文档和管控风险的部门仍然在忙碌。这套措施很少出问题,但却效率很低。一个修改从列入计划到提交到产品中大概要30周的时间。 一个想法到正式被写入规格说明书要经过20多个不同级别人的审批。拿着这种说明书的程序员都称自己为“施工人员”,因为他们实际的工作是把伪代码翻译成 COBOL语言。

  所有围绕这个系统做的事情都是为了掌控风险和需求变更,把稳定放在第一位。他们认为只要修改就会产生意外。但不幸的是,对于一个业务来说,唯一可能发生的事情就是:改变。而且改变的频率会越来越高。

  他们为稳定而优化系统。

  我想强调一点,第二个故事里的这种想法的人在生活中不占少数。他们是很优秀的人,但他们却被安排去开发以稳定为第一位的系统。这才是真正的风险。

结论

  这两个故事让我思考很多:

  • 如今我在写代码时是以何目的而优化?
  • 变化随时都会到来。我从开始就知道。“在这个系统运行的25年里我将会不断的修改它的规格说明书”。我该如何去应对这种事情?
  • 我是如何看待变化,把它当成风险?还是当成一种驱动?能够快速的应对改变是一种商业优势,是一种管控风险的良方。我如何让我的代码更容易改变?
  • 在一个将要进行大量修改的系统里,什么样的文档才能满足我?

你优化系统的目标是什么?

[英文原文: Are you coding for change or for stability? ]

酷毙
1

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部