创业公司的开发流程:改变公司的5个开发流程

标签: 开发流程 创业 产品经理 | 发表时间:2013-08-19 00:57 | 作者:jacky
出处:http://www.woshipm.com

  大约一年前 Graham和我参加了Google IO大会,为的是了解未来流行的技术,还有见见硅谷的技术人员。那次的经历非常好。我们见到了一群厉害人物,并且接触到了一些新技术。先不说其他的,那个大会上,我们收获最大的就是见到了一位技术/开发的前辈和一种新的创业公司开发流程。

         随着HitSend的成长,我们依据自身所需调整了我们的开发以及开发流程。在最初我们采用了廉价的主机提供商,然后研究怎样克服它们的局限性。我们知道有其他的方法,但是它们似乎都会增加复杂的规则和流程。本来已经运转得很好了,为什么还要修改呢?

我们后来在Google IO大会里遇到了 Ian。他答应分享一些由他反复思索得到的见解。Ian是一名在 Sendgrid工作的高级网页开发者/架构师。Ian非常厉害,对他的建议我们真的很上心。下面你会看到很多证明他值得夸奖的地方(包括所开的玩笑也是从他那里偷来的)。

为了更好地管理我们的业务成长,我们改变了我们的创业公司的如下5个开发流程。如果你也认为它只会增加复杂规则和流程,那么在结尾处你会找到一些(非学术的)这些变化产生的结果。

Graham正计划着将来再发一篇文章,详细介绍每一个步骤是如何让我们开发和推送代码更快捷,而且还能提高我们的代码质量的。这个可以作为我们如何工作的良好的大纲。

  第一步:正确地使用git(/GitHub)

把我们的app分割到更好的版本库中。这个工作目前还在进行当中。

“产品”分支是当前部署和运行在服务器上的分支。

“暂存”分支是处于要上线的队列里,而且总是可部署的分支。

其他的都分到它们自己的分支。新特性,维护和热补丁分支应该有个简短但富有描述性的名字:

* 特性分支以“F-”开头

* 维护分支以“M-”开头

* 热补丁分支以“H-”开头

我们合并(merge)分支到暂存分支。然后暂存分支再合并到产品分支。团队对两次合并都要做代码检查。(热补丁可以倒着来)

我们像 GitHub那样使用Pull Request:

* 如果有个大的特性(一个”Epic“),我们先为它新建一个issue。这个issue里我们策划好最佳的处理办法,如果它需要修改用户界面,我们还要画些草图。这样使得我们团队可以在任何人背道而驰之前被叫住。

* 当我们准备好开发某个特性,我们在暂存分支上发(或者从issue转化)一个Pull Request。我们在建立分支后就马上做这件事。这意味着我们的每次提交都有额外的可见性。

* 我们编程的时候会给团队屏幕截图或者提问。这可以做为该特征的某种生动的历史记录(想想Facebook墙)

我们还向GitHub issue跟踪器添加我们的产品路线图,向里程碑区域添加我们的sprint。它允许我们把issue指派到sprint,然后计划我们下面两周的工作。

  第二步:轻敏捷开发

不需要进行” 敏捷开发“,但是类似。理想中它结束于10天的sprint,尽管有时候第10天还在开发。

第一天:sprint计划日

第二天:Scrum。干活。测试。推送。

第三天:Scrum。干活。测试。推送。

第四天:Scrum。干活。测试。推送。

第五天:Scrum。干活。测试。推送。

第六天:调整Scrum。 Back log grooming。测试。推送。

第七天:Scrum。干活。测试。推送。

第八天:Scrum。干活。测试。推送。

第九天:Scrum。干活。测试。推送特性分支。审查状态,为演示日准备。

第十天:演示加分析加反思加sprint计划日

这步联合第一步,在我们每天的开发过程里带来了很大的正面变化。

  第三步:HitSend机器人部队

我们做了一个暂存分支部署机器人,他监听在SoapBox的暂存分支的代码改动。如果有改动,他取得代码然后放到服务器上。他快得让我惊奇。

产品分支部署机器人在产品分支上做的同样的事情。

