全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
银⾏行中的跨国研发团队如何快速交付
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
摘要
银⾏行中的跨国研发团队如何快速交付
• 对于⼀一个全新招聘的跨国团队,采⽤用⼤大家没⽤用过的
敏捷⽅方法来研发⼀一款创新的⼿手机银⾏行产品,这个
“三新”项⺫⽬目看起来就是⼀一个不可能完成的挑战。
• 该⼿手机银⾏行项⺫⽬目是在已有的⺴⽹网上银⾏行产品基础上,
试图对不同国家的业务提供统⼀一的⽤用户体验。原来
的项⺫⽬目代码存在⼤大量分⽀支,由多个跨国团队分别维
护,维护成本⾮非常⾼高。在新的项⺫⽬目中,我们的期望
是加速交付新项⺫⽬目,降低已有国家的维护成本。同
时建⽴立标准化的知识基线,使不断加⼊入的新⼈人能够
快速融⼊入团队。
• 在该案例中,项⺫⽬目管理⼈人员和敏捷教练根据现状制
定策略,然后设计架构,并由此产⽣生适合团队的协
作模式,从这三部分⼊入⼿手来打造团队。
• 敏捷产品交付与组织转型是需要从多⽅方⾯面⼊入⼿手的尝
试,除了关注流程,我们认为软件架构也决定了技
术⽅方⾯面的灵活性,特别是主干开发的尝试。⽽而团队
技能、意识与协作沟通更是起着⾄至关重要的作⽤用。
• 经过努⼒力,由于所有分⽀支遵循同⼀一设计,因此⼀一个
改变可以⽴立即应⽤用到所有分⽀支,约50%的代码得到
重⽤用。不仅提⾼高了上线速度,还使得团队成员之间
更好地共享知识,相互⽀支援。
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
创客、软件咨询顾问、敏捷
教练。致⼒力于启发创意、促
进协作、交付价值的事业。
敏捷和软件社区组织者、讲
师、践⾏行者。
曾在诺基亚⻄西⻔门⼦子通信、渣
打银⾏行担任研发经理、项⺫⽬目
经理、Scrum
Master、⾼高级⼯工
程师等职位,⾃自2007年开始
实践Scrum。
@申导
个⼈人⺴⽹网站
申健
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
案例 • 全新的银⾏行跨国团队
• 全新的敏捷开发⽅方式
• 全新的移动⾦金融产品
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
现状
• 不同的国家在⻚页⾯面体验、业务
逻辑、关联系统有所不同
• 不同团队维护不同的项⺫⽬目分⽀支
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
目标
新⼀一代⼿手机银⾏行的⺫⽬目标
• 统⼀一不同市场的产品体验
• 快速交付
• 降低已有项⺫⽬目的维护成本
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
基于分⽀支的开发
• 好处:
–每个团队可独⽴立地开发,
互不影响
• 坏处:
–重复意味着浪费
–维护成本上升
–引⼊入⼈人⼯工错误
–给测试留的时间少
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
如何做到
1.策略
1.涌现式设计
2.基于主干开发
3.持续集成
2.架构
1.以抽象模拟分⽀支
2.提⾼高可测性
3.构建脚本
3.团队
1.闻名不如⻅见⾯面
2.可视化
3.虚拟架构团队
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
策略-‐涌现式设计
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
策略-‐基于主干开发
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
策略-‐持续集成
• Lint
• Unit
test
• Aggregate
• Compile
templates
• Copy
• Compass
• Uglify
<15秒
<5秒
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
架构-‐以抽象模拟分支
API
Account
History
HK IN CN
Transfer
HK IN CN
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
架构-‐提高可测性
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
架构-‐灵活构建
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
团队-‐闻名不如见面
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
团队-‐可视化
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
团队-‐虚拟架构组
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
愿 景
曾经还尝试过什么但失了败/放弃了,
以及未来想尝试什么
• RUM
• ⾃自动化部署
• 更多的集成⾃自动化测试
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
收益
• 所有国家遵从同⼀一设计
• ⼀一个改变⽴立即对所有国家有效
☺
• ~50%
可重⽤用的代码,减少重复⼯工
作,加速上线
• ⼀一键签出,快速打包,即可⽀支持⼀一个
新的国家项⺫⽬目
• 容易理解的代码库结构
• 不同团队可互相⽀支援
0%
13%
25%
38%
50%
2 countries 3 countries 5 countries 8 countries
Trunk based
Branch Based
全
球
软
件
案
例
研
究
峰
会
100
CASE
STUDIES
OF
THE
YEAR
实践
案例启⽰示
平台可⾏行⾛走⾻骨架 变体