(本文于2010.10.01发表在CSDN乐知《草根》杂志第四期,LAMP交流超级群(500人):106382633)
开胃菜—小传:
        1987年,电脑在中国还是稀罕物。老爸当时是一家厂矿子弟校的化学老师。这一年,学校从香港购买了一套Laser310电脑,准备开办电脑课程。
当时别说学校,就是我所在的城市里,电脑也是极为罕见的。这种情况下,谁来承担教学任务就成了一个难题。我老爸在此时做出了也许是这辈子最正确的一个决定,主动提出担任计算机科目的老师。而我也在10岁那年接触到了电脑,从此一发不可收拾。
        虽然已经记不清楚最开始接触电脑时的感受,但当时最吸引我的毫无疑问是电脑中的各种游戏。就是在我玩透这些游戏后,才萌发了自己做游戏的想法。正是因为这种想法,我开始迷上了各种编程语言。看到计算机按照我设定的逻辑运行,这种小小的成就感也是无与伦比的。
        长大以后,偶然的机会进入了一个电子邮件开发团队,第一次接触到了PHP这门服务器端脚本语言和FreeBSD这样的操作系统。也正是被PHP和FreeBSD的开放和自由所吸引,后来才有了创作开源框架QeePHP的想法。看起来在中国目前的软件环境中,开源产业总是起起伏伏,步履维艰。但我在2006年创立自己的公司后,还是固执的选择了开源做为公司发展的核心基础。
分享—创业故事
        对于任何一个企业来说,生存下去总是不变的基本。公司成立的前两年,全靠接各种项目来维持生存。这期间虽然公司的开源框架推出了一个个新版本,但是因为公司没有办法拿出更多的资源来支持开源产品线的发展,我陷入了一种两难境地:要么是放弃开源,要么是继续这样慢吞吞的发展。
幸运的是在2008年,我们发现了WebGame/SNSGame这个金矿。自那以来,公司投入了大量资源对WebGame/SNSGame的开发进行了探索和研究,最终在2009年为公司赢得了一个可观的WebGame外包项目。
在进行这个项目时,我们的QeePHP开源框架也在不断进化。从面向一般Web项目的框架向面向高性能、高并发、分布式的大规模Web应用框架发展。2009年底,经过一年多的积累,我们投入全力开始创造第一个属于自己的SNSGame。
经过近一年的开发和完善,我们的第一个SNSGame即将上线。而在上线前的运营商邀请测试中,我们就赢得了运营商的全力支持和第二个项目的前期投资。对于“初次”涉足WebGame/SNSGame的公司来说,运营商感叹我们团队的策划和技术水平实在不像是新手。
“刨根问底儿”—团队的力量
对于纯技术公司,如何打造一个能够“打仗”的团队,毫无疑问是最重要的事情。
创业初期,公司只有我和合伙人两个人,从头到脚任何事情都是我们自己完成。而当公司开始加入新鲜血液后,如何打造团队就成了最棘手的挑战。
为了建设运转良好的团队,我尝试了各种方法。从洋人的敏捷开发模式,到国内大牛们自创的土办法。最终,我发现对于一个小公司来说,只要做好以下几点就足够了。那些阳春白雪的做法,并不适合资源有限的小公司。
1、团队成员宁缺毋滥:经常做项目的公司都会遇到某个项目急需人手的情况。此时要么是马上招人,要么是从其他团队抽人。对我来说,我只有一个团队,那么唯一的选择似乎就只剩下招新人一途了。但这样实践一两次后,我发现与其仓促扩充团队,还不如做好合理规划,充分发挥团队的能力。
当一个已经磨合好的团队加入新人时,不但新人会觉得有压力,需要花时间融入团队。对于团队的其他人来说,一样会觉得有压力,一样需要时间去和新成员建立信任关系。
而且小公司是没有资本去招聘应届生进行培养的,所以新加入团队的都是有一定经验的开发人员。一个工作过两三年的开发人员,肯定会有自己的风格和习惯。既不可能让新人完全按照团队的要求来改变自己,也不可能一下子让团队来适应新人。
因此当一个团队需要全力投入一个新项目时,加入新人不但不能提高团队的生产力,反倒会降低整个团队的效率。最坏的情况还会导致项目进度严重滞后。
2、弹性管理,严格要求:弹性管理是指不要搞什么迟到5分钟就扣钱之类的教条主义,但是对于影响团队协作的行为却要坚决处理。对于一个团队成员来说,你早一会儿上班晚一会儿上班无所谓,但如果因为你晚来让团队的其他成员等待你,那么就必须受到处罚。
当然,处罚不是扣钱。有时候是打扫卫生,有时候是为大家跑腿买东西,总之既要有处罚的效果,又要避免让大家觉得是为了扣钱而处罚。但如果遇到完全不在乎处罚的成员,请他趁早离开才是最好的选择。
在开发过程中,对于预先制订的开发目标,一定要严格考核。无论任何原因,只要出现延迟就必须在收入上体现出来。虽然表面看这种做法不尽人情,但是这可以让团队成员在制订目标时更理性,而不是想当然的订出一个根本不可能达到的目标。
由于做项目是多劳多得,加上目标的制订是团队集体讨论的结果,所以几乎不会出现故意拖延时间的情况。再说对于客户来说,一个可以按时交付的项目绝对比一个不断延期的项目更有价值。
3、充分沟通:由于我最开始进入的开发公司,团队老大就是放羊策略。所以我一开始带团队,也是一样的方法,想当然的认为把任务安排下去后,大家就会按时完成。但事实证明这种放羊的做法是绝对错误的。
现在每天下班前,我会安排15分钟时间,要求团队成员每人说一下自己的当天的工作情况和第二天的工作安排。这样的沟通能够让整个团队的成员知道各自的进度情况,有问题早发现。
而且我发现这种沟通方式,对新人有很明显的激励做用。新人每天听到别人报告工作进度,自然会有更快融入团队,接手实际工作的压力和动力。