个人项目:小屋 v.s. 蛋糕 - Repost

I was stuck on a side project for 5 years. Here’s how I finished it.
软件项目应该像蛋糕 - 科技爱好者周刊

原文作者受到一个花费9年时间完成个人小屋的故事启发,联想到自己五年多业余时间中反复修改的统计学教程项目,决心为一切画上句号。核心的论点是要小心那些持续占用着你业余时间,却迟迟无法“结束”的项目:一切的开始可能只是有趣的小想法,但你会发现你低估了所要花费的时间,不知不觉的延长投入时间,而随着自身的提升,你总能发现需要改进的地方,事情总是不会完美。每次都觉得再有一两天或一两周就好了,但每次又都会发现新的问题,时间就这样一点点流逝。

作为业余项目,不应该像故事里的小屋一样无限膨胀,而应该像制作蛋糕一样,短平快。保持小体量,目标清晰、限时完成、快速迭代。

  • 蛋糕制作有时限
    在制作蛋糕时,你要做什么,大致要花多久都是明确的。如果你估计需要3个小时,那么稍微超出一点时间,问题不大。但如果你实际上拖了一周才做出蛋糕,蛋糕内部可能已经坏了。更不会有人花5年时间去做一个蛋糕。如果一个项目耗费时间大大超出预期,那么结果大概率会是有问题的。
  • 蛋糕的体积有限
    也正因为有时限,蛋糕体积不会很大。更小的体量意味着更快的速迭代试错,以找出真正有效的办法,每次尝试都能让你更清楚改进的方向。小体量也更符合每个原型测试只针对一个目标的建议。
  • 蛋糕会有消费者
    如果你做出蛋糕,肯定有人愿意尝尝。用户会提供真正客观的数据,帮助发现蛋糕哪里做得比较好,哪里需要改进,这使得设计决策更容易。你的业余项目也应该让人愿意尝试,而不要做出没有人愿意吃的蛋糕。用户的反馈对于项目迭代很重要。
  • 蛋糕制作很有趣
    制作蛋糕的目标是有限的,最终成果清晰可见。一切的起点只是测试一个新想法,并希望能为创造有益的价值,整个过程应该是有趣的。当项目拖了太久,变得不再有趣,就应该回头看下自己是不是开始建造小屋了。

当开始项目时,人们很容易对结果抱有过高预期,从而不断放大覆盖面。而更大的覆盖面通常意味着更多的时间投入以及质量的下降,这又会致使项目开始的动力逐步丧失。逐渐膨胀的项目不可避免的开始腐坏,而任何改进的期望都要背负沉重的负担。面面俱到后的后果往往是整体小于部分之和,而非有效的整合。