我们还做了一个Hitbot,或者叫 hubot 篝火聊天室机器人. 他连到我们的github账户,如果我们需要的话,可以提供我们的版本库的信息。我确信他会成为今后hack项目的中心。

  第四步:集体意识的规划

我们为开发者贡献了我们创建的javascript和php代码风格指导。我们有些代码现在甚至也没有遵循它们,但是它们为我们提供了一个超前的结构,有希望能够让生产的代码,看起来像同一个开发者写的一样。

对于大型的项目,例如我们的新API,我们先把文档编写好。它们扮演的是提案文档的角色。因此(在开发的时候)我们不是在发明,而是在建造。这些指南让我们在风格约定上取得一致,让我们更加并行地工作。

  第五步:测试一切

我们在HitSend下面建立了自己的 Travis-CI,在各自的环境下构建和测试SoapBox。一旦运转起来一切都相当简单。

它在分支上测试:产品分支,暂存分支还有Pull Request对应的分支。下面是它如何工作在我们的开发流程上的:

* 建立Pull Request,或者提交代码到Pull Request上

* Travis获取代码,然后根据我们的设定,在虚拟机上进行配置

* 对php代码做PHP单元测试还有PHP语法检查

* 然后对javascript做QUnit和jshint

Travis-CI告诉GitHub测试是否通过。如果通过了,它会把“合并”按钮变为绿色,未通过就是灰色。并且提供一个指向测试失败的日志的链接。参见GitHub对这个特性的描述。

Travis 持续集成,然后通过我们的篝火聊天室的Hitbot与我们交流信息。

现在留给我们的就是构建我们的单元测试。当我们的语法检查和jshint通过了后就只剩下少量的测试。

 结果:

总体来看,开发的时光车从1995年驶到2013年,一路上都极其成功。我很愿意说第六步是啥啥啥,第七步是“盈利”,但是说实话每一步都对业务有帮助。

这些结果不是那么学术,但是是立竿见影的:

正确使用git提升了我们代码和代码库的质量,提升的还有生活质量。当要做热补丁时我们绝不用感到紧张。从产品线拉出分支,修改,合并, 搞定。回到你的特性开发分支。

敏捷开发给我们带来了恰到好处的关注量。我们能够投身到某个任务2周,不用太担心其他开发任务。它给我们的代码和特性开发的质量带来了显著的效果。聚焦。

作为一个警醒的小团队我们比大多数人都更加注意到要在更大范围内改变低效率。为Graham每天或每周节省一小时,对我们来说就是一个巨大而显著的好 处。机器人这样做了,而且有望随着时间推移做得更多。机器人犯错误更少……这就意味着我们永远不用担心需要的全部文件都会被推送到产品分支去。

第四步和第五步带来的好处我相信会清偿今年上课的花销。随着我们开发团队的壮大尤其如此。我相信会给他们就怎样工作做更多的方向性指导,并建立一个扩展性更好的劳动力。我认为当推送代码到服务器时,它还会给我们带来更大的自信。

这就是我们创业公司的开发流程。你们的公司是怎么干活的?我们总是在寻找改进我们流程的办法。我们觉得很好,但还不完美。我们想知道你有什么改进的建议!

转自:产品中国


本文链接《 创业公司的开发流程:改变公司的5个开发流程
微信号:woshipm,产品干货天天推荐,欢迎订阅

相关 [创业公司 开发 改变] 推荐:

创业公司的开发流程:改变公司的5个开发流程

- - 人人都是产品经理
  大约一年前 Graham和我参加了Google IO大会,为的是了解未来流行的技术,还有见见硅谷的技术人员. 我们见到了一群厉害人物,并且接触到了一些新技术. 先不说其他的,那个大会上,我们收获最大的就是见到了一位技术/开发的前辈和一种新的创业公司开发流程.          随着HitSend的成长,我们依据自身所需调整了我们的开发以及开发流程.

11家改变世界的超牛B创业公司

- - 互联网的那点事
1)Makerbot开源3D打印机. 创始人: Bre Pettis. 融资:从Foundry Group, Bezos Expeditions, True Ventures, RRE Ventures以及 Sam Lessin处获得100万美元融资. 为什么具有颠覆性:能将数字文件变成实物,如果你的孩子需要一件玩具,可以扫描玩具实物,打印出来,不只是打印机,也是实物“克隆机”.

