太空探索是人类的终极设计挑战。首先,为了摆脱地球的引力,必须克服一些基本的物理定律。然后,必须在恶劣的太空真空中创造一个维持生命的环境。这个看似不可能的目标是在50年代和60年代的太空竞赛中实现的,但为可持续太空探索而设计的火箭直到最近才有了显著的改进。
上个月,SpaceX成功地发射了他们的猎鹰9号火箭 ,将一颗商业通信卫星运送到低地球轨道,并将火箭安全地降落在无人驾驶船上这是将包含可重复使用的自动着陆火箭的众多任务之一。虽然SpaceX的工程师让这个物理奇迹看起来很容易,但这是一条漫长的试验之路,尤其是错误 (两年半和连续三次发射失败),最终导致了公司的成功。
SpaceX创始人埃隆·马斯克 (Elon Musk) 将建造火箭与他在软件工程方面的经验进行了比较:
“火箭工程的最佳类比是,如果您想创建一个非常复杂的软件。您不能将软件作为一个集成的整体运行,也不能在打算运行的计算机上运行它,但是当你第一次把它们放在一起并在那台计算机上运行它时,它必须没有错误地运行。
这与我所做的UX设计工作进行了有趣的比较。虽然设计软件应用程序可能不像建造火箭 (甚至编写软件应用程序) 那样艰巨,但仍然存在导致项目达不到完美的挑战。
以功能为中心的设计挑战
我们中的许多人都熟悉典型的商业软件,这些软件试图提高效率,但最终产生了一个错综复杂的功能结。这种重复出现的模式源于简单地将所有必要的功能集中在一个地方的冲动,希望一旦推出就会出现积极的用户体验。由此产生的用户体验是以功能为中心而不是以用户为中心,并且通常导致不直观的 “工具箱”。结果,由于用户被迫适应设计不佳的应用程序,公司最终会浪费时间和金钱进行培训。
人们被期望适应,因为他们别无选择。另一方面,火箭不适应糟糕的设计 — 它们会爆炸。火箭受到尊重。人们受到蔑视-如果他们被考虑的话。
设计解决方案
我们遵循的设计过程确定了用户群体的需求,并使用此信息来指导制定有用和可用应用程序所需的决策。当一个设计挑战是从这些基本原理的重点来处理,一个有机的解决方案,协调功能需求与用户需求。结果是一个预先适应的应用程序,以满足那些将使用它的人的需求。
商业软件产品发布的成功取决于用户采用率和生产力等指标。当发布失败时,公司通常依靠培训和管理授权来弥合用户需求和软件设计之间的差距。当设计一个发射,最终必须克服重力,没有差距可以留下硬科学揭示了一套严格的不可谈判的要求,必须满足100% 的时间,以使产品被认为是 “成功的”。
这是软件行业需要牢记的教训。作为一个物种,我们都在设计未来的一小块,和航天工业一样,都要精益求精。虽然我们通常不会处理星际规模的项目或处理像自然法则那样固定的需求,但我们不能依靠用户来弥补我们设计中的缺点。当然,我们可以放心,我们的项目不太可能在直播电视上崩溃和烧毁,但当数百万美元花在没有人愿意使用的软件上时,这是一个小小的安慰。