先要好代码? 还是好产品?

【更新】很多朋友不同意我的意见,其实我想表达的是一个先后顺序的问题, 并非是重要程度。好的产品能让技术重要起来.

做项目,特别是创业项目,  实现好的点子总是一件令人抓狂的事情。明明非常有经验,为什么还是总延期呢?看上去没有技术难度,却很容易陷入到实现细节中出不来呢。这几天想了很多,基本上笔者总是遇到下面一个循环:

  • 关于某个功能,有了一个好点子
  • 开始实现, 但是很快发现在细节上要做的东西貌似比较多
  • 于是开始设计复杂的对象关系和结构, 希望通过代码把它们管理起来. "以后好扩展"(很多人的口头禅)
  • 但是...发现点子需要调整, 设计上有变化。
  • 发现明明只是小调整, 却要改很多地方, 大量的"以后好扩展"的设计完全用不上了?
  • 直接重新开始写代码, 但是不知不觉又慢慢滑入步骤3的流程中.

这个循环,很明显会浪费掉宝贵的时间。如果是创业的小团队,更是耗不起,但是为什么会这样呢?直观的看:这是过度设计。但是这个错误背后,我觉得有一个更大的错误:在好产品还不存在的情况下就开始追求好代码

这是一个错误吗? 我想很多人可能不会同意。 但是仔细想一下, 它很有可能是! 特别是在时间紧迫的情况下。 我的理解是这样:好代码的用处不是为了自娱自乐, 而是为了方便修改, 应对变化.  但这一切都有赖于产品细节的支撑, 可惜的是, 初创的产品细节可以认为是最不稳定的.  没有它们做支撑. 强求好代码,  结果多半是一些设计模式/经验模式的堆砌.  写起来很爽,  过期得更快. 毕竟我们人类的智力是总结经验, 而不是预测未来。

结论: 对于创业的团队来说, 最重要的东西不一定是最优先的,就算技术是核心竞争力,代码虽然重要,但是必须得先有好产品,等产品相对靠谱了,再仔细设计你的技术架构吧 

posted @ 2011-12-01 12:11  tech.cap  阅读(4220)  评论(35编辑  收藏  举报