工程

皮克斯的经验:为什么软件开发者应该是故事讲述者

当大多数人想到皮克斯他们认为电影就像发现尼莫而且玩具总动员.但近三十年来,该公司一直在生产世界级的电影制作软件,帮助把这些故事搬上大银幕。我很幸运能在皮克斯的软件团队中担任工程主管。我在那里的那段时间,我们利用电影制作中常用的技术来帮助建立工作室的新软件管道,现在被称为Presto。这就是我学到的。

用用户的母语与他们交谈。使用用户熟悉的概念和过程,以便尽可能自然地交流软件设计。

软件中的电影概念

在皮克斯,人们常说“故事为王”,这是公司成功的主要原因。于是,皮克斯所有的电影都从故事部开始,在那里,最初的剧本被开发出来,并在故事板上表达出来,以完善电影的外观和感觉。(故事板是用木头做成的实体板,上面钉着4 × 6英寸的手工绘制的索引卡。)在获得许可并进入制作阶段之前,这个故事将被提交给执行团队。

在很多方面,设计一个伟大的软件产品就像创造一个伟大的故事。现代敏捷过程将“用户故事”作为一种从用户角度获取需求的方法,这并不奇怪。因此,我们很早就把这个概念提升到一个新的层次,并在我们的软件组中创建了一个故事部门。这个部门负责设计我们新软件的用户工作流程,并通过标准的故事板与我们的生产用户进行交流。这些展板以故事推介的形式呈现给艺术家(我们的客户),让他们能够以熟悉的风格和会议结构与我们互动。我们还有一个“故事室”,在墙上包含了所有这些故事板,将整个系统的设计包含在一个空间中。

当然,这种方法并不适用于所有其他的软件项目,但关键的经验是与您的用户交谈,并使用他们最能理解的技术和语言。类似地,虽然很明显,在为用户编写软件时,您必须倾听用户的声音,但我们更进一步,实际上在我们的软件组中嵌入了一些用户。

美工们在不同的时间轮换拍摄电影,所以我们会试图找到那些处于电影之间的人,以及那些有兴趣影响工作室软件发展方向的人。这些美工将根据他们使用现有软件的经验帮助我们完善新软件的工作流程和用户界面。例如,我们最初的重点是支持发音管道,所以我们有一个高级发音师很早就加入了我们的团队。他会每天使用我们的软件,尝试和清晰地表达巴斯和胡迪的模型,他会在设计会议上提供功能方面的意见,指出我们遗漏的东西。他还会帮助我们集思广益让发音者更有效地工作的新方法。

来自专家用户的这种程度的输入让我们有信心,我们正在构建的东西可以解决客户每天实际遇到的问题。另一个好处是,这些嵌入式艺术家可以在他们的同行中成为产品的传道者。

沟通进展

在内部演示您的软件。一些最好的笔记可能来自你最意想不到的人。

一旦一部电影开始制作,各个部门就会整合电影的数字资产,包括建模、清晰度、布局、布景、动画、模拟、灯光、阴影、特效和最终渲染。每天和每周的审查系统(称为“日报”和“周报”)被用来完善所有的生产工作。这些评审是在放映室和同行一起进行的,通常导演也在场。在整个过程中,故事会不断完善,最新的电影“胶片”每年会向整个公司展示一到两次,这时候,所有的员工都会被鼓励提交改进意见。这就是皮克斯的神奇之处:就连食堂的员工或看门人都能对电影的故事和角色提供反馈。

因此,我们决定为我们的软件设计创建卷轴。这些都是由简单的手绘图像组成的数字电影,通过叙述和动画来展示用户将如何与新系统互动。每个工作流程都将在工作室中扮演一个特定的艺术家,并展示他或她的日常工作将如何因新的工作方式而改变。这些胶片经过改进,每六个月在我们的主剧场的整个工作室展出一次。这是一种增加我们计划曝光率的方法,同时也能够从那些不了解我们所做的事情的人那里获得反馈。

在内部,我们也采用了工程周刊的概念。这是一个会议,整个软件团队每周一次聚集在一个屏幕室,每个人都可以展示他们正在进行的最新工作。演示可能是粗糙和非正式的,因为它们是针对软件团队的其他成员,而不是我们的用户。这个会议让团队中的每个人都展示了他们正在做的工作,并帮助提高了更大的参与感。它还提供了一种有趣的方式,让每个人都了解项目的最新状态。

导演和制片人模型

平衡技术和创意愿景。最好的产品来自于倾听你的两边大脑。在技术复杂性和艺术设计之间找到一个良好的平衡。

开发一个基于电影的软件过程说明了电影制作方法和软件开发方法之间的根本区别。在电影行业,导演负责电影的创意方向,制片人负责预算、日程安排和人员配备。这两个人是同龄人,他们的角色之间有着天然的紧张关系。

这种经典的紧张感出现在我在《超人总动员》(the incredibleseshe)工作的时候,在一次关于花费更多资源来获得更好的视觉效果的讨论中,制片人约翰·沃克(John Walker)告诉导演布拉德·伯德(Brad Bird),他只是想确保他们能越过终点线。对此,布拉德·伯德回应说,他正在努力确保他们是第一名。

相比之下,在软件世界中,通常只有一个人负责组装最终产品,通常被称为产品经理或产品负责人。也有工程师和设计师负责产品的美术和交互设计,但他们很少能在产品经理面前发出同样有力的声音。

当我还在皮克斯的时候,我们尝试了导演/制作人模式来管理我们新的软件工作。我们这么做是为了更好地平衡创造出优秀内容和按时创造出功能内容这两种相互冲突的约束。我们的制作人来自软件领域,负责定义部署平台、编程语言、开发过程和项目进度。而我们的导演来自电影制作领域,关心的是特定的动画功能、用户工作流程、产品的外观和感觉等。

这两种观点都很重要,而且经常重叠。例如,关于在mac和Linux上进行部署,我们早有很多讨论。这一决定影响了我们可以使用的编程语言和UI工具包等技术方面,但也影响了我们可以呈现给客户的用户界面和交互设计等创造性方面。

让两种同等重要的声音来控制产品的方向有时会是一个困难的过程,但找到艺术和技术之间的正确平衡是创造令人惊叹的产品的关键。当然,这也是史蒂夫·乔布斯在苹果公司的哲学,最好的想法是在计算机科学和艺术/设计的交汇处形成的。艺术和技术之间这种自然张力的重要性也是约翰·拉塞特(John Lasseter)所说的,他曾说过,艺术挑战技术,技术启发艺术。