关于团队文化

在上一篇关于SQL Server中国研发团队的文章中,我提出“文化”是团队建设中领导层面临的最重要的挑战之一。我们如何确保团队伴随着“正确的”文化而成长?究竟什么才是“正确的”文化呢?在这篇文章中,我想比较深入地探讨这个问题。

让我们首先从“文化”这个词的定义谈起。韦氏词典将“文化”定义为:
主条目:culture  读音:['kʌlʧə]
功能:名词
词源:Middle English,cultivated land,cultivation,from Anglo-French,from Latin cultura,from cultus, past participle
综合的人类知识、信仰和行为的一种模式,这种模式取决于学习能力和传播给下一代的能力 b:一个种族、宗教或社会团体的习惯信仰、社会形态和物质特征 c:一个机构或组织特征性的一套共同的态度、价值观、目标和实践  d:与一个特定领域、经济活动或社会特征相关联的一套价值观、约定或社会习俗。

如此说来,文化是指共同的态度、价值观、目标和行为。每个组织都有一种文化,无论这种文化是刻意培养出来的还是自然演化而来的,或是这二者的结合。有时候,一个组织会很明确地用语言描述出他们希望培养的价值观和文化属性。但是,大多数人都无法理解甚至不记得一个组织“强制”的文化应该是什么,这一点并不让人惊奇。我们每个人都伴随着某种文化背景成长,但估计很少有人会说,他们是通过阅读一份文档中的价值观描述而获得这种文化倾向的。多数人都是通过日常生活汲取文化营养,包括每日体验、行为、反应、正面或负面的反馈和累积,并且从接触到的不同的社会角色像我们的长辈、上司及同事感受文化影响。随着时间的推移,这些价值观念和行为模式就根植在我们的脑海中,我们自己也成为 “已有文化”的一部分,并开始向组织内的其它人传播这种文化。

研究显示,无论是个人抑或团体、组织,一旦染上某种文化就很难改变或“去除”。同时,就长期影响而言,要区分成功的组织和平均或低于平均水平的组织,“文化”元素是一个更可靠和更重要的衡量因素,其可靠性和重要性远远超过商业策略、一项具体的技术或流程优势,甚至超过特定的领导力优势,不论这种领导力是如何有魅力或富有远见的。恕我直言,这就是为什么让一个团队伴随着“正确的”文化起步是如此重要,不论每个组织如何定义“正确的”文化。

对一个像SQL Server中国研发团队这样的组织而言,显然很多“正确的”文化是遵循我们位于雷德蒙的“母团队”而来的。当然,这是在中国,我们会理解和适应以使我们自己的本地特色融入到文化中。但一些本质特征仍然是从雷德蒙的母团队中继承而来的,正是这些特征界定了我们是谁,以及我们的行为特征。那么,这些所谓的“SQL Server文化”是哪些呢?很难为这个积累多年的文化给出准确定义或归结为几个关键点,但我尝试在这里列出几点我认为是SQL团队文化的核心:

系统文化

我们是一个系统的团队。我们创建关键业务平台软件,数以万计的组织利用我们的软件建立和运行关键业务应用,而这些应用又被全世界范围内的数万人群使用,一天24小时,一年365天地不间断应用。我们开发的软件有着数年的生命周期,实际上往往是几十年。任何错误或弱点,无论它存在于我们的设计阶段、实现阶段或流程、方法学中,都可能而且肯定会被表现出来。所以对人的素质要求门槛很高!在这种环境下要取得成功,我们需要一种专业级工程师的思维(见下文)。业余选手不适合!

IC文化

建设关键性系统软件是需要数年时间来学习的。我们常常在招聘工程师时告诉他们,尤其是对那些刚从大学毕业的人们,甚至要3到4年后他们才能真正在岗位上完全发挥生产力!虽然这听起来有点夸大,事实上是真的如此。工程师要学会客户需求的是什么,如何将其转变为一个产品或功能,什么是好的设计与坏的设计(或伟大的设计),如何权衡利弊,如何有效地撰写强大、安全、可靠、高可扩展性、高性能的代码,而且要易于维护和易于获得领域内的支持,要以有效的方式与团队一起工作,所有这些是需要数年之久才能学会的。这是一个由聪明的新的毕业生转变为专业级工程师的过程,这中间不存在任何捷径。

那么什么是IC呢?IC是微软术语,指个体贡献者(Individual Contributor,简称IC),与领导或经理相对应。在我们这样依赖高度技术技巧与知识的事业中,我们要非常重视个体贡献者。如果每一个聪明的工程师都打算在自己四年职业生涯后停止做开发而仅做管理工作,我们是无法建立像SQL Server这样的产品的。我常常列举这个统计数字:微软全球范围内有几十个或许数百个副总裁,但只有14个院士(我们很幸运,有2个院士在SQL Server)。我的意思并非是说副总裁不重要,但在微软,当然在SQL Server部门也绝对如此,我们非常重视那些愿意将整个职业生涯贡献给技术开发的人。在某种意义上说,比尔盖茨就是一个终极IC,当然他有下属,但他的主要角色是公司的首席软件架构师,帮助把握公司的未来技术方向。在微软,无论怎样强调IC角色和深厚技术知识的重要性都不过分。

事实上,我相信这一点是基础的基础,以至于我此刻想谈得远一点,而并非仅指SQL Server、微软或任何特定的公司。在我亚太区的旅行中,许多人表达了这样的信念或希望:亚太地区作为一个整体(尤其是几个特定国家如中国和印度)在世界经济体系中应该越来越多地承担起技术领导地位。显然,亚太地区有着丰富的人才,为这种可能提供了必要的条件。不过在我看来,同样毫无疑问的是,如果亚太地区真的要做到这点,即由在这里的实验室和公司主导长期的产品线和产业创新,就必须要创造一种重视深度技术成就的文化。在目前的环境下,当我和大学生们谈起他们的职业抱负时,10个里面就有8个想在毕业的几年内成为管理人员。说实在的,我们无法期望在这样的基础上建立下一代的技术领导地位。我认为就整个亚太区生态系统而言,而不仅仅是指某一特定公司或团体,建立一种重视深厚技术知识和IC的文化是势在必行的。

创新文化

数据库产业是一个成熟的一个产业:30多年的历史,每年全球超过200亿美元的年收入,人们很容易认为在这个阶段创新不再是这个产业驱动性的力量了。这样想就大错特错了!在之前的文章从数据库到全面的数据平台,我描述了该领域面临的前所未有广度和深度的挑战。为了应付这些挑战,创新必须是我们基因中的一个核心价值观,否则我们将很快没落。创新是可大可小的,技术上的创新或流程上的创新,但创新必须是深入到每个员工的日常生活和呼吸中的价值观。SQL Server有着创新的传统,甚至从根本上改变了这个成熟的产业,包括领先的易用性和自动化管理、在核心平台上集成BI功能、显著的简化开发者体验等。今天,我们继续着这一传统,在下一版本的SQL Server中有着许多突破性的创新如实体数据模型等。我们绝对需要在未来发展中继续注重创新。

聚焦客户

在今天这种超级紧迫的环境中,很容易仅仅关注竞争对手而忘记了客户。但至关重要的一点是,只有服务好你的客户才能击败竞争对手,而不是相反。聚焦客户,这不是某一个特殊部门或角色的工作。当然,公司肯定设有专门面向客户的部门,像我们的客户支持服务(Customer Support Services,简称CSS)和其他各种领域的组织。但聚焦客户是组织中每个人工作的重要职责。无论你是一个开发者、测试者、项目经理、架构师、甚至管理人员,不知道客户最终想要的是什么,你不可能做好你的工作!没有比失去与客户的联系更容易在行业里落后的了。在我们的团队中,每一个成员都有一项强制性的工作,那就是花一部分时间在客户上,不论是通过新闻组、论坛还是参加客户会议,或其他各种方式。

做正确的事

我可以继续讨论一些SQL Server和微软重视的其它价值观,例如尊重多样性、开放性、诚实但尊重、接受大挑战等,虽然这些都是非常棒的价值观,我们的确非常重视,但如果你什么都谈了,那就等于什么都没谈。所以我想以一个简要的价值观来总结,我称之为“做正确的事”。这听起来可能有点蠢,但这却是我们在SQL Server团队赖以为生的价值观。无论工作内容是关于顾客的,关于产品的,或是一个内部问题,这是指导我们日常工作的座右铭。我想举几个例子说明。我敢肯定,每个SQL Server客户直到今天都还记得Slammer蠕虫病毒。这一事件彻底改变了我们SQL Server团队的软件开发方式。当蠕虫病毒来袭时,我们其实刚刚通过一轮安全压力测试并发布了SQL Server的SP3,SP3实际上修补了蠕虫病毒所利用的漏洞。然而,一旦事情发生了,问题不再是我们是否已经发布了补丁。我们必须帮助客户备份系统,尽快地以安全的方式恢复系统运行。就短期而言,SQL Server团队费了很大力气给出工具和指导方针,帮助顾客恢复自己的系统。但我看到的是我们努力所带来的长期变化,我们开发过程的变化、我们备灾的变化、我们整个安全方针的变化。在过去几年中,这些努力的结果已经证明了自己,SQL Server已经证明自己是市场上最安全的产品之一。这意味着我们将不会再有弱点或漏洞吗?显然,答案是否定的。然而,我们可以说的是,我们每天都在努力着,努力使这种事件发生的可能性尽可能降低;而且如果这样的事件再次发生,我们已经在时刻准备着响应。

我想举的另一个例子是SQL Server 2005中的数据库镜像(Database Mirroring,简称DBM)功能。DBM是该版本中最重要和最受欢迎的功能之一,显然我们面临着压力要发布该功能。然而,快临近SQL Server 2005发布时,情况变得很清楚,我们没有时间把这个功能放到产品中了(无论是在微软内部或一些选定的客户那儿)。像DBM这样关键的功能,我们需要一段时间来证明它已经足够在生产环境中应用。所以,我们面临艰难的抉择,延迟发布或无论如何都要发布DBM或者把DBM从该版本中去掉。这几个选择没有一个是容易的,如果容易,我们就不会在这儿谈论它们了。但最后,我们决定正确的做法是先发布SQL Server 2005但并不标明DBM符合生产环境使用标准,在随后的时间完成产品测试,然后在SP1中标明DBM符合生产环境使用标准。当然,短期内该决定也带来了一些痛苦。但现在回头看,客户会告诉我们,他们欣赏我们的加倍小心和努力,以确保这项功能在他们投入生产使用前是完全合格的。

但愿这两个例子能让你知道什么是我们所说的“做正确的事”,实际上还有很多此类的例子。这篇文章已经够长了,就不再举例了。我希望大家都能明白,当我们提到“SQL Server文化”时它意味着什么。要确保我们SQL Server中国研发团队在未来几年中伴随着这种根深蒂固的文化印记一起成长,这是一个有意义的挑战。也是我们决定建立这个团队时所制定的核心承诺的一部分。

下次再聊 —加油,再见!

Prakash(孙博凯)