33
分布式开发实张凯ThoughtWorks 1 Thursday, May 17, 12

分布式开发

Embed Size (px)

Citation preview

Page 1: 分布式开发

分布式开发实践张凯峰

ThoughtWorks

1Thursday, May 17, 12

Page 2: 分布式开发

提纲• 分布式开发的优势

• 分布式开发的挑战

• 分布式开发的经验

2Thursday, May 17, 12

Page 3: 分布式开发

定义

• 研发团队

• 跨多个地区

• 区别于外包和虚拟团队

3Thursday, May 17, 12

Page 4: 分布式开发

为什么会出现分布式

• 资源

• 客户• 成本

4Thursday, May 17, 12

Page 5: 分布式开发

分布式开发的优势• 降低开发成本• 24*7开发周期

• 利用全球人才库• 本地化及当地市场

• 减小对单一人才市场的依赖

5Thursday, May 17, 12

Page 6: 分布式开发

分布式开发的挑战

•物理距离导致协作不畅,增加误解风险

•代码依赖和系统集成

•跨区域维护团队和工程纪律

6Thursday, May 17, 12

Page 7: 分布式开发

ThoughtWorks

7Thursday, May 17, 12

Page 8: 分布式开发

ThoughtWorks的经验

8Thursday, May 17, 12

Page 9: 分布式开发

项目启动

• 启动会议• 团队搭建• 沟通协定

9Thursday, May 17, 12

Page 10: 分布式开发

项目启动之启动会议

10Thursday, May 17, 12

Page 11: 分布式开发

项目团队之团队搭建

• 两地均设立BA,并定期交换

• 设立PO的代理角色

• 按照功能而非活动组织团队

11Thursday, May 17, 12

Page 12: 分布式开发

非功能团队Dysfunctional

Testers

Analysts

Testers

Analysts

Developers

Developers

Developers

Developers

Location 1 Customers

Customers

Customers

Customers

Location 3

12Thursday, May 17, 12

Page 13: 分布式开发

半功能团队

Developers Testers

Customers Analysts

Functioning

Developers Testers

Customers Analysts

13Thursday, May 17, 12

Page 14: 分布式开发

全功能团队

Developers

Customers

Testers

Analysts

Developers

Customers

Testers

Analysts

14Thursday, May 17, 12

Page 15: 分布式开发

项目启动之模拟分布式开发

• 在不同的楼层工作• 在不同的会议室开会

15Thursday, May 17, 12

Page 16: 分布式开发

项目进行中

16Thursday, May 17, 12

Page 17: 分布式开发

项目进行之站立会议

• 大团队拆分为小团队,分别做Standup

• Super Standup

17Thursday, May 17, 12

Page 18: 分布式开发

项目进行之视频会议

• 大屏幕• 故事墙• 会议电话

18Thursday, May 17, 12

Page 19: 分布式开发

项目进行之即时沟通

19Thursday, May 17, 12

Page 20: 分布式开发

项目进行之同步视频• 两地配备即时影像• 独立麦克风

20Thursday, May 17, 12

Page 21: 分布式开发

项目进行之代码共有

21Thursday, May 17, 12

Page 22: 分布式开发

项目进行之轻量级文档

22Thursday, May 17, 12

Page 23: 分布式开发

项目进行之可视化

23Thursday, May 17, 12

Page 24: 分布式开发

项目进行之持续集成

•定期收集对需求理解和功能实现的反馈

•尽早发现和消除集成问题

24Thursday, May 17, 12

Page 25: 分布式开发

项目进行之测试

•用测试脚本表述需求

•开发前经过PO等利益相关人验证25Thursday, May 17, 12

Page 26: 分布式开发

项目进行之Puppy

26Thursday, May 17, 12

Page 27: 分布式开发

项目进行之Mingle

27Thursday, May 17, 12

Page 28: 分布式开发

项目进行之面对面交流

• 双向Travel

• 沟通协定

28Thursday, May 17, 12

Page 29: 分布式开发

项目进行之Showcase

29Thursday, May 17, 12

Page 30: 分布式开发

项目进行之回顾• www.edistorm.com

• 白板和便签贴• 分组和投票

• www.ideaboard.com

• Google Doc

30Thursday, May 17, 12

Page 31: 分布式开发

项目交付

31Thursday, May 17, 12

Page 32: 分布式开发

谢谢

32Thursday, May 17, 12

Page 33: 分布式开发

Distributed Models

33Thursday, May 17, 12