产品设计的一个重要原则就是简单之美,结果简单而过程不简单。这个过程就是迭代优化。
😛什么是迭代?
我们开发一个产品通常采用瀑布模型, 简单的说就是先定义需求,构建框架,写代码,测试,发布产品,维护。这样几个月过去了,直到最后一天发布时,大家才能见到一个真实的产品。
瀑布模型明显的缺点:假如我们对用户的需求判断的不是很准确时,你工作了几个月甚至是若干年,当你把产品拿给客户看时,客户却大吃一惊,这就是我要的东西吗?
迭代亦称为原型模型, 迭代的方式和瀑布模型截然不同,假如这个产品要求6个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进 去,bug很多,还不稳定,但客户看了以后,会提出更详细的修改意见,这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的 需求分析、框架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善的产品来,给客户看,让他们提意见。就这样,我的产品在功能上、质量上都能够 逐渐逼近客户的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西的情况。
迭代也有自己的缺陷:周期长、成本高。但是在应付大项目、高风险项目,例如航天飞机的控制系统,迭代的成本比项目失败的风险成本低得多,用这种方式明显有优势。
🤢迭代优化的实践
例 如当Facebook开发一个新的服务,会先让一个小用户群使用,根据用户的反馈来修改功能,同时可以调试程序中的bug。然后下一版让更大一些的用户群 使用,收集用户反馈继续修改程序。如此反馈几次,最后再推向所有用户。这种模式要求再最初设计时尽量简单,从而只需几个月的时间就能推出一个新的功能,然 后再不断地进行迭代优化。