产品与艺术品

记录一点工作感悟和想法。
每个程序员都不乐意来来回回地修改设计,我也毫不例外。当然,我们应该清楚的知道设计时一定会反复修改的,敏捷开发的一项特点就是能快速响应客户的需求,及时作出修改。所以,我们应该说,好好反省吧,程序员,修改时避免不了的。真的是这样吗?
是的,用户的需求我们是一定要尽力满足的。但我这里讨论的是产品发布之前的反复修改。我不知道是不是大公司就不会出现这种情况,但我现在确实遇到了这种情况。我刚刚根据讨论好的方案实现了代码,完成了单元测试,又被通知方案要做出修改;刚刚完成修改,又被告知这种方案对于服务器会造成很大的压力,还需要修改。

就我的经验,可能还没有资格来讨论怎样避免这种情况的发生,但我仍然想记下自己的想法。
首先是设计人员应该清楚的理解整个系统,尽量避免考虑不周。而对于我们目前的情况是多个设计人员一起讨论决定设计,这就要求相关人员清楚该功能在自己这里的意义目标和实现方式,还是要求参与设计的人员都清楚理解整个系统。当然,什么事情的都不可能考虑得万无一失,十全十美。所以,对于设计时考虑得不够周全的地方我们如何处理?
一方面,如果严重影响到系统功能和性能,那毫无疑问,我们必须做出修正。另一方面,如果只是可以做得更为优化,更灵活,扩展性更强,那我们就需要权衡实现的人力成本和时间成本了。虽然我们应该以精益求精的态度做产品,但我们也应该注意,我们是在做产品,不是做艺术品。大部分情况下是,当你把东西做出来后才发现更好的方法或一些可以改进的地方。如果不停的推倒重来,那永远也没有完结,因为我们总是会有更好的想法。有些时候我们应该容忍产品中的一些小小的不完美。试想如果苹果公司不是几年前推出Iphone一代,而是现在才推出一款完美的Iphone5,那他也无法抢到智能机老大的宝座。他会完成错失市场。
同时,还没发布就反复修改设计,也会严重打击开发人员的热情。因为工作永远无法取得阶段性的进展,永远没有重点,找不到任何成就感。就开发人员本身来说,他们是希望自己是高效的,希望自己能做出成果,如果长期不能带到阶段性的成功,那就像登山道上没有了那些小的宽台阶,会让人觉得异常疲劳。
所以,我觉得,在保证功能的前提下,应该优先考虑产品的发布日期,而不是想着一次把产品做得至善至美
来自为知笔记(Wiz)
分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/%e4%ba%a7%e5%93%81%e4%b8%8e%e8%89%ba%e6%9c%af%e5%93%81/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名