《致刘掌门的一封信》-- 关于团队的知识管理

 

刘掌门您好;

关于您提的问题我这几天抽休息时间调研了几位同学,对于大家所关注的问题和建议我大致整理了一下,有如下三个方面:

首先,我们需要明确方向,我们应该专注于哪些领域,对于所涉及的领域我们是应该更侧重于工程还是更应该侧重于研究。明确方向,说到底,就是对研究方向和工程项目的选择。对于工程项目的选择,这个咱们暂时没有太多的选择余地,只能说跟着国家863973项目走,所以具体的研究方向的话,最好是围绕项目提出,因为对于咱们做系统的人来说,很容易受到各种客观环境条件的制约,利用工程项目的现有环境,咱们可以很方便的对提出的理论观点进行实验。在调研中,大家一致认为实验室重工程轻研究的总体氛围不利于研究生的总体素质培养,这点是毫无疑问的,无论是研究还是工程都很重要。所以在目前不过多影响工程项目进度的前提下,应该引入一套完整的学生的学术能力培养体系。咱们可以从大研究方向中提出各个子研究方向(这个子研究方向必须是与项目相关的),然后可以为每个刚进组的同学指派一个,并给予一定的指导,作一些基本的相关背景知识的介绍。如果能够组成一个关于该方向的二人或三人兴趣小组,结对学习,那是最好不过的了。一是通过结对,效率更高,二是更利于团队知识管理(Knowledge Management)的积累和继承。如果学员在对所在领域有一定的了解之后,发现自己对该方向不感兴趣或者对别的方向更感兴趣,支持其自己选择并改变研究方向。还有有一些其他实验室的值得借鉴的做法,比如十楼的熊劲老师:对于每个刚进入实验室的学生,他们会为他准备一些相关领域基础论文集,比如像《文件系统经典论文三十篇》等,作为一种背景知识的补充。一般情况下人如果对一项工作了解的越多,他就会对该项工作更加的感兴趣;还有九楼信息安全实验室,他们每周都召开学习讨论班,讨论的内容或是关于所阅读领域中的经典论文,或是某本领域相关的经典书籍,在讨论交流中,大家可以消除对于知识的错误认识,并且可以加深对原理的理解和记忆。

 其次,对于新人的工程实践能力培养,关于这一点,大家都深有体会。因为咱们对于新人的工程指导没有一个系统的体系。所以大家在最初从事系统开发时都觉得有点无所适从,不知道从何下手,以至于走了很多的弯路,也“重复发明了很多轮子”,这对于团队总体效率的提高是不利的。所以在工程上对于新人的话,主要是对其背景知识和相关技能的补充。方式可以有Mentor制度,可以有集中的文档,可以有扫盲交流会。其中Mentor制度我觉得实现起来可行性比较低,因为在给mentor任务分配未减轻的情况下,会给其带来过重的负担。文档是个比较好的方式,但主要是要有个集中式管理,方便查阅,并且层次分类比较明晰的文档管理系统,并且要有Guideline提供路线图作为导航,指导新人一步步的去学习,这个集中的文档管理系统的索引咱们可以充分利用wiki加关键字(key words来实现,也可以用文件系统的目录树来实现,也可以用其他工具,总之必须形成一个明晰的分类和层次,并且方便检索。在所使用的文档的选择上,必须是与系统设计与实现相关的文档,其描述的知识必须能够帮助新手了解到整个系统的体系架构,模块功能,系统层次,以及模块之间或者层次之间的接口,它可以是书籍(标清章节),论文,项目设计文档,网上论坛或者博客文章等等。举例来讲,在咱们的系统中,对于文件系统方面,需要了解整个系统的体系架构,NFSv4.1的协议,Linux内核中 VFSPage Cache,块设备接口,文件IO读写路径,IO调度器,IO Multipath 等等内容,以及对特定文件系统Exfs的特性和接口上的了解和对pNFS特点以及源代码的阅读等等。最后一个方式是扫盲交流会,这个主要是对组内的新成员进行一些扫盲交流会,由有经验的成员传授背景知识或者开发技能,这个交流会的举办意义不但是能帮助新手更加的了解系统,也能够帮助老手重新梳理知识层次,加深理解,并且能帮助其对知识的内化。

最后一点是关于知识管理的(Knowledge Management),关于这点有几位同学觉得,在咱们团队中,知识并没有被很好的积累。也就是说,知识并没有很好的被继承下来,而是作为个人的一部分,这样随着成员的毕业离开,其在实践中获取的宝贵经验和知识将随着他一起离开团队。这对于团队来讲是一笔很大的损失。所以咱们必须有一套机制来尽量减少这种损失。我觉得其关键在于首先需要将知识以文档的形式持久化保存积累起来,然后需要将知识在团队中尽可能的广泛传播。文档和技术沙龙的方式上面都有提到,但这里的技术沙龙不同于上文所述的扫盲交流会,扫盲交流会是在新人进入团队初期高频的密集举办的,而技术沙龙是定期的举办的,演讲题目可涉及高级话题也可涉及基础背景知识,关键是要让成员能主动参与进来分享知识和经验。还有种方式就是鼓励成员通过写技术博客来达到分享知识的目的,还可以再此基础上创建团队博客聚合点,将团队成员的精华文章聚合到上面来。这些方式都强调了主动分享的重要性,因为存在于文档之中的知识只能称之为显性知识,而团队知识中关键的那一部分却是存在于成员头脑之中也就是隐形知识,主动分享的目的就在于将这部分知识以一种客观媒介作为载体使其称为显性知识,并且更重要的是能使得这些知识被团队其他成员更快更好的内化。分享还能使得分享者能在那些分享过程中(比如写博文,作演讲,进行现场指导等等)能纠正自己原先的一些错误或者诠释自己原先遇到的一些疑惑,能高效率的对知识进行内化。但实现这些方式的关键在于怎样让成员能主动的分享知识,这个外部激励机制尚待研究。但是一旦成员能体会到分享知识的快乐,他就能够依靠内部刺激持续的坚持下去。如果能达到所有成员都能自发的学习和分享知识,这样一个能自我学习的团队就建立了。能构建一个能够自我学习和自我组织的团队,也就达到了敏捷开发实践中的最高境界。

 

posted @ 2009-12-30 19:46 流浪de小F 阅读(132) 评论(0) 编辑 收藏