为什么拙劣的软件也会成功?

对于一个公正的软件制造者,一个很难接受的事实就是——一些花费了很多心力去设计的精美软件竟然会被弃之不用。相反,一些拙劣的软件——粗糙的设计、遍布 bug 的代码——却大受欢迎。让人心塞的是,这似乎已经成为了软件行业的一个基本现状。

怎么样的才是拙劣的软件?

这些拙劣的软件之所以会成功的第一原因也是最重要的原因就是我们对于这个“拙劣”的定义并没有达成共识。对那些声称可以备份计算机但是却在随机破坏存储数据的软件,以及表面上数据已经备份成功但实际上数据依然丢失的软件,大家都会认同是“拙劣”的软件,这是毋庸置疑的。但是,还是有很多处于中间地带的软件,该如何定义尚不能达成共识。比方说,对于下面这些软件,你是怎么看的?

  • 如果一个软件,基础用户使用的时候工作良好,但要当需要扩展、改变或者再次开发就特别麻烦?
  • 如果一个软件,用户服务目的明确,但是需要经过长时间的培训之后,用户才能高效使用它?
  • 如果一个软件,工作原理不错,了解起来也比较直观,但是执行预期操作的时候要命的慢?
  • 如果一个软件,虽然能工作,但是界面实在是丑陋不堪?
  • 或者这个软件 95% 的时间能正常工作然后剩下的时候就会系统崩溃并死机?

上面这些例子就足以说明我们对于软件的“拙劣”是有分歧的。比如说,你觉得用户界面丑就说明软件不好,但是我觉得那些不能实现预先功能的软件才是拙劣的。所以如果拿出来一个企业依赖度非常高的 Swing(Java)应用,我们之间的看法可能就会截然不同。

当拙劣的软件贴上 GOOD 的标签

知道了这个原因我们就能明白为什么拙劣的软件也会成功了。企业人士侧重的要点可能和开发人员的不同。而最终用户的侧重点又与企业和开发人员的不同。所以可能这一个认为“一级棒”,另一个则只是觉得“差强人意”,但是到了还有一个眼里就是“太烂了”。而这,就是问题的根源。

大多数开发人员第一次接触 WordPress
的时候都会认为不好。作为一个开发平台,充其量最多只能说有点标新立异。代码是很久以前的老代码,设计还是十年前的那个模样。由于平台着重于用户的易用性和连贯性,到现在它依然运行在
PHP 5.2(已经好几年没有安全更新过了)上面,而且所有的旧模版和插件仍然可以在最新的版本上良好地运行。

我们可以认为 WordPress 这个软件实在是差得不可救药,但是却不得不承认,它有大量的用户(甚至还在不断增加中),因为使用过 WordPress,用户大多会被它的简单舒适以及强大的功能所折服,大概就是俗话说的,谁用谁知道吧。

为什么拙劣的软件也并不是万能的?

从根本上来说,之所以这些“拙劣”的软件也会收到欢迎,是因为不同结构层次的人他们的决策优先方向不一样。

也就是说,整洁、测试良好、文档记录明确、易于理解的代码是开发人员关注的重点;而企业只注重它是否能带来价值是否能赚很多钱;至于管理员则希望软件正常使用时间能达到
5
个9——99.999%;但是最终用户关注的则是软件是否讨人喜欢是否易学易用。总而言之,这些利益相关者的目标虽然都很容易实现,但是却会不可避免地发生碰撞。

制作软件就像是平衡这些利益相关者之间的利益一样,因为我们需要权衡软件的制作工艺、敏捷实践、TDD,以及其他很多很多问题。想让每一个人满意那是不可能的事情。哪怕甚至于所有的利益相关者的目标和关注重点等条件都一致,还是会有很多人觉得他们面对的是“拙劣”的软件。

作者:Lili 

来源:51CTO

时间: 2024-08-28 11:57:27

为什么拙劣的软件也会成功?的相关文章

比尔盖茨:只要写软件就会成功 ,最初无管理公司梦想

在昨天的2015博鳌亚洲论坛早餐会上,技术领域两大代表人物--微软公司创始人比尔·盖茨分享其起家发家的心路历程.盖茨在谈到和苹果公司创始人乔布斯的区别时表示,他和乔布斯不同,他不像乔布斯那么爱财产,他没有从微软拿太多的资产. 谈乔布斯: 从乔布斯身上学到很多 对商业理念极具洞察力 比尔·盖茨说:"在我创立微软的时候IBM是行业的老大,1981年微软为IBM提供了相关的芯片,与英特尔也有合作--我们从当时的行业老大身上学到了很多,但其实那时有的老大的领导人脾气不太好,这种合作伙伴的关系其实挺有挑战

《程序员度量:改善软件团队的分析学》一软件团队是成功还是失败

