由一把手枪的设计引发的思考

气动力手枪1

这是一把小型的Feinwerkbau P11空气压力手枪。它的售价大概1500美元,看起来主要是给竞赛活动设计的。黑色的管是枪膛,发射子弹用的。银色的管装的是压缩空气。

如果你有一把压缩空气动力的手枪,你自然很想知道剩余的空气还有多少?但我并不认为它的这种设计经过了周全的考虑。

气动力手枪2

我对枪的了解并不很专业,但我知道我不喜欢把枪口对着脸来看气压值。

每当我看到这样的事,我都会停下来思考,是否在软件开发领域里我也犯了同样的错误。糟糕的设计并不会只出现在枪上。

业务领域专家 & 软件

软件设计上出现的错误并不总是那么容易的被发现,但经常的,错误的产生会归结到同一个问题上。做设计时你必须要知道基本的业务领域知识。这并不是说为了开发一个烹饪网站,你需要成为一个世界著名的烹饪大师,而是你至少需要知道其中的基础知识。

如果你不知道这种专业领域知识,那就找一个知道的合作伙伴。过去的这几年里,我开的一个应用程序就是和一个不懂技术但却懂得这个行业的人合作的。人们往往会低估这样一个不能在编写代码上贡献力量的人的价值,但实际上他的价值很大。他的对行业的专业知识不仅仅能让我们做出正确的产品,而且他还认识那些可能会有兴趣买这个产品的

一个好的创意和开发软件的能力并不一定能带来成功。和一些处在可能会使用这个产品的原始用户的目标市场中的人合作,会大大的增加你成功的机会。如果你找对了人,你不仅可以获得他在这个领域的专业知识,而且能得到他的一个由很多遇到了相当的问题、需要你的软件替他解决问题的人组成的关系网。

也许有些人会指出,一个制造枪支的公司很可能拥有很多关于空气动力枪领域的专家,比我要专业的多。这很可能是事实。我对枪械领域知识有一个基本的了解,听过一些讲座。任何时候我们学习枪械知识,头一个要知道的事情是,不要把枪口冲着自己的脸。

这就引起了一个重要的问题。拥有专业领域知识和运用这些知识是两回事。

测试软件

对于软件,我们做大量的测试。让程序能跑起来,然后让一些人使用它。有时候你会发现,人们使用它的方式和业务领域专家所说的人们会使用它的方式是脱节的。这并不是说你的专家不专。他们也许在他们的领域里是个专家,但这并不意味着他是一个擅长把他的知识解释给你听的专家。经常的在开发过程中,他们会告诉你,你需要实现X,而当他们使用了开发出的这个功能后,他们改变了想法,告诉你应该实现Y。

这并不是一件多么糟糕的事情,这是开发出正确东西过程中的一些自然属性。你所能做的,是让这些教训尽早的出现,使遭受到的影响最小化。

我不久前做了一个项目,我们把大部分的精力都放到了Web应用的公众所面对的前端部分。后端是一团糟。它可以运行,但很运行的很糟。但这样能让我们迅速的发布这个应用,获得真实世界的用户体验。此时我们准备重新开发它的后端,使用过它的用户对他们需要的东西有了更清楚的认识。很多最初他们认为需要修改的东西,现在看来是不合适的。而当初我们很多的假设现在看来也是错误或需要修改的。

领域专家通常会给你指引正确的方向,但除非有人真的使用了你的程序,你不会知道是否真的把事情做正确了。

[英文原文:Why You Need Domain Knowledge ]
分享这篇文章:

14 Responses to 由一把手枪的设计引发的思考

  1. haitao says:

    用户,包括用户专家,都是看到界面才能知道自己之前的说法、判断是否有效
    即他们没看到可操作界面,是不可能提出有效需求的,或不保证需求的正确性

    • www says:

      所以尽早让用户看到你的界面,而不是一直自己不停得折腾和修改,才不至于浪费自己和别人的时间。不让用户看到,你永远不知道你要改的是什么地方,因为你不是专家,你即使是专家,也有失误的时候。这些就是文中想要表达的观点。

  2. kevin says:

    1、专家因为很专,导致了和普通大众的行为习惯之间的差异!
    2、普通大众才是真正的或者说最主流的用户!
    3、(回复楼上)对于某些产品而言,用户的第一感觉很重要!未成熟的产品过早让用户接触,必定是丢失这些用户!
    4、总结、闭门造车很可怕!

  3. www says:

    既然闭门造车,而且又没有专家,经验从哪里获取?自己一直意淫?没有经验怎么成熟?

  4. ncsoft says:

    频繁修改requirement本身就是一种折腾,除非真心是人力物力多的没地方用。尤其是当在产品后期修改设计,简直就是扯淡,真心的。一个小地方的修改,可能引起大把人力物力的浪费,这是初级IT民工的常识。

  5. icez says:

    作为程序员,我对于美工方面的知识也没太多感觉,可以怎么让程序更美观实用呢?

  6. Kay says:

    噢,很明显亚马逊用户的评论跟作者有很大分歧……

  7. 阿达哥 says:

    其实只要做一个简单的改进就可以避免图中手枪设计所遇到的麻烦:将文字印成反码。然后要求任何查看充气值的行为都应该对着一个镜子进行。

  8. moxiaomomo says:

    我对枪的了解并不很专业,但我知道我不喜欢把枪口对着脸来看气压值. —蛋疼的设计

  9. ShiningRay says:

    我认为情况是这样的

    第一,你真的需要看那个仪表的时候,一般是打枪已经不出气的时候了

    第二,买枪的人的目的是啥,是用来打枪的,显然仪表不在考虑范围之类了,虽然这是瑕疵,但是真正考量枪的不是这个地方

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据