说到敏捷,很多朋友谈到Scrum, XP,RAD, Kanban等等,前面还有位PMO朋友谈到如何实行Scrum. 本文主要围绕企业级项目管理体系的角度,谈谈scaled agile framework为基础的hybrid project methodology,与各位项目管理同仁一起探讨。
1. 大型企业的IT组织结构漫谈
第一个想谈谈大型企业的IT组织结构。这个与项目交付模式,管理方式很有关系。试想,京东,沃尔玛等大型零售商,有许多不同的IT团队负责不同的系统,比如电商,门店系统,内部的供应商物流,采购,财务系统,乃至HR系统,因为零售商的员工数量与类型还是很多的。 从公司的整理角度,或者说从IT高级管理层的角度看,不可能是只有一个敏捷团队交付所有的系统。每一个系统的交付频率,方式可能很不一样。或许电商系统,每周发布版本,供应链系统,每月发布版本,采购,财务每季度发布版本,而HR系统每半年发布一个迭代。有的发布,只在一个系统内部解决,比如电商的促销,而有的可能是牵一发动全身的,比如大型零售商要拆分公司,进行避税或者资本运作。你不见BATJ下其实有几十到几百家不同的公司?
所以,大型企业的IT组织结构,决定了不同与简单的用Scrum或者某一个单一的项目管理模式。
2. 从Scaled Agile Framework说起
Scaled Agile Framework(简称SAFe)是知识性组织的管理与工作流模型。它是Scaled Agile,Inc的注册商标,能够被广泛的免费使用。它的目的就是用来指导企业扩展敏捷的实践,用来解决上文中所谈的大型企业中多个敏捷团队协同工作的问题,与之相应的有许多类同的模型,如 Large-Scale Scrum (LeSS), Disciplined agile delivery (DAD), Nexus等等。
SAFe提倡在不同的敏捷团队之间要同步,协同,合作。这种模型是基于三个基本的思想:敏捷软件开发,精益产品开发与系统思考。主要的SAFe想法,最初是从整合系统思考框架,即工作流从产品管理,经过产品项目治理,管理团队,到达开发团队,最后产品发布给顾客的整个过程。在整个敏捷社区的帮助下,SAFe模型逐渐成熟,完善,并在2007年出版的首本著作。从此之后,这个模型框架不断发展,并被向公众发布,并同时有了面向第三方咨询顾问的相关的学术与资格认证体系。最新的SAFe版本是V4.5,是2017年6月发布的。
虽然SAFe是被谈论的最多的扩展型敏捷开发模型,但由于其由上至下的结构设计,经常被人质疑是否足够灵活,符合敏捷精神。
图1SAFe 体系架构
图1是V4.5版本的SAFe模型架构,它保留了Portfolio, Large Solution, Program, Team四层架构,整合了可扩展性DevOps,持续性交付,可配置性,实施指南,同时增强了用户体验,便于推向市场。在体系图的最下层是Scrum,Kanban等知识体系。很明显,它是PMI的项目集管理思想与敏捷实践的产物。
SAFe 框架在投资组合层由投资组合管理委员会(Program portfolio Manager)来负责定义和驱动投资策略如何形成和资金的组合形式,然后将其体现成为叙事诗(Epics)。一个 Epic 可以是一列单独的敏捷火车(Agile Release Train)来执行, 也可以是几个火车的组合。Epic 是直接面向客户的、设计架构级别的业务解决方案。
接着,在第二层计划层由产品经理(Product Manager)负责把等待安排的计划(Backlog)进行排序,并且把投资策略转化成具体的新功能(Feature),同时和业务负责人一起设计出项目的愿景和路线。
最后,在第三层团队由产品负责人(Product Owner)和团队成员根据上面的定义细化出用户故事(User Story)和验收标准,开发团队可以从候选的用户故事里面优先选择可以提前开始的内容,其余的留到故事池里面等待后续的选择。
由此可见,SAFe 从三个层面保证了团队和企业的投资组合的最终愿景一致。同时,在实施过程中,需要一系列的里程碑事件来保证最终的实现和高层愿景设计的持续一致。而里程碑事件的制定主要通过计划发布(Release planning)和系统的展示(System Demo)来保证。
SAFe 执行过程中,2个关键角色必须分清楚:
1) Scrum 火车 工程师 (Release Train Engineer, 简称 RTE)
2) Scrum 主 管 (Scrum Master, 简称 SM)
图2大规模敏捷火车Agile Release Train
图2显示的是基于 SAFe 的一个企业级的投资策略往往由多列敏捷发布火车(Agile Release Trains)来组成。
RTE 是一列敏捷火车(Train)总的 Scrum 主管,其中每列敏捷火车有一个 RTE 。请注意一列敏捷火车是由多个团队组成的。RTE 负责一列敏捷火车的总体执行,包括在执行过程中移除阻止火车前进的障碍,以及管理各个团队之间的集成(Integration)。而 Scrum 主管 (Scrum Master) 是团队级别上 Scrum 的负责人,确保 scrum 的正确使用并使得 Scrum 的收益最大化。SAFe 在计划管理面有一个时间控制,就是递增的 Sprint 计划(Program Increments,简称 PI), 用来对一列敏捷火车的提交和发布时间进行总体规划。而在团队管理层主要是通过 Sprint 来做为一个时间箱标准,一般一个 Sprint 为 2 到 4 周。
所有的敏捷火车都共享同一个发布项目时间表,比如在 2018 年的 4月份的发布是从 2017 年 12月 15 日到 2018 年 3 月 19 日,那么所有的敏捷火车都遵守这个项目发布时间表。在每列敏捷火车中,代码编写、提交和测试是基于单个 Sprint 时间范围内有节奏的进行,但是各个发布火车代码的最终发布和部署是根据实际情况来决定的。也就是说,并不是每个火车一定在 IP Sprint 后才可以发布。这里IP Sprint说的是IP (Innovation and Planning) Sprint,一般指最后一个Sprint。比如说,一列敏捷火车的代码在第二个 Sprint 可以完成,那么它就可以在第二个 Sprint 来发布。当然在部署到最终产品环境之前,一定要完成对所有的用户故事的验证测试。
显然,SAFe的前提是各个team都是用敏捷模式,比如Scrum,然后它提供了一种协调各个Scrum团队的框架,通过Agile Release Train来实现。但问题是,实际上每个团队,其实并一定是用敏捷方式的。
3. 企业级项目交付模式的探索
企业级项目交付模式,这个问题范围与层次,应该是CIO,CTO考虑的问题,笔者在这里提出,可能的形式应该是混合式的模式。因为对于企业来说,只要有财务,预算,就有计划。有创新性研发,就有敏捷。所以从上之下的Waterfall与Agile的结合,应该是个常态。不同的企业可能结合的程度与方式不同,又形成了自己的独特的模式。
作者:黄盛 PMP,PMI ACP, EXIN ITIL Foundation V3,ISACA CISA certified
职业:电商IT项目经理,有Global Delivery, Scrum, Kanban, Big Bang项目交付经验
电话:13601740984,邮箱:huangsheng2@hotmail.com
本文由@黄胜 原创发布于管理圈,未经许可禁止转载。