首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你的软件仍然不受用户欢迎的11个原因

林肯是否说过我们至少有些时候会讨厌所有软件,以及始终都讨厌某些软件?他应该说过。幸亏,我们没有一直讨厌所有软件,因为我们偶然会发现,在正确点击鼠标和按下键盘之后,大多数软件都可以做一些神奇的事情。糟糕的是,在获得这些结果的过程中通常掺杂着咒骂和愤怒,尤其是当代码是由自己公司编写的时候。

即使我们讨厌在使用主流产品、应用程序和网站过程中的这一体验,但软件开发生态系统往往不适合于处理那些企业有特殊要求的定制项目。毕竟,有成百上千的开发人员在为消费者日常生活所依赖的主流软件和服务进行工作。而且有数个团队专门负责信用卡帐单工作,同时有整栋楼的员工负责解决如何使人们多点击1%的问题。但是,很难避免以这些程序员团队制定的标准来评判较小的内部项目。

许多企业只有少数几个开发人员,或者只有一个疲惫的开发人员,他兼职从事一个软件项目,同时兼顾其他几个项目。该公司的最终用户,刚刚点击一个主流的零售网站,或者刚刚为社交媒体想出一个好主意,然后切换标签页,并期望他们桌面上运行的内部会计软件也能达到相同的完美程度。

开发软件非常不容易,但是当你的客户来到大厅里,并且在同一家餐厅就餐时,这就更加困难了。当他们讨厌你的代码时,你内心深处会感受到。如果在公司的工作环境中没有人说出这一糟糕的错误,则你的情绪能够更容易地从该错误中恢复。

以下将介绍你的软件不受用户欢迎的11个原因。有些原因很容易解决。许多原因只是由于规模化产生的结果。较大型团队能够开发出更简单的产品,并能花时间进行优化。

用户影响力过大

你想和自己的小学伙伴聊天,或是想阅读有关孩子学校足球比赛的最新消息吗?那么你别无选择,只能选择登录一个主流的社交媒体网站,并按照它们的规则操作。如果你担心自己的隐私,同时想表达比点赞更复杂的情绪,或者想上传一段其他格式的长视频,则你就不会那么顺利了。主流平台会设定其条款,而用户则必须遵守。

较小的企业项目没有这种能力。他们的用户不会因使用软件而被迫接受服务条款。团队主管会听从于大领导,当在发放奖金时,层级制度可能会施加压力。当用户不是必须要接受自己所得到的东西,而且要去寻找一种喜欢它的方式时,这一切就构成了一种非常不同的力量动态。当大型社交平台制定规则时,用户必须接受,但在使用本地软件时,他们可以有效地反击。如果他们能够反击,那么他们就会开始关注于细节。

运行速度慢

并非所有的企业软件都运行缓慢。实际上,一些旧东西很难在新硬件上运行,因为开发团队尚未为新硬件添加功能。但当新功能推出时,一切都陷入困境的情况就很常见。

速度只是开发人员必须权衡的一个方面,而当对功能的需求增长时,往往响应能力和性能会受到影响。大型团队可以在工作过程中进行重新设计,但小型团队则不能。

唯一的解决方案是推迟一些会影响用户体验的功能请求。如果新的SQL查询将使用一些复杂的JOIN语句,那么推出一些更简单的功能。如果一个更智能的新按钮需要一连串缓慢的AJAX调用,那就不要推出。时间是我们无法更多使用的一个东西。

外观陈旧

老计算机程序员经常喜欢光顾那些从绿色屏幕时代以来就未更新过结帐软件的商店,因为这是一次怀旧之旅。没有动画图形,实际上也没有任何颜色。屏幕是一个25x80网格中的等宽字符矩阵。另外,响应时间极快,因为网络不会因超酷的图标和启动画面而阻塞。

但这仍是一个绿色屏幕。老板们可能会喜欢它,因为这无需大笔投资即可正常工作。精打细算的人也可能会喜欢它,因为开发成本已在几年前就已经收回了。但是用户却一直生活在上世纪60年代,而且有些人会抱怨。当然,高级用户可以记住各个屏幕上闪烁的所有功能键,但如果那里显示的正方形实际上是一个菜单,其余的人却不知道如何打开下拉菜单。

如果老板不想处理那些没有故障的东西,而且还不断告诉用户,这个东西运行非常高效。同时打印一些速查表,以帮助那些忘记如何使用功能键的人。另一种解决方案是设计一个外观漂亮的图形,但除了生成要发送到绿色屏幕中隐藏会话的命令外,什么也不做。该方案增加了一个漂亮的外观,而没有改变内容。而且,如果有些人只是喜欢老式的绿色屏幕,那么他们也可以继续使用。

安全措施过多

一些本地项目由于安全措施过少而出现问题,但问题常常是安全措施过多。如果一家公司的规模不大,因此无法组建一个完整的老虎团队,这样他们就非常谨慎。也许有人曾经插入了一个带有病毒的优盘,从而剥夺了所有人都可使用的这一功能。现在,USB端口已被锁死。曾经有人下载了病毒,因此现在永久禁止一切下载操作。许多小型团队的做法就像一个“只会说不的医生”,拒绝各种请求,仅支持那些最安全的功能。