软件团队是成功还是失败 在体育运动中,每个团队都为胜利而战,而成功的定义也很清晰.精确.软件开发与此不同,我们缺乏对成功的恰当测度.我所发现的最佳策略是软件开发团队的成功三角形,它基于三方面的因素:客户响应.质量指标和效率.这些都能按发布版.特性来测量,并且可以相对于先前的水平.团队目标和组织目标加以评估. 用户对每个软件发布版的响应是什么 开始时,你可以考虑以三个月为周期测量用户对新发布版的采用率是否达到了20%.你能够同设定的目标相比较.为客户响应.质量指标和效率进行这种检测,为团队提供了一

未雨绸缪 软件项目策划成功的要点

古人云"万事预则立,不预则废",项目要成功必须做好计划.软件项目策划是项目管理过程中最基本的一个过程,软件项目策划的方法是软件项目经理必须掌握的.在实际的项目策划过程中,必须掌握以下的9个基本要点...... (1)掌握好项目策划的时机 软件项目策划过程的输出是文档化的http://www.aliyun.com/zixun/aggregation/10495.html">项目计划书,在项目的不同阶段都需要进行项目策划,只不过在不同时机项目策划的目的不同,花费的工作量也不

怡海软件:CRM成功导入的关键!(干货)

一.前言 许多企业在导入CRM客户关系管理系统的时候,往往不知道该从何下手, 亦或是在推动的过程中遭遇到了许多的障碍,甚至有许多企业在系统成功的导入上线之后, 才发现成效不彰. 其实只要在推动系统导入之前能够多加注意,这些问题是可以预防的.本文怡海软件将就企业在推动CRM的过程中,可能发生的困难及其因应加以剖析,以作为企业在导入CRM的参考. 二.企业导入CRM的动机 1.目前企业所面临的问题企业运用了许多现代化的技术来提升本身的竞争力, 然而虽然在导入及运用了ERP系统之后,还是面临了许多在E

挖软件改版成功 业内人士齐贺

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2009年的清明节,是个特殊的日子,这一天是挖软件(diggsoft.com)盛装改版的日子.从2008年10月14日挖软件的上线到现在,已发展了半年有余,在团队的协作努力和业界朋友的大力支持下稳步而快速的发展着,力争打造中国软件行业门户第一站.挖软件这次的改版调整只是增加用户体验的开始,我们随时会根据用户的反馈,对功能和页面布局进行更多的改进,在这里绝对要感谢我们团队中power的付出,放弃了宝贵的假期,保证了网站的成功升级和改版.挖软件自成立以

《告别失控:软件开发团队管理必读》一一1.2 成功的程序设计经理为什么难当

1.2 成功的程序设计经理为什么难当 大多数杰出的程序员并不热衷于当其他程序员的经理.他们知道团队需要软件经理,但乐得让别人来做实际的管理工作.他们通常不喜欢管理人员或项目. 管理程序员是很难的!"管理程序员很像是在放牧一群猫"--这句话常被引述,它揭示了高效.成功的程序设计经理难当的本质原因.猫的自由主义.个人主义色彩浓厚,而且狡猾.贪玩.好奇.独立.程序员也一样. 根据我们的经验,非常能干的软件经理是很稀少的.而只有这类很少见的软件经理才能成功地管理无拘无束的程序员并且乐在其中.

能在Windows7下使用的虚拟光驱软件

安装了Windows7后,发现虚拟光驱软件DAEMON Tools不能用了,网上一些所谓的Windows7下可以使用的DAEMON Tools大都是骗人的,用了一下国产的虚拟光驱软件WinMount,却发现虚拟后很多游戏和软件都不能成功安装.那么下面icech就为大家介绍两款能够在Windows7下使用的虚拟光驱软件! 1.UltraISO软碟通(共享版本) UltraISO软碟通是一款功能强大而又方便实用的软碟文件制作/编辑/转换工具,它可以直接编辑软碟文件和从软碟中提取文件,也可以从CD-R

软件企业如何有效地推行CMM

软件项目管理是针对软件开发进行的项目管理,它既有项目管理的共性,也有其特殊性.它的特殊性主要表现在软件项目的开发过程及其项目的最终产品--软件产品上. 国内开展软件项目规范管理的时间并不长,软件企业各级管理者对软件项目管理的认识也很不够.目前很多软件项目的成功主要归功于技术高手的个人努力,或者碰巧由一位有能力的项目经理来管理项目,偶然性的因素很大.随着市场竞争的日趋激烈,市场环境的日益成熟,特别是在中国进入WTO后,国内软件企业与国外软件企业的竞争,以及开拓国外市场的需要,软件项目管理不完善的问

软件测试用例的认识误区

软件测试用例是为了有效发现软件缺陷而编写的包含测试目的.测试步骤.期望测试结果的特定集合.正确认识和设计软件测试用例可以提高软件测试的有效性,便于测试质量的度量,增强测试过程的可管理性. 在实际软件项目测试过程中,由于对软件测试用例的作用和设计方法的理解不同,测试人员(特别是刚从事软件测试的新人)对软件测试用例存在不少错误的认识,给实际软件测试带来了负面影响,本文对这些认识误区进行列举和剖析. 误区之一:测试输入数据设计方法等同于测试用例设计方法 现在一些测试书籍和文章中讲到软件测试用例的设计方