做为开发人员,你为什么应当关心设计
英文原文:Why as a Developer You Should Care About Design
我们开发人员经常错误地过早进入编码阶段,因为这对我们太自然了。我们通常意识不到,编码是昂贵的。我自己在以前就经常犯这个错误。当我们从头 为一个 app 编码时,主要的设计决定仍然需要去做,我们在开发阶段很快就发现 app 的很多部分经常需要被重写。原因在于,当编码时,我们发现现实与我们脑子里规划的不一样,有很多我们根本没有考虑到的。如果我们换种方式处理这个过程,所 有这些都是显而易见的。
固然,代码总是在改变和重构,不应该阻碍开发人员,不过,我们倾向于忘记变化所带来的时间成本。我们想尽可能地最小化成本。如果你为 app 做了线框图或模型,修改它们要比修改已经写好的代码更加简单快速。
做为开发人员,你或许认为设计 app 不是你的工作。毕竟,设计师的工作不是提供线框图和模型的吗?哦,差不多吧。在某些项目,这项工作的确会被安排给设计师,但是也有很多理由证明,做为开发人员的你,为什么想具备这项技能。
如果你是一名自力更生的 app 开发者,你可能没有钱雇佣专业设计师。尽管如此,这不代表你应该跳过设计阶段,这是很多人犯的错误。虽然你可能不具备设计师老手的技能和经验,创建模型的 简单几步将提前突出很多在你开始编码时就会遇到的问题。既然这是一项你自己迟早不得不要做的工作,最好尽可能快地优化和搞定。记住:设计意味着在当前条件 下就你的 app 做出决定。这无论如何就是你的责任。
如果你是,或将来是一名自由开发者,很多设计工作也会成为你工作的一部分。很多客户没有支付一名独立设计师的预算。他们想让你提供问题的解决方案,并把你当做专家。某些客户是不理解设计和开发的区别的。
对你来说,从费用中拿出一部分雇佣设计师协助你当然可行,只是这意味着给你的预算会有更多的限制。对于我过去的某些任务,这不是必需的,因为我能够自己搞定。
注意我没有说过你从来不需要设计师。如果项目庞大,预算允许,当然,去雇佣一名经验丰富的设计师。但是当雇佣另一个人不是可选项时,时时准备好 自己做这项工作才是正道。即使可以,这也有助于你监督、影响设计过程,以及做为开发人员的前途提升,这是设计师经常没有的机会。
如果你受雇于某些公司,可能以及有设计师了(如果你在小创业公司工作,前面的那段话也对你适用)。就算是固定工作,能够理解设计师并与之沟通也对你的职业生涯有帮助。这会在公司内部产生一个更好的过程,一个优化的产品,让你更加专业。
如你所见,不管你的岗位是开发人员,还是其它,编码前,理解和运用某些设计过程,要比直接开发,有着较大优势。很多开发人员跳过了这一重要阶段,实际上很多次了。我过去也这样,好多次了。
不要认为设计过程纯粹是 app 某种视觉上的展示。为你收集需求,这也是设计阶段的活儿。记住乔布斯说的话:“设计并非只是它看上去怎么样和感觉怎么样。设计是关于它是怎么运行的。”因 此,提前理解你的 app 想完成什么、如何完成才是重要的。当你已经敲代码了再去理解,会花去更多的时间。
既然这是重要的话题,我写了一个一步一步的教程,书里覆盖了 app 的设计过程。即使你不买这本书,我也希望我设法让你坚信提前做这项工作的重要性。下一次你去开发新的 app 时,或只是已有 app 的一个新功能,忍住不要写代码,而是开始建立一个模型。有很多现成工具可以助你一臂之力,不过你不需要有想象力的东东。即使用纸和笔勾勒出你的想法,也会 改善很多开发流程。
如果你想结合具体案例研究这个过程,可以参考我的书《Step by Step iOS Development》。