改变医疗健康行业的8个创业公司

- - 创业邦
  随着技术的变革,创业公司为健康医疗行业的改进提供了众多选择.   无论是利用3D打印机制作假肢,还是使用新的成本更低的基因检测技术,人们从这些创新上获得了越来越多的益处.   去年健康医疗行业的创业公司提供了哪些不错的创意?科技网站thenextweb进行了以下总结.   这里有一组统计数据:家庭陪护在美国提供83%的老年人护理服务.

创业公司开发新式相机:先拍照后对焦

- 三马 - cnBeta.COM
据《纽约时报》报道,创业公司Lytro计划在今年晚些时候推出一种创新型相机,它允许用户先拍照后聚焦. Lytro此次技术创新的核心就是允许用户在照片拍摄结束后再对焦点进行调整,比如当用户在电脑上观看使用Lytro相机拍摄的照片时,可以通过点击鼠标将近景人物的焦点解除,把焦点切换到人物后面的山脉.

创业公司改变健康医疗行业的8种方式

- - 人人都是产品经理
随着技术的变革,创业公司为健康医疗行业的改进提供了众多选择. 无论是利用3D打印机制作假肢,还是使用新的成本更低的基因检测技术,人们从这些创新上获得了越来越多的益处. 去年健康医疗行业的创业公司提供了哪些不错的创意. 科技网站thenextweb进行了以下总结. 这里有一组统计数据:家庭陪护在美国提供83%的老年人护理服务.

Google 大厨的创业公司

- scaoen - 爱范儿 · Beats of Bits
人说“近朱者赤,近墨者黑”,大厨和科技能碰撞出什么火花. Google 的两位前任大厨 Nate Keller 和 Mirit Cohen 显然也被硅谷的创业文化深深影响,2008 年自立门户开了一家创业公司  Gastronaut,业务是——做菜. Gastronaut 这名字就够 Geek,右图就是公司 logo,难道是 Google + Astronaut 的缩写.

创业公司打工指南

- chenhua - 阮一峰的网络日志
创业公司最大的苦恼之一,就是雇不到优秀程序员. 为什么优秀程序员宁愿去微软公司,也不愿意去创业公司打工. 因为他们了解微软,而对创业公司则是一点把握也没有. 为了解决这个难题,上周四晚上,风险投资公司Y Combinator举办了一个见面会"Work at a Startup",让创业公司与程序员直接见面,增进彼此的了解.

创业公司如何挑选员工

- 小宇 - Tech2IPO
当人们讨论为创业公司招聘人才的时候,通常会说“招聘比你聪明的人”或者“找那些有名的人”. 这并不能成为创业公司在招聘人才时候充分的标准. 人们总想找到出奇聪明和出色的人,这对于早起的创业公司还不够. 创业公司还需要那些有着额外亮点的人才. 作为小的创业公司,我认为应该去寻找有以下特征的人才:. 这些人愿意去深入到一个问题中并设法解决问题,并负责那些别人不愿意做的事情.

创业公司如何被收购?

- eating - 每日鲜果精选
为什么一些创业公司被大公司并购,而另外一些创业公司没有获得这些机会呢. 让我们来做一个假设,并来思考一下这个问题.  假如你有两家创业公司,条件基本一致,那么有什么因素可以让一家比另外一家更容易获得并购的机会呢. 我认为其中一个重要的因素是并购方对于可能并购的两家公司拥有偏见,而导致这种偏见的原因往往是并购方对于一家公司的了解比另外一家要深入.

创业公司成功Pivot的秘密

- 罗智中 - 36氪
编者按:James Altucher是一位投资人、作者、程序员兼创业人士. 同时也是资产管理公司Formula Capital的总经理,曾写过6本关于投资的书. 此人经常会写一些经验类的文章给创业者和投资人,文风幽默犀利(不及阿灵顿). 另推荐两篇他的文章《如何成为世界上最好的创业者》和《创业者如何创造自己的好运》.