在过去12个月的某个时候在一个典型的行业会议,我参加了一个典型的简报。我们在新闻的世界里,“简报”,像我这样的公司与一个编辑坐下,告诉一个故事。他们的希望是我们能复述这个故事。因为如果这个故事来自他们的钢笔,这听起来像是销售;如果它来自我们的笔,它听起来像新闻,给它一个额外的合法性。
当然,如果你喜欢我或者我EE杂志的同事,你可能会把他们的故事,转化它,把它折十个方面,看那个尖尖的,和关注。不同于原来的了(但希望事实是正确的)。
这样的简报可以交谈的好机会。我们编辑所问的问题可以提供良好的反馈,公司不仅关于他们的消息是如何工作的,但同时,如果我们有这个行业的经验,我们甚至可以有一些实质性的技术反复。对我们两国都有利。
偶尔,我们会得到一个实际演示的一部分。在特定的发布会上我提到的,公司致力于一些艰难的东西一会儿给我看他们的工具——一个实际的工作版本。
它的发生是一个我比较熟悉的领域,这是好:这是相当深,晦涩难懂。一度,主持人展示了该工具显示一些信息。我碰巧知道的信息是什么意思,但我问,“好吧——一个真正的设计师将如何使用这些信息吗?”
如果这是一个黑胶唱片,接下来的声音会被一根针的记录,然后沉默。我没有意味着它作为一个技巧问题,尽管我怀疑他们的工具是提供用户提供大量的信息,并不是有用的,我选这个作为一个例子。我的怀疑是正确的,有味道的工具。
然后我做了一个决定。我不喜欢锅产品,除非他们真的荒谬和值得嘲笑的。但事实并非如此。公司这是一个认真工作的尾巴在什么可能是一个“哇,这真的是比我们的预期”的问题。他们希望他们接近的东西将是可用的。我想,仍然认为它们有很长的路要走,但是他们有机会得到它。所以我现在不想玷污他们的时候他们可能的确是准备好了。
此外,或许更重要的是,我以前见过这个。不止一次。这不是一个公司的例子拐错了弯;这种情况一次又一次,我想,我越意识到这里有一个更大的图片这是值得讨论。
所以我决定不公司的名字,而是谈论似乎发生在某些类型的开发工具。
这肯定不是一个新现象。我记得第一次遇到它当我在一个大型FPGA的房子。我是几层管理,所以我不是一个练习他们的设计工具的用户。但这些工具历来被称为非常容易使用,使它真正清楚你是在设计过程中,最重要的是,下一个步骤是在任何给定的点。
但所有工具比其效用:平台的变化,期望改变,通常,fpga得到越来越摆脱了旧工具基础设施。所以你最终不得不重做你的工具。我坐在一个早期版本的新修订的FPGA工具套件,好消息——它有现代感的(时间)界面。我可以打开一个设计和,玩的菜单,我能看到许多的方法分析设计。这没有可能用旧的工具。
但是我看不见的是下一步该做什么。
23项菜单中向下8(使这些数字,但你懂的~)一个条目被称为“编译。“好吧…也许这是下一步要做什么,尽管我不知道是否有其他项目需要做设计前准备被编译。“编译”共享同等重要的地位大约30(猜测)别的事要做。
因此,尽管看起来“酷”和全面的工具,他们除了直观的或明显。他们是静态的,是零工作流方向。事实证明,这个家族的最终发布的工具是灾难性的(我在会议的首席执行官很清楚,谁不认为的工具都准备好释放会咀嚼起来,吐出,然后工具将被释放)。
无用的——或者use-case-less——数据
我看过一遍在其他情况下,这是我的拆卸。创建设计工具的整个过程就是拿走一些复杂的领域和抽象困难的部分,然后——这是关键——呈现的信息用户的语言或范式。你怎么做呢?
好吧,你要做的第一件事就是提出的概念模型实体使用。FPGA,您必须处理抽象逻辑设计一方面和另一方面具体表示可用的硬件。这些模型需要大量的工作,让他们错了真的很容易。
我坐下来无数次勾勒出什么似乎是一个合理的模型的过程。但当我开始思考用例,我发现我的“逻辑”的方法并不合适。如果你认为在课堂上,我可能会有一些数据的正确,但是接口都错了。和接口可以影响你想如何组织数据。
早如果你不明白,你可以花很多时间在数据模型,然后不得不rip-and-reroute整个无数次当你开始思考用例。它可以容易认为,首先需要得到正确的数据,然后,如果你做一个好工作,用例只会落入的位置。这是有可能的,但往往事情似乎并不这样。
现在:叠加到困难,许多这样的公司正试图解决问题,自己本质上的困难。它不是简单的“我知道这个过程中,我只是需要找到最有效的模式”;“这是一个模型,我认为这个过程是如何工作的;让我们试一试。”
这可以继续反复优化模型和扔掉,尝试新事物。长时间的工作成为长夜晚的工作;更新董事会成为解释为什么事情比预期方式落后。让我们面对现实吧:这些问题总是比他们看起来。如果是简单的…
都是说你的基础工具是很难的。你可能会经常纠结于模型和迭代。在某种程度上,你让你的模型和基本的内部算法点- TA DAAHH他们工作!和你兴高采烈地与当之无愧的骄傲来显示你所做的事。
不幸的是,在这一点上,你还真的没有一个产品。你有一个内部的工具,用于验证你的工作。也许事情都是命令行;小的图形。你有详细的代码运行,你用它来确认你得到了正确的答案,做正确的事情,不是偶然。当你告诉你的客户,你可以指出这些详细的等宽字体类型闪烁的黑色1970年代teletype-style窗口证明实际上是事情发生。和原油可以创建图形与数字和数据的地方,显示,是的,你确实模型正确,一切工作。看起来是不是很棒?
或者你的图像看起来更清洁,而是向您展示如何进行的项目,它更侧重于无数的方法来分析你的FPGA设计——也就是展示基本的数据模型。
翻译请
问题是,用户不知道你在说什么。如果他或她理解你的问题和解决方案的内部运作,他们就不再需要你——他们自己能做到。如果你真的为他们解决问题,那么您需要埋葬这一切废话有用的信息并把它藏在表示层。
这通常表示层被漠视。这就是你内发生了什么工具转化为有用的东西给用户。这就是你从内部problem-modeling范式进入一个适合用户的思维方式和工作流程。
记住,数据在显示我看到我问起简报?的主要价值是证明该工具建模和分析事情正确吗?工作的工程师使用的工具没有特定的使用信息,这是或多或少,琐事。没什么大不了的?也许,除非你的屏幕——这很容易做到。
但即便如此,为什么现在用户不需要的东西,可能不理解?你可能已经看到会发生什么当你这样做的一次讲演中管理。你粘贴到你的幻灯片一些图,有一个重要的数据点,但是,在你匆忙,你忽视删除所有的数据点,并不重要。,将会发生什么?一些要人经理锁上的另一个数据点,你没有删除和整个讨论被劫持完全无关的东西。
一样的工具。这样想:屏幕上的一切都成为潜在的支持问题。“这个数据是什么意思?“可以是一个可怜的利用客户支持热线的时间如果甚至不是真正有用的数据。(这也是一个可怜的利用时间的如果它是有用的,但它仅仅意味着数据提出了一种不清楚)。
理想情况下,你需要的是一个人或团队精通用户将如何使用这个工具。团队一起将原型由你引导客户。(你有一个引导客户,对吧?如果不是…你可能有麻烦了…但这是一个单独的讨论。)他们可能会重复很多次——听起来像是一个好主意最初往往证明不是。
好消息是,在操作系统和浏览器的图形显示功能,你可以做一些真正创新的可视化方案,不一定锁通常的Windows或Mac接口标准。但希望经历很多版本作为customers-in-waiting给你反馈。
这表示层无关你的大部分开发人员正在进行,这是底层数据模型和算法。在某种程度上,你必须嫁给这两个在一起。(可以肯定的是,这个计划应该很早,当时机来临,婚姻作品…)
在这一点上,当所有的模型已经被证明对开发人员的满意度,它们可以显示你的客户——使用表示层。你需要走出自己的技术和现在的结果从用户的角度来看的技术。
“想用户”可能听起来很老套,很明显。但当你考虑,到底是什么意思,它不是。我上面假定的“解决方案”在实践中可能过于简单,但是,在我看来,原则上是很重要的,不管你如何实际执行它。问题是,当你是一个scantily-funded启动试图让你的种子资金,你可能会放弃频繁前往客户和推迟雇佣任何开发人员没有从事核心技术。
但总是当你切角是你到达的地方你会说,“我们准备好了!”,然后你会发现你有额外的一年或两年计划外的工作将内部data-model-analysis工具变成你的客户可以利用的东西。事实上,你只要你能抗拒这一点——没有人愿意告诉董事会!但阻力只是拖延不可避免的。
我想这只是很长,漫长的方式说:你别以为你的数据模型和算法对一个实际的工具。他们只是引擎。他们是必要的,但远远不够。一个独立客户术语表达的表示层设计的一部分。
你有工具太反光内部技术的例子,而不是用户的心态呢?