转型
15年初我怀揣着实现一个人生小目标的梦想加入到一家初创公司,希冀能见证公司产品从0到1,从1到10,融资从A到C。可是半年后,虽然产品从0到1是有了,但由于运营模式的限制,从1到10走的很难,用户规模上不去,融资也是没有影子。我开始焦虑起来,这样下去,我要当上总经理,出任CEO,迎娶白富美的人生小目标,可是要萎掉的啊。
于是,那时还是程序猿的我,渐渐”多事”起来。一会跑的产品经理那:“我看到一篇某某博客,作者用Axure把需求文档,产品原型,PRD等等结合到了一起,这样不同文档切换查看就很方便,会节省大家一些时间,还特显高大上,我们也试试不”;一会跑的测试那:“这次迭代不仅新增了很多模块,还换血了不少旧接口,我们要不要来一次集体测试,大家都参与进来,对各个模块进行地毯式扫荡测试,这样能快速发现问题,也给你减轻了些负担”;一会跑的项目经理那:“这次迭代中出现了某某问题,之前也发生过,我们可不可以在迭代结束后开展一个总结会议,统计下遇到的问题,是如何解决的,以后好吸取教训”……因为多事,我后来学会用Auxre和墨刀做原型了;下班回家测自己开发的App,给自己提Bug单;主持一些会议并进行纪要……因为多事,我成了公司加班最多的人,也是微信步数最多人(经常跑堂),因为多事,在项目经理离职后,公司没有招人,而是让我顶上了,虽然不得不说,当时的项目千疮百孔,是个脏屁股。但是我知道,我的转型是从自己看待项目视角的转变开始的,而不是职责的转变。所以既然公司给予了认可,手臂就可以挥的更开了,屁股再脏,也能擦得干净。
擦屁股
接手项目后,做的第一件事,就是把我之前思考的项目中存在的问题进行了梳理。把那些大坑找出来,填了能立竿见影出效果。
一.使用Git
此前,团队用svn进行协作开发,最主要问题在于分支的切换合并不方便,以致于实际编码的时候,大家都只在主干上提代码,所以开发阶段,主干上的代码是没发随时打包的。测试要想针对已开发完成的模块进行提前测试,只能经常跑到开发那问,做到哪里啦?这个功能可以测了吗?现在可以打个包吗?导致开发的工作时常会被打断,而且即便测试拿到包,也会出现不同开发给的包是互斥的情况,即A给包有只有A功能,B给的只有B功能,分别测都OK了,最后合到一起又是一坨bug。
为了解决这个问题,我们尝试用git取代svn,并引入gitflow的协作方式。效果嘛,用一个字来形容,“爽的结盖盖”。进入编码阶段,开发兄弟会根据自己实现的功能模块从develop分支上拉出对应的feature分支,如feature-im,feature-moments。一个功能点开发完成,就可以合并到develop分支上,然后删掉对应的feature分支,接着拉出新feature继续开发。这就保证develop分支上是可以随时打包的,根据提交日志,也可以清楚的了解哪些功能是完成了的。测试只要从develop更新代码,脚本打包,完全可以自给