【IT168 分析评论】
支付宝的研发体系是从自身实际出发制定的,既要保障产品的高品质,又要保持对业务变化的快速响应,加上协调多个团队高度并行开发的需要,整套研发体系是一个精心设计的严谨结构,也是比较重量型的。但还是可以从中找到敏捷方法中的一些重要元素
首先谈谈迭代。支付宝技术架构是采用与业务发展齐肩并进的策略,这个过程就像给F1比赛中的赛车换轮胎,所有架构改进的实施必须安全快速,尽量不打断正常的产品研发的节奏。因此,在确定技术架构的基本发展方向或者基础设施产品的蓝图之后,会将研发工作切分成很短的迭代,每一个迭代的目标明确,一般只解决少数几个技术问题。以引入企业服务总线为例:
第一个迭代的任务是调研,目标是概念验证与产品选型;
第二个迭代是试水,我们选择了一个新的业务产品作为服务总线应用的小白鼠,当时的目标是解决高可用部署模式问题以及集成逻辑的统一管理问题,架构师进入到该项目中,通过服务总线提供该产品与其它系统的集成方案,这个迭代与新产品发布的同时完成;
以后的迭代是一系列推广使用的迭代,几次之后,完全替换了原来不够灵活的商用JMS服务器集群,并且整个技术团队可以不依赖架构组使用服务总线了;
再以后的迭代是服务总线的自身的改进,如QoS的改进服务治理功能的增加等等。
采用这种方式,每一次迭代都有实际可运行的产出,并且其结果可以作为选择下一轮迭代目标的依据。以这种模式,架构发展以一种稳健的方式小步快跑着,但与有些敏捷方法学建议的固定迭代时长有些不同,当搭顺风车时,是宿主项目的规模决定迭代的时长。
对于长周期的项目或者需求难以在初期完全确定时,在一个项目内部也设计一些迭代,开发人员增量地交付功能,测试并行进行功能验证。
保证高效的沟通是另一个重要的问题,这通常是采用我们俗称为闭关的形式来解决的。项目上到一定规模,就会包下一个会议室,项目经理架构系分开发测试等人员都会坐在一起,保持沟通的高效率,也减少不必要的干扰。畅通无阻的沟通以及项目经理在场的协调管理是这种工作模式能够顺畅运转的关键。