首页 > 代码库 > Getting Real 摘记
Getting Real 摘记
一个很好的做软件的方式就是一开始用它来解决你自己的问题。由于你自己变成了软件的目标受众因此你会知道什么是重要的什么不是。这样做下去将会是推出一个突破性产品的伟大起始点。
手头有多少钱就先动起来做多少事。用心想想决定什么是你最基本需要的,什么是可以先舍弃不做的。什么事是你可以三个人就搞定而不必用到十个人?什么是两万块而不用十万块就能办到的?什么样的软件你可以一边白天打工用业余时间做出来的?
一个简单方法让你能准时地在预算范围内推出产品:定额定量。绝对不要在一个难题上多投时间和金钱。要么缩小规模,要么缩小范围。
如果你不能在预定的时间和预算内完成所有的东西的话,就不要拉长时间和增加预算。相反的,把产品的外延缩小些。下一步总是有时间可以加东西进去 —过后有的是时间,当下却是稍纵即逝的。我们建议:范围缩小些。做半个产品比做半拉子的产品好。
有时了解你的应用程序应该做成什么样子的最佳方式就是,认识到它不应该成为什么。搞清楚你的软件的对手是谁,就象点一盏灯,能照亮你前行的道路。你能从敌人那里得到的一个好处就是:一个非常清晰的营销理念。人们很容易被冲突对立挑动。并且通过把一个产品和另一个作比较能更多地了解这个产品。必须指出的是,也不要太过着迷于竞争。过分地去分析其他产品会慢慢限制你的思维想像力。很快地看一下他们在做什么,然后就要回到你自己地理念和理想上来。
老是看你的竞争对手在做什么是你给自己找麻烦的最快的方式之一。我们不随大流,相反的,我们只看大方向,时时提醒自己什么是我们想要解决的问题关键,怎样去解决它。
如果你越不把软件当作一种交易去做,你就越能做得好。把它控制在一个你能把握的小范围内,你就有可能真正地享受过程。
在美国,在这个时代生意经往往是提出一个构想,让它能盈利,在还能盈利的时候把它卖了,然后改行或不干了。这往往是一个能否挺下去的问题。对我而 言: 去热爱烘培,卖你自己做的面包,人们如果喜欢它我就卖多些。我就这么把烘培事业做下去,因为我知道我在做好吃的人们爱吃的东西。
如果你不能如飞一样的改变,你就会败给能够做到的竞争者。这就是你需要追求更小质量的原因。
质量会由于以下因素增加
• 长期合同
• 多余的职员
• 固执的决策
• 关于会议的会议
• 厚重的流程
• 存货(物理的或者头脑的)
• 硬件,软件和技术的锁定
• 专有数据格式
• 未来被过去支配
• 长期的路线图
• 办公室政治
质量会由于以下因素减少
• 必要而及时的思考
• 多面手的团队成员
• 拥抱限制,而不是试着移除他们
• 更少的软件,更少的代码
• 更少的特征
• 小规模团队
• 简单
• 被拆分为正交的接口
• 开源产品
• 开放的文件格式
• 开放的文化,使承认错误更容易
低廉和迅速的改变是小团队的秘密武器。
保持小,保持简单,顺其自然。
对于产品的 1.0 版本,请从只有三个人开始。三是一个魔力数字,提供足够人力的同时允许你保持流畅和敏捷。从一个开发者,一个设计者,和一个清道夫(一个可以在开发和设计中随意切换的人)开始。如果你不能够用三个人建造第一个版本,那么你或者需要更改人数或者需要缩减初始的版本。
总是有不充足无法满足所有需要。不充足的实践。不充足的金钱。不充足的人。这是一件好事情!约束驱动创新并强迫集中精力。不要试着移除它们,使用它们带来你的优势。
约束经常是伪装的优势。忘掉风险投资,长发布周期和快速招聘。代替的是,和你目前拥有的合作。
大量的小公司犯了试着装作大公司的错误。就好像他们意识到他们的规模是一个缺点,需要隐藏。太糟糕了。小型实际上可以是一个巨大的优势,尤其是在通讯方面。骄傲地、无所畏惧地做到真实。
竭尽全力将你的软件定位在一个点上。你的软件代表的是什么?它到底是有关什么的?在你开始设计或写任何代码之前你必须清楚地知道你做这个产品的目的 — 它的前景。把理想放大些。为什么要有它?它和其他类似产品不同的地方在哪里?
在初期时忽略细节,先粗后细!你可有常常一整天被困死在一个设计原素或一个程序代码上?可有不时觉得你今天的进展实在算不上什么真正进展?过早专注于细节就会导致这些结果。永远,都要从大到小去做。
别整天操心还没成型的麻烦。如果你已经掌握了你需要的信息就及时做决定。这样你就能把注意力集中到需要马上解决的问题上来。
找到你产品的核心市场然后就专注进去,如果你想讨好每个人那么你什么人也讨好不了。(缩小市场范围)
Getting Real 摘记