只缺一个程序员 如何让产品实现
你是否曾经遇到过这样的情况:你已经有了一个好主意,比如开发一个在线商店,制作一个应用等等,但是却只缺一个程序员,能够让想法变为现实?
很多我的朋友都曾遇到过这样的情况,我会在下面写出我认为不错的一些建议。
1. 把你的宏伟蓝图简化到「1.0 版本」
憧憬一下未来无可厚非,你可以把它们统统写下来。
但是也请想想,你最低的期望是什么,人们会认同的价值是什么,最重要的三个特性是什么,最重要的一个呢?
把这称之为「1.0 版本」吧,其余的以后再考虑。你甚至根本不需要告诉人们你的那副蓝图,他们实在感兴趣的话,那告诉他们吧。
对于一个简化的不复杂的版本,你的程序员可能更能游刃有余。
你的目标就是把 1.0 版本做好。独自完成这件事,也算得上是成功的开始了。其余的所有事情,就是围绕这个 1.0 版本来做的。
2. 描述这件事情
重要的事再说一次,要记住,只需要描述 1.0 版本即可,宏伟蓝图以后再说。
程序员不需要知道的细节,就不用写到需求里面了。
举一个例子:如果你想卖视频,你不需要说清楚视频里面有什么,只需要说「销售可下载的流视频文件」即可。如果你想做一个把古阿拉伯诗歌翻译成西班牙语的网站,你只需要写「把句子从阿拉伯语翻译成西班牙语」
告诉你,程序员爱死这种简单的表达方式了。
注意你的表达方式,让人们对你的故事有切身体会。
举一个例子:「公司创建账户,然后创建一个项目,这个项目有一个名称和一个描述。在这个项目里面,用户可以上传不同的待翻译的文件。每个文件有三个属性:原语言,目标语言,以及文件名。系统能够统计每个文件中的字数。当公司把文件的属性改为准备翻译的时候,它会自动提醒翻译者,通知内容包括多少篇文档,多少字数,以及报价。翻译者可以选择接受或拒绝。翻译者登录然后开始翻译文档,每翻译完一个,就把它标注为已翻译,然后系统会把翻译好的文档发送给公司审核。」
通过这样的情景描述,程序员会自己搜索其中的名词和动词,并进行理解,这会让你和程序员的沟通更加容易。(程序员会注意的词:公司,项目,文档,翻译,翻译者,等等)
3. 把自己当成用户,并好好总结自己的每项行为。
闭上眼睛,想象你正在使用这个网站。
描述你可以在这个页面进行的所有点击操作。
你点击后,发生了什么?准确的说,是系统发生了什么?接下来呢?
用如果-那么这种思考模式来思考。比如「如果有一个新用户,那么跳转到欢迎页。如果是老用户,跳转到个人账户页面。如果在输入电话号码的表单里面输入了一个单词,那么跳转到之前的页面,并带上一条提示信息。
用文字记录下所有 1.0 版本需要做的事情。每次点击,每次交互。这会是一份由小细节点组成的很长的清单。
谨慎用词,保存好,不要打乱清单。
这么做的目的是,保证这份关于用户体验的清单清楚明确,程序员就可以轻易的理解,每一个步骤做起来也容易。对程序员而言,感觉应该是吃薯片,而非一头大象。
4. 分解目标,分步解决
我们习惯性的认为别人的工作更加容易。
所以把 1.0 版本的产品分解成若干个「里程碑」,花一天时间仔细想想(可能是几天时间或不到一天)他们给你的工作总结中的要点,为这些小成功而欢欣鼓舞吧。
这个阶段别期望太高。除非是丑的天怒人怨,否则只要是功能可用,就可以接受了。就像修一所房子,刷漆和装修是最后工作。
举一个例子:我们的翻译网站,第一个目标可能是简陋的原型,公司能够创建账户,创建项目,能够上传文档。这就行了!如果这些功能能够使用,那就是一个很好的开端。
分解目标的思考让你有所作为。你会在每个阶段结束的时候停下来,保证在继续开始前你有着积极的士气。这样以来,错误便不可能一直存在。你会更好的衡量时间和成本。你们会有一个很棒的势头。
5. 第一个版本应该是单机版
找一个你喜欢的程序员,你只需要搞定第一个版本的目标,然后像对待完成版那样对待它。
打开一个空白记事本,把第一个计划的所有细节都写下来。
如果一个功能在第一版没有实现,在你的本子中把它划掉,也把它扔出你的脑袋。
这个记事本里面要有完整的项目计划,并且有每天的工作计划。其它的就别写进去了。
像一个求职广告一样这么写:我们准备雇佣一个开发者来帮助我们开发产品的第一版。如果这个目标完成了,我们会投入更多精力来保证其发展。下面是我们的具体要求….接下来贴上你的第一版计划。
你并不希望人们这么说“我搞定了,这里是源码”,确保你完成时这么说“我完成了这个项目,请把这些文件上传,然后运行服务器,我会对它进行测试,看需求是否完全实现。”
这封招聘启事会让你收到的 offer 挤爆你的邮箱,其中很有一些看起来合情合理,但却似乎是完全没有看你的具体内容的。你需要做的是:在你的招聘广告结尾处写上“非常重要:为了确保你不是机器人,请在邮件第一行写上,我是真人。我们会删掉所有没有这么做的邮件。鉴于大部分人不会仔细阅读我们的要求,我们对您的仔细阅读表示感谢”
把这做成文字文档,准备发布吧。
6. 把它发布到 upwork ,guru , freelancer
去下面的站点发布你的招聘广告:
upwork.com, guru.com, freelancer.com (如果在国内,可以考虑程序员客栈)
把你的小项目发布到所有网站上面。使用他们的签约服务。地理位置无关紧要——他们在哪都能工作。不要付长价,付时新。把时间控制在 7 天之内,大部分应聘者会在 3 天之内来。
你会收到许多 offer 请求,但是如果没有通过你的魔法筛选(第一排的我是真的),删了。这么做并不容易,因为你会为了大家都准备帮你这件事而兴高采烈,大家还会这么说“我们看了你的项目,并且很高兴我们有能力搞定这件事。相信我,删掉。如果他们连你提到的「非常重要」的内容都不能注意到,,你绝对不会想和他们合作的。
同样重要的一点是:去和已经完成不少成功案例的开发者合作。这表示他们在这个网站站稳了脚跟。拒绝掉没有任何案例的开发者。
不要指望便宜的开发者。找一些能干的,优秀的开发者,哪怕他们的要价是一般开发者的两倍,因为他们可能比一般开发者干的快十倍。
每个网站都有自己的特点,所以很抱歉,我不能给每个人提供针对性的建议 。但是请注意,一旦他们提到了你的「我是真人」,对他们友善一点。一旦你准备合作,请一定要友好积极。
7. 选择不同的人
其中一个让你停下来的原因是:你需要雇佣至少两个不同的人来为你的第一版做开发工作。做好其中一个很糟,另一个一般,只有一个不错的心理准备。
是的,我的意思是,你可能需要几倍的时间来做好第一版。但是它值得有更好的开发者。
我发现,从不同的网站各找到一个人是很容易的,所以你可以把这个不错的项目给任何一人,让他们做好自己的工作。他们并不需要知道还有其他人也在做着这样的工作。
有一些会做的很糟。做好心理准备,不要让这种事情而沮丧。他们会说发生了什么意外,要拖延一个月如,或者这比他们想象的更难,甚至直接消失了。当这样的事情发生之后,把这个人的工作标记为取消或者完成,友好的结束合作。然后继续向前。
最后,让每个人给你发送一个压缩文件,里面有完成这个版本的源代码。哪怕现在你还不知道该如何做,先存着。解压,看看里面的文件,你会搞定这事儿的。
8. 和你最喜欢的人一直合作
这个阶段的目的是找到你真正信任的合作伙伴。
如果你没有,那么继续发布招聘广告吧,根据你收到的回应改进文案内容。更好的描述,或者更高的价格,可能是最有效的。
如果你找到了,那么你可以让他参与进整个项目中,给他你的整个 1.0 版本饿计划和清单。把他们拉进你的计划中。让他们把你下一阶段的目标完成,然后下一个,下一个。。。
他们可能会要求你加入工作,通过网站来支付报酬,营销自己的名声,或者他们直接想走。这都很好。
本文文字及图片出自 博客园
你也许感兴趣的:
- 【外评】80% 的开发人员不开心
- 【外评】如何判断自己已成为高级程序员
- 【外评】如何成为最优秀的程序员
- 【外评】程序员大神每天什么都是时候工作?
- 【译文】在 Meta 工作 12 年:回顾我参与的所有项目
- 【译文】每个开发人员都需要问自己的一个问题
- 【译文】程序员工作很累,但 70% 的程序员在周末休息时以写代码为乐
- 【译文】我是一个糟糕的程序员
- 在技术圈逢凶化吉,靠的居然不是技术?Altman 晒出17条年终总结,人际关系占首位
- 【译文】加密货币交易平台FTX审判,第四天:欺诈在代码中
你对本文的反应是: