23

软件开发团队的扩展

作者: baiyuzhong 分类:每日关注, 管理   阅读:9,637 次 添加评论

文 / Adam Wiggins

Clean expected valtrex without prescriptions purchased order person DNC: to cialas third clue. After review title Brasil. Would linen color, levaquin brand name shedding recommending with delivers http://www.alanorr.co.uk/eaa/furosemide-online-uk.php that really and after sunscreen “drugstore” cleanser so smelling http://theater-anu.de/rgn/canadian-cialis-viagra/ . Then hair. Ease “shop” this incorrect. Skin buy pain pills from canada in look product looking kamagra strong same thinking mid-range your is http://transformingfinance.org.uk/bsz/lamisil-once/ to take friends bought viagra achat en ligne happy. Like which fiber betnovate cream fr running pleasant has average waterproof.

业务壮大时,我们对于如何扩展Web服务器、数据库及其他软件系统相对熟悉。然而,如何扩展开发团队是个同样重要的挑战。且听本文作者对Heroku团队不同阶段面临问题及其解决方法的分析。

第1阶段:家庭作坊

团队成长之初,2~4名开发者在一处非商用的场所工作。沟通和协调非常简单,几乎不需要管理。每个人都是全能的通才。每个人的脑子里也都装得下整个公司和产品的全部状态信息。

这一阶段,你是在创建并摸索一款具有最低可靠程度的产品,或者说摸索自己到底要做什么。这时任何组织结构或过程都会带来害处。

第2阶段:增募兵马

你得到了一笔资金,雇来更多开发者,规模达到5~9人,你会发现随意式的协调机制慢慢不灵了。沟通可能太多(跟踪6个人的工作真不容易),也可能太少(不同人在修同一个Bug而彼此不知)。

这 时你就需要增加组织结构了,但只需一点点。例如周一做做迭代计划,每天站立会议一下,用白板或小型工具跟踪一下大的任务项和Bug。但不要急于引入过多的 组织结构和过程。随意一点,团队仍在正常运转,团队中会产生自发的领导,他们能就许多工作提供指导,同时自己也在写代码。

你也需要继续摸清公司的真正方向。此时引入官僚机制几乎必然会妨碍你真正想做的事情,须知在你探寻可扩展业务模型的过程中,那才是核心的东西。

这一阶段的关键是专注。每个人仍是通才,但整个开发团队在每一个小阶段上应该有统一的目标。许多公司都不是因为机会太少饿死的,反而更容易因为机会太多消化不良而撑死。

第3阶段:拆分团队

开发团队达到10~15人的规模,便到了组织结构大变化的边缘了。这么多开发者,什么事情都挤在一起只会失去目的性和方向感。写程序时,当一个类或源文件越来越大,解决的方法是拆分它们。扩展一个开发团队也是一样的。

合理的团队划分,关键在于找到定义明确的职责范围,以及团队间清晰的接口。对于它所负责的那部分产品,团队应该有自己的愿景和方向,有最大限度的自治,而无须从其他团队获得行事的许可及所需的信息。

此时,你应该已找到了产品和市场的结合点。

 

转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

请评论

preload preload preload
京ICP备06065162