本节书摘来自华章出版社《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一书中的第1章,第1.2节,作者[美]迪恩·莱芬(DeanLeffingwell),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2 实践社区
聪明的人会从自己犯的错误中学习,更加聪明的人会从别人犯的错误中学习,最聪明的人会从别人取得的成功中学习。
—— 约翰 C. 麦克斯韦尔改编的禅宗谚语
摘要
实践社区(Community of Practice,CoP)是指在企业或者项目群的环境中,由团队成员和相关专家组成的非正式的组织,其使命是在某个领域中或者一些相关领域中进行实践知识的分享。实践社区既不是新兴事物,也不是敏捷开发所特有的。然而,通过精益的方法来协调优化价值流的交付是很有意义的。随着时间的推移,通常会让精益企业从垂直的职能型组织,转型成更加灵活的基于横向业务的组织,这样可以更快地交付价值。此外,SAFe在价值流内建立了持续的敏捷发布火车,敏捷发布火车由团队成员组成,并延续较长时间。在同一个组织中,工作在不同的项目群中的成员可能来自相同的部门,他们会经常见面沟通,而且由管理者和领域专家带领,提升相应的专业技能,在这种情况下,(不论是否已经组建起基于横向业务的组织结构),团队成员将如何工作呢?读者可以参考SAFe网站的CoP相关内容。(也可以参考Spotify公司的“行会”,参考资料[1]。)
详述
精益–敏捷提倡跨职能的团队和项目群,可以促进企业级价值交付。同样,精益思想强调围绕价值流将具备不同技能的人员组成团队。然而,开发人员需要与团队内外的其他开发人员进行交流,测试人员也需要与其他测试人员交流,产品负责人也需要与其他敏捷团队的产品负责人交流,等等。这对于在不同人员之间,将他们的经验和实践知识加以充分利用,显得十分重要。这同时也驱动了工艺的改进和持久知识的获取,并促进了新方法和新技术的采用。
实践社区支持这种跨团队的沟通,在职能团队和组织之间,通过非正式的工作小组进行有效的知识分享和探索,如图1.2-1所示。
组织一个实践社区
精益企业有能力识别那些可以通过实践社区获益的相关领域,当这些实践社区建立后,企业将对其进行培育和支持。
实践社区可以是临时组建的,但同样需要进行组织协调。实践社区可能是永久的,也可能是临时的,可以根据当前的需要和环境进行组建或者解散。例如,一个自动化测试实践社区可能会包含测试人员和开发人员,他们都对提升这方面的技能感兴趣。一个架构和设计实践社区可能会采用相关的实践,诸如浮现式设计、意图系统架构、持续集成和重构,它也可以支持构建和维护架构跑道,为测试和部署考虑相应的设计,也可以涉及旧平台的取代,等等。还有可以围绕着敏捷教练、持续集成、持续交付、编码标准和其他新实践与新流程建立起来的实践社区。同样,来自不同敏捷团队的Scrum Master,可能会组成一个实践社区,用以交流如何构建一个高效生产力敏捷团队的最佳实践和经验。
运营一个实践社区
实践社区可以根据成员的知识专业性进行定义。通常,每个实践社区都有特定的学习目标、路线图和待办事项列表。因为实践社区的成员可以担任不同的角色,有时也会出现新的需求,或者有些成员希望获得他们所需要的知识,所以,实践社区的成员是流动和变化的。实践社区也可以自发地形成和发展,虽然有时候会有一个领导者或者Scrum Master(等同于Spotify中的行会协调人的角色)进行组织协调,但实践社区基本上是高度自组织的。不同的实践社区可以定期交流,组织知识交流会,并维护和发展自己的社区网站,把知识系统化地记录在内部wiki系统上。只要成员觉得能学习知识或者能贡献知识,实践社区就可以存在。
然而,实践社区建立的目的是为了学习知识和交流经验,而不是协调工作中的依赖关系和当前任务的执行。
例如,一个Scrum Master的实践社区可以组织学习引导技术,而实际的协调工作和依赖关系管理,也可能是实践社区中的这些Scrum Master通过Scrum of Scrums会议进行的。
无论是正式的还是非正式的,创新与计划迭代(SAFe中的IP迭代)都是实践社区进行学习分享的最佳时机,同时也包含其他的一些活动,比如编码道场、教练诊所等。
精益–敏捷领导者需要鼓励和支持员工的改进意愿,因为这对企业有帮助,也对构建知识工作者的内在动力有帮助,同时也在SAFe的第9个原则里有清晰表述:去中心化的决策。
参考资料
[1] Scaling Agility @ Spotify with Tribes, Squads, Chapters, and Guilds. https://dl.dropboxuser-
content. com/u/1018963/Articles/SpotifyScaling.pdf.