作为喜欢较真的程序开发者,一个最难以让我们接受的事实是,很多看起来开发和设计都几乎***的软件却无人问津。相反,很多开发的一塌糊涂的软件却被世界上的人们大量的每天使用着,这些软件如果不是设计糟糕,就是bug多多。这看起来似乎是软件界让人忿忿不平的根源之一。
所谓“烂软件”烂在哪里?
如何看待“烂软件”,这首要、最重要的一点是我们如何给“烂”定义标准。所有人都会认为,如果一个软件宣称能备份你的电脑数据,但却时不时的丢失数 据;成功的备份了数据,却占用了多余的空间、备份错了文件,这就是“烂”软件。可很多时候“烂”和“不烂”却不那么容易辨别,而大多数程序员都会认为这样 的软件是烂软件。比如:
-
如果一个软件能为主要用户提供正确的服务,但难于扩展,难于修改,难于维护,这是好软件吗?
-
如果一个软件功能正确,但需要大量的培训才能投入使用,这是好软件吗?
-
如果一个软件工作正常,相对也容易学,但就是运行速度慢,这是好软件吗?
-
能用但界面丑陋的软件是好软件吗?
-
95%情况下都正常,偶有会崩溃的软件是好软件吗?
上面举的这些例子都可以归类为“烂软件”,尽管每个人对这些问题的严重性反应不一。也许你会认为软件的界面不好看,所以是烂软件,而我会认为它在功能上偶尔出现错误,所以不是好软件。很显然,我们认为它们应该做的更好。
为什么“烂软件”受欢迎
为什么烂软件会很受欢迎?也许你会困惑。做为市场人员,他们对软件的好坏的评判跟程序员有很多的不同。而软件的最终用户的评判标准跟市场人员和程序员又有些不同。但有人认为一个软件非常好时,另外一个人却会认为糟糕透了。这才是关键问题。
很多的程序员都不喜欢Wordpress。因为,作为一个开发平台,它实在是不符合常规。它的代码很多都非常古老,很多设计理解都跟不上形势。但 是,对于博客站长来说,它非常简单,持续兼容,在很老的虚拟主机、甚至能在PHP5.2上运行。所有的老的模板和扩展都能运行在***版里。
你也许不认可Wordpress团队的开发方向和设计重点,你也许会认为他们开发的东西就是烂东西,但你无法回避这样的现实:大量的用户(这个数目仍在在增加)仍在使用它,并且认为很简单、实用和强大。
重新定义“好软件”
基本上,评判什么是“烂软件”的标准驱动于人们的立场、角度和侧重点,这些意识决定了他们认为最终产品应该如何设计、部署和实施。
站在老板的角度上,软件能够按要求开发完成,能够盈利,这就是好软件。
代码清晰,测试充分,文档齐全,这是程序员关心的。市场人员关心的是软件能否提供价值,能否赚钱。对于管理员来说,持续运行时间达到99.999%就是好软件。对于用户来说,他们关心的是否简单好用。
对于软件的开发商来说,需要照顾各方面的需求,在各种取舍上做权衡。当所有软件开发参与者、使用参与者、维护参与者、销售参与者等看重的东西都有了很好的照顾,这样的软件才是最成功的软件。
英文原文:Why Bad Software Succeeds
译文出处:程序师网