乍看起来,外包和开源开发之间似乎没什么关联。然而,如果仔细观察,就会发现,通过外包来满足自身编程需求的企业能够从开源社区中学到一些管理和流程方面的技术。
异步开发与沟通的妙处
Postgre SQL核心小组成员兼Sun公司开源数据库小组成员Josh Berkus指出,外包企业可以从开源开发社区中学到的重要一课就是,"开源社区更强调沟通的异步方式----电子邮件、Bug跟踪器、论坛、VCS(版本控制系统)更新,而非同步方式----电话、聊天和会议等。"据Berkus称,异步开发的优势包括:1、如果采用电子邮件的沟通方式,那么接收者所在的时区就无所谓了。同步方法往往迫使人们在早6点至晚11点之间打电话,这样必然会降低整体工作效率和工作的满意度。
2、异步方法包括自己的审查索引。电子邮件、Bug跟踪器和此类工具可以自动生成活动记录;没有同步工作的人也可以通过阅读及时跟上"潮流".Berkus说:"这种跟踪能力还减少了重复讨论,而且经理能够更好地了解工作人员的工作情况。"
3、提高了效率。Berkus说,沟通的同步方法常常效率非常低,会议要等到所有人到场后才能进行,这通常要占用会议一半的时间。
4、异步沟通还解决了语言沟通的障碍。The 451 Group开源分析师Jay Lyman表示,全球开发周期中的语言差异依旧明显。而采用电子邮件和Web通信,可以让不讲英语的与会人员更轻松地阅读或翻译电子邮件和Web文本。
然而,从Berkus的角度来说,异步沟通也有一个劣势:对话的过程需要许多的讨价还价,往往需要几天的时间,不是短短几个小时就能解决的。他说:"这导致开源开发人员要么采用电话、会议等同步方法,或制订一种工作模式,让多个任务持续并行开展。
如何让控制和动员变得更容易?
Lyman说,开源和外包活动中都会遇到的另外一项挑战就是控制。开源厂商的执行官们面临的挑战是,动员和引导那些不会将金钱作为主要工作动机的个人及团体。
Lyman说:"我认为在全球外包开发社区中也会遇到类似的挑战,因为在此类活动中,与社区成员的直接联系很少甚至没有,想要控制就更加困难。开源社区也已经证明,过多的控制可能会引发不满,或者会使创造性窒息而亡。"
GNOME基金会执行主任Stormy Peters说,外包开发人员社区可以从开源中学到很多教训,并将其应用在自己的虚拟团队上,可以从自己喜欢的工具集开始。Peters解释说:"开源软件项目往往要依靠电子邮件、邮件列表和IRC(Internet中继对话)。"这使得开源软件项目可以从多方面受益:
1、透明度。所有的决定和讨论都会公之地众。谁应当负什么责任以及为什么要如此都很清楚。
2、贤能至上主义。每个人都知道其他人在做什么,以及做得怎么样。
3、赋予权力。每个人都有发言权。任何人都可以加入IRC或邮件列表。
4、历史。任何人都能了解整个的项目历史和状态。
当然,开源开发人员与外包开发人员之间重要的基本区别就是动机。正如Kusnetzky Group总裁兼知名分析师Dan Kusnetzky所说:"开源社区是由愤怒驱动的。人们对某段代码能做和不能做的事情感到愤怒,所以才会投入精力去解决问题。外包开发人员只是奉命行事,即使他们知识结果并不理想,他们也会照做下去。"
免费软件、战略咨询服务企业Neary Consulting公司是一家领先的GNOME开发商,该公司总裁Dave Neary说:"从个人来说,我不认为外包和免费软件项目管理有许多共同之处。两者相同之处也许是,都有一群看不见的黑客在你睡觉的时候仍在努力解决问题:美国的一位GNOME社区成员曾将欧洲的同行称作'code gnomes'.但两者的管理方法是截然不同的。对社区成员所作所为的关注,以及对他们的赞扬和对其工作的认可才是最大限度促进他们参与的关键因素。"
有鉴于此,Neary认为让任何外包公司成功地形成任何工作活力是非常困难的。他说:"许多优秀公司中的情况已经再明显不过了,员工在这些公司中被当作家庭的重要成员,而不是人工-小时。与印度和中国来的那些拿低于最低工资的博士相比,这些公司的员工所做的贡献毫不逊色。"
来源:网界网