在最近Leading SAFe培训当中,围绕敏捷发布火车(Agile Release Train,ART)讨论了蛮久。其历史前后的变化给不少人带来混淆。
敏捷发布火车(Agile Release Train,ART)是一种基于敏捷思想的软件发布模式,它将多个开发团队协同起来,按照固定的时间间隔(通常为几周或几个月)发布软件产品或服务。敏捷版本火车可以理解为一列火车,每一节车厢可以认为是一个团队,多个团队在同一个火车上。
大概在2015年以前,ART确实缺省按PI发布,一个PI典型是10周,可以形象地理解为这列火车沿着产品路线(Roadmap)行进,途中会设置有火车站(Program Increment,项目群增量),到达每一站,每个车厢的团队就把自己的交付物(Product Increment)交付出来,这样每一站都会有团队的产出以及项目群层的产出。如果错过第N个PI时间点,那么就得等下一个PI。
当初敏捷版本火车的目的是为了提高软件开发和发布的效率、质量和协作,使得软件产品或服务能够快速地适应市场和用户的需求变化。敏捷版本火车的优点有以下几点:
• 它可以保证发布的时间和质量,让用户和客户能够预期和信赖软件产品或服务的更新。
• 它可以促进多个团队之间的沟通和协作,避免重复工作和冲突,提高资源利用率和协同效率。
• 它可以鼓励团队持续地学习和改进,通过定期的回顾和反馈来优化软件开发和发布的流程和方法。
但是注意,当时其对应改进的情况是每半年以上发布。
随着时间推移,最新SAFe推进到Release on demand-按需发布,对比每10周发布,是提升了2个数量级!
目前常见的敏捷发布火车发布频率是每迭代发布,也就是双周发布。
最新SAFe6里面把原来的“Program Increment”改名为Planning Interval,典型仍然是5个迭代组成一个PI,但注意不再使用Increment,因为每次发布都交付Increment,不再是PI的专利。
从这个角度讲,火车的隐喻已经有点不那么契合最新的Release on demand,但由于历史原因沿用下来,作为SAFe的核心概念,估计Agile Release Train - ART这个词汇应当长期保留下去。