你的软件组织是该领域的专家,为了更好的管理这些领域知识,你需要一个知识管理和分享的有效的系统,包括简单的问问题到复杂的教程和课程。最为重要的是要形成一种学习的文化,无知并不可耻,不学习才是。
组织内学习的主要挑战有:
缺乏心理安全保证 (开发人员害怕别人知道自己不懂)信息孤岛信息碎片信息冗余信息偏差单点故障 (信息是在某人的脑中)要么什么都懂,要么一无所知盗版 (只知道ctrl-C + ctrl-V 的码农)闹鬼墓地 (没人敢碰的死代码)哲学
组织的成功依赖于旗下人员的成长。
知识不能只存在专家的脑子里,这种模式不能上规模。
文档化的知识可以更好的上规模。文档的缺点是更为泛化,不像你问专家那样可以专门针对你的问题来解答。
心理安全
心理安全是非常重要的一步,让人们觉得承认自己无知或者犯错误是很正常的。这一步是成为高效团队最为重要的一部分。
要做到心理安全,有一个Recurse Centre的社交准则:
禁止不真诚的惊讶 (“你怎么连这个都不知道?”)禁止卖弄式的纠正 (“实际上应该是这样的!”)禁止不经允许打断别人禁止偏见 (“我奶奶都会写这段代码!”)知识构筑
知识分享的前提是你要从自己开始构筑。有一些准则:
问问题, 你知道的越多,你所不知道的也就越多理解上下文规模化你的问题:提问社区
通过以下的渠道来获取知识
群聊邮件列表问题平台 (stackoverflow,知乎)扩展你的知识 : 教别人
通过以下的方式来分享你的知识:
上班时的分享技术论坛或课程写文档,博客写代码扩展组织的知识
为你的组织创建一种知识分享的文化。
尊重,尊重知识分享的人刺激和认可,给予知识分享一定的奖赏构建信息的权威来源,包括开发者指南go/ 链接代码实验室静态分析持续的关注和反馈新闻社区代码可读性:通过代码评审来标准化
在谷歌,可读性不仅仅指的是代码的可读,它是一种标准。它涵盖了:代码规范,代码结构,API设计,公共库的选择,文档,测试覆盖等等。
在谷歌每一个提交都需要经过有代码可读性认证的开发人员的批准才行。在谷歌有1-2%的开发者拥有这样的头衔。
代码只写一次,但是会被阅读很多次。
一个主要的好处是可读性高的代码可以让工程师了解到别的团队的知识。
一致性高的代码可以保证让阅读的工程师专注于程序的内容,而非思考这些代码为什么风格不一致。
总结
知识是软件组织最大的财富,知识分享使得组织能够应对变化带来的挑战。好的知识分享的文化使得组织得以扩展。知识分享是组织能够获益的一种有效投资。
联系客服