设为首页收藏本站

LUPA开源社区

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

软件开发中的“瑞士军刀综合征”

2014-5-29 10:08| 发布者: joejoe0332| 查看: 2556| 评论: 0|原作者: TonyRideBike|来自: 伯乐在线

摘要: 如果大家认为这篇文章更多是在喷,我先说抱歉。“瑞士军刀综合征”的想法是起源于我和项目经理、客户、甚至其他开发者打交道的过程中产生的沮丧感,他们都以一种狭隘特殊的方式思考问题。我称之为“瑞士军刀综合征” ...

  如果大家认为这篇文章更多是在喷,我先说抱歉。“瑞士军刀综合征”的想法是起源于我和项目经理、客户、甚至其他开发者打交道的过程中产生的沮丧感,他们都以一种狭隘特殊的方式思考问题。我称之为“瑞士军刀综合征”。


  瑞士军刀



  “瑞士军刀”这个词通常用于描述一种可以在各种情况下使用的多种工具的集合体。


  虽然这样的组合可能很有用,但同样要注意一些风险。一个有太多活动部件的工具,可能最后是完全无用的!什么都能做的工具,就是什么都做不好的工具。


  就我的经验来看,同样的问题也出现在软件上。大多数时候,开发人员仅仅因为“这很酷!”就把一些功能或者一段代码放进工程里;项目经理们会认为这样或那样的特性可以增加价值,并且在项目中期修改需求;消费者因为听说或看到某个性能对他们“至关重要”而期望额外功能或特性。


  这种“瑞士军刀综合征”可以有很多形式:需求范围的蔓延,过早的优化,等等。但是问题的根源在于,我们是如何理解并评判软件、工作量及其附加价值的价值:


更多功能

=

更大价值


  现实中,以及绝大多数情况,事实恰恰相反。一段代码或者一个软件越复杂,它提供的价值就越少。一个个人的例子就可以简单说明这一概念,Demac Media内部使用的枢纽控制台。


  本来这个应用很简单:我们需要一个(1)查看所有分配给小组的任务和(2)通过本周或两周的底线来过滤任务——简单来讲,就是一个带有过滤功能的任务整合器。


  我用了一周时间,写出了基本的功能。在下周周一时,我给我们团队的项目经理展示的时候,他认为这个应用不错,很有用。


“……但是,如果……,将会更不错……”


  于是瑞士军刀综合征开始了:这个工具要和另一个团队共同使用。在他们还没有开始使用之前,我们就收到了一堆需要添加的新特性。突然间,我们有了很多远超出这个应用最开始设计的需求。

 


酷毙

雷人

鲜花

鸡蛋

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

最新评论

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

返回顶部