坚信速度
始终注重推动产品开发。陷入杂草丛生的困境是很容易的。微软代码,就其本质而言,就像是杂草。始终明确任务截止时间和接下来的短期计划。每天可以进行一次迷你发布,这会督促你每天都开发有价值的东西,并且你会更快的结束任务。
功能第一
公司的首要目标应该是始终以用户界面功能至上的方式来开发产品。然后通过建立后台来支持前端功能。这样能让你收集反馈意见,并且使你的后台开发更有效率。
避免过度开发
工程师们的最大挑战是他们天生的完美感。过渡开发会减慢产品发布的速度。
从中间开始:平衡开发
从产品的中间进行开发,始终保持前端和后端的平衡。对每一个开发完成的后端功能,在继续开发下一个后端功能系统之前,都要建立一个前端功能。
减少工作量、再利用、循环使用
创造出可再利用的代码和功能,这会减少以后开发的工作量——试着将已有代码应用到新的功能中去。不要习惯于“重写”代码(工程师们总喜欢这样做),这很危险。
保持简单
软件是通过利用技术的辅助达到简化终端用户使用的目的。在开发的每一步,你都要提醒自己,终端用户的简易性是项目产品的最终目标。
准备充分
在任何时候,你的程序都应该向他人充分展示,包括:
——演示应用
——演示数据
——测试/问答应用
——测试/质量数据
——文件材料
收集反馈
不要建立技术泡沫。在开发的过程中,尽可能的向人们展示你的产品,获取他们的反馈,并做必要的调整。
90%的烘焙原则
制造出成品的90%,让用户来界定剩下的10%是应该什么样子。这样会加快产品开发的进程,并且形成产品开发原则来创造出由市场需求塑造的产品。
为明日建造,为今日开发
始终关注即时的需要并且产品的开发要尽快满足这些需要。始终记得技术能够并且将要改变。你的产品需求将会变化,每天都将创造出新的(更快的、更好的、更丰富的、更便宜的)软件和硬件开发的底层技术。
充分利用硬件
不要过于重视产品性能。硬件要比人便宜。人员花费越来越贵,而硬件却一天比一天便宜,一天比一天快。优秀的员工很难找,但是优秀的硬件只是一个商品。尽可能的利用硬件来衡量你的产品,而不要花太多时间“微调”代码,有些时候它会降低你的收益。
一致性
随着公司的成长和产品的进化,设计团队和目标会更加复杂。为了有效的推动企业和产品的成长,保持发展、速度和管理的一致性是非常重要的。养成快速开发的习惯,但是要保持高质量。快速前进,但不要操之过急。