不存在什么简单的解决方案。用户会讨厌被苛刻的规则所束缚,但如果员工的信息泄露出去,他们将是第一个感到紧张的人。最好的做法就是将敏感数据集中存放在更安全的系统中,这样你就可以为用户提供一定的灵活性。

没有进行内部测试

测试企业软件始终是一项挑战,当开发人员与其他人很少共享一些技能时,则测试软件的复杂性就会增加。也许你的业务是插花,磨制斧头或屠宰肉类以制作狗粮。设计调度软件或内部数据库的人员很可能对其他人所做的工作一无所知。

一种解决方案是让开发人员调换到不同的岗位来熟悉一周时间,但是当某些工作涉及一些很严肃的技能(如长途卡车驾驶或飞机维修等)时,这种解决方案就不可行。有时跟随一同工作就足够了。有时,一些聪明的员工可以很好地编写规范。

然而,开发人员将需要去接触和沟通。他们将需要倾听用户的意见,让用户告诉他们如何去除工具中的不完善之处和不良的工作流程。改善这些渠道至关重要。如果开发人员不会被迫使用自己的代码,那么他们就需要与那些被迫使用这些代码的人进行交流。

变更业务代价高昂

你可以变更业务以适应某个软件,或者编写软件以适应某一业务。通常,第一种情况需要对数千人进行再培训,而且要对数十年来形成的许多奇怪而神秘的工作流程进行重新设计。因此,管理人员通常会尝试购买新软件以适应其原有的业务,这意味着其业务具有多年来发展形成的复杂性。有时,当人们抱怨某一软件时,实际上他们是在抱怨始于几十年前的一些奇怪做法,而如今这些做法已在软件中永久存在。

除非你认识到某一软件可能确实揭示了业务中的不良或过于奇怪的做法,否则没有其他解决方案。如果你的用户因为软件某个部分太复杂而讨厌使用该软件,则可能是因为该业务过于复杂。将用户的厌恶情绪作为开展更大变革的一个信号。

更少的重写周期

许多程序可以通过完全重写得以改进。我知道某一团队会在每年1月1日开始编写一个新版本,然后每年形成一个全新的版本。这项工作虽然代价昂贵,但可以解决一些冗余和令人讨厌的问题。

大多数公司无法进行这项工作,即使可以的话,他们往往也会把钱投资到其他地方。因此,软件变得越来越老。没有其他解决方案,除非有足够的预算支持进行全面重建。在此之前,用户只能接受这一无法重建的软件。

框架老化

从前,当还是一个全新的软件时,开发人员会为新代码选择一个框架。当时这是明智的选择,但后来失去了动力。或许该框架公司被一个并不关注这方面工作的公司所收购。或许是因为该框架公司管理层去欧洲旅行挥霍而导致公司破产?或许开源社区被一些怀恨在心的人所毒害。

当你的团队决定将公司的未来押注在这个框架上时,因为该框架非常好,因而这是一个明智的决定。但如今,该框架与一些诱人的信息和数据捆绑在一起,而黑客们则在夜里对此虎视眈眈,寻找那些脆弱的安全漏洞。

要解决这样的陈旧性错误,我们几乎无能为力。你可以通过选择更大规模的和能更好地提供支持的公司或选择可获得各方面支持的开源项目,以尝试提前为未来做好规划,但是预测未来也是有局限的。你所能做的就是考虑重写代码。幸运的话,你可以节省许多业务逻辑。

额外功能

构建基本框架的公司会将其能想到的每一功能都设计出来,以满足数百家公司的需求。尽管你的公司并不使用其中的大多数功能,但这些功能却在菜单上积满灰尘,更糟糕的是,这会让一些新用户感到困惑,他们总是问为什么会存在这些功能。你可能拥有了过多的好东西。

有时,可以将这些功能编辑掉或将其完美地移到看不到的子菜单中。重写业务逻辑可能并不划算,但通常可以清理该菜单树和删减一些普通用户可看到的选项。

错误处理

异常和错误总会潜入到工作流程中。有时,与密钥数据库的链接会中断。有时,表单中包含不一致的数值。给予用户理解、应对和解决问题的能力是关键。

较小的项目会缺少调试周期以标记所有可能的错误,和无法确保具有一个恰当的弥补方式。很难了解到更糟的情况,因为不会提供任何错误消息,或只有一个含有奇怪数字的含糊信息。

时间是进行测试和调试的重要元素。最好的解决方案是建立一个良好的错误报告框架,以鼓励用户来上报他们的问题。认真进行跟踪和存档是修复这些错误的第一步。

降低预算

即使是最成功的企业也无法给开发人员提供充足的时间来开发与服务全球近一半地区的众多消费品类似的产品。按照任何人的标准来衡量,大型银行、跨国贸易集团和制药企业都财力雄厚,但它们都没有足够的闲置资金来支持真正的开发工作。

有时,只需要提醒用户一下,让他们了解这些工具是用很少的预算开发出来的。如果利润合理且奖金丰厚的话,也许软件的价格会很高。

  • 发表于:
  • 原文链接http://news.51cto.com/art/202003/612309.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券