白手起家做个项目,真不容易

项目名称和具体内容就不说了,毕竟还没有发布。这是我在公司里和大家一起合作的一个非公司业务的项目。大家也是因为志同道合,愿意奉献自己的业余时间来做这件事情。就这样,在得到公司老大赞助云服务器和几杯饮料的情况下,大家去年年底开始撸起袖子干了。

在分析需求时觉得应该不是个复杂的项目,而且当时我们团队有10多个开发、2个PO、1个PGM,还有人帮忙打理服务器(相当于IT了)。于是打算2个月出POC,第三个月内测,第四个月上线。好吧,我承认自己太年轻,太幼稚了。现在已经4个月过去了,一半的功能还没做完,内测上线更是遥遥无期了。好在大家还在慢慢的做,没有放弃。

为什么挺好的想法,实际实施的时候差距那么大?看来要是自己创业去做这个项目的话,会死的很惨。想了一下,原因有下几点:

在我看来,最重要的原因是大家的工作时间和工作量不稳定,时常一个礼拜过去了,没有什么进展。当然这其中有些客观原因。比如我们不能在上班时间做,晚上回去或者周末的话很多同学有老有小的,也需要照顾。一些同学在做了一段时间后由于空闲时间有限,只能退出项目。到现在,只剩下4个开发和4个QA。人数的减少很大的拖慢了进度。拖累进展的还有下面一个因素。

服务器超级不稳定。我们一开始租用了2台阿里云的机器,虽然配置不高,但本着省一点是一点的态度,先用了再说。本想一个做QA,一个做PROD,结果现在2个都做了QA,分别部署了服务端和客户端。在开始的阶段,遇到最多的问题就是机器连不上,服务没有响应,有时候连代码都拉不下来(Git Server也放在那个机器上)。因为装的是Windows系统(我司90%是微软粉),他们RDP上去后就占着进程,时常需要别人踢下来才可以。有几次连Admin都连不上了,只能重启机器。

刚开始开发的时候遇到的另外一个问题是端口被占用。由于微软系的同学在那个机器上又装了套TFS,一些特定的端口被它无情的占用,我们只能为Web和API开其他端口。但后来发现使用的代码控件有限制,只能用80或者8080端口,逼得我们只能分别把他们部署在2台机器上。

遇到的第四个问题是客户端的技术方案。由于这次没有Native App的开发人员,我们一开始打算用微信小程序来做。结果发现小程序对于开发人员资质限制很大。作为公司开发,必须上传营业执照,进行公对公转账来验明正身。但这点对我们来说很难做到。(网上有皮包公司可以帮你绕开这个限制,但我们还是不想走歪门邪道)。小程序第二个限制是在访问网络服务时,必须使用域名,不能用IP地址。但要拿到域名,我们需要去做备案等程序性的东西。我们当时没有人,也没有经验去做这个。加上小程序的众多大坑小坑,最终我们放弃了这个方案。

我们有位同学当时对Weex非常感兴趣,就想用这个框架来试试。本着“大家开心就好”的态度,我们决定试试。然而,我们发现这就是跳出一个坑,却跌进了另一个。Weex里也有着无数的限制和坑。我们只能慢慢踩,慢慢填。目前我们还没有完全搞定的有摄像头和手机的自动化部署。

说到前端,另一个问题是我们没有UX。本来想可以依赖程序员自己对设计的品味和要求,但实际上大家的品味和要求是不一样的,很难协调,也很难让大家满意。现在我们一个会画画的QA在帮忙做图,开始慢慢统一了起来。

最后一个问题,其实也是最大的一个问题是业务模式。由于一些特殊原因,我们的业务模式也没有确定下来。也就是说,我们现在做的那么多事情,最后是不是真的能用上,还真不好说。但相关利益方在我们没有POC之前不和我们谈模式。伤透脑筋了。

经历的种种问题,才发现原来做一个产品真的没那么简单。自己固然有着N多年做技术做产品的经验,但真的白手起家,全靠自己来做,还是有着各种困难,各种意外和各种挑战。这个项目给了我一个机会去以一种低成本的方式体验人家创业的痛苦,真是难得。小伙伴们还在不断努力,也为他们加油。

简单总结一下经验吧:

  1. 租用的服务器配置还是要高一些,带宽要大一些,否则和影响效率。
  2. 最好别用Windows系统,不稳定,最大连接数也有限制。
  3. 项目管理相关的应用,不要部署在环境上,尽量保证一个干净的环境。任务管理可以用现成的网络服务,代码直接交给GitHub是最好的。
  4. 前端框架要选好,能用Native开发的就别用其他框架了。
  5. 业务模式一定要事先确认,否则可能都是无用功。
  6. 公司内部如果有机会孵化小项目,是个很好的机会。免去了很多自己创业的风险,也有一些团队做后勤保障(这点很重要啊)。
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s