思步网

查看: 35976|回复: 53
打印 上一主题 下一主题

Coding Dojo -作者Daniel Teng

  [复制链接]
转一份博客:来源http://www.cnblogs.com/tengzy/archive/2010/06/02/1750281.html

这个星期在团队里面搞了一次Coding Dojo,每个人都从中学到了很多东西,效果十分不错,因此我想分享一下。
什么是Coding Dojo?
Coding Dojo是一个学习的过程。一些程序员(通常是15-20人)在一起编程解决一个程序问题。一边编程,一边互相学习。每个人可以从Coding Dojo中学到:解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成等等。其实即使从别人犯的错误中,我们也能够学到很多。
组织
一周以前组织者会发出邀请,同时给出所要解决的问题(比如我们这次决定实现一个JSon Parser)。以下是我们的议程:
  • Coding Dojo以及原则介绍 - 5分钟
  • 问题介绍 - 10分钟
  • 2个时段的结对编程 – 20分钟 × 2
  • 中断(所有人一起讨论一下当前的解决方案,以及下一步方案,注意事项)- 10分钟
  • 2个时段的结对编程 – 20分钟 × 2
  • 反省 - 10分钟
会议室组织方式

在会议室中间有两个人结对编程,一个是驾驶员(Pilot),另一个是领航员(Co-pilot, Navigator)。周围坐的都是顾问(Advisor, Sensei),前面是投影仪。
Coding Dojo中的角色
教练(coach)帮助维护秩序,引导大家
驾驶员(Pilot):负责具体实现,边写代码,边要把自己的设计意图大声说出来
领航员(Co-pilot):负责帮助驾驶员进行设计,负责控制设计的战略方向
顾问(Advisor):坐在周围,通过投影仪观察当前的进展,可以提出问题,但是不能给出方案。驾驶员与领航员必须先回答顾问的所有问题,才能继续写代码。
一些原则
  • 不要讨论太多,先写代码
  • 写代码之前,先写测试
  • 每个人都能从其他人身上学到东西,哪怕是错误
  • 所有人参与写代码
  • 如果你知道好的方案,分享给大家
  • 顾问只能问问题,不能提方案,驾驶员和导航员必须回答所有问题
我们的Retrospective
  • 导航员应该更多帮助驾驶员
  • 在同一个时段内导航员和驾驶员应该多切换,当然另一个方案是每次替换结对的时候,替换导航员,然后让原来的驾驶员成为导航员引导下一个驾驶员
  • 顾问应该保持耐心,减少对驾驶员和导航员的干扰
  • 减少私下讨论
  • 驾驶员应该大声把设计意图说给大家听
  • 实现的Test Case应该事先明确
  • 每个人应该尊重驾驶员和导航员,虚心学习
  • 使用代码库
  • 频繁签入代码
  • 重构不够
  • 每个人做驾驶员的时候使用自己的环境,使用熟悉的工具。其他人也可以学习他的技巧以及工具
  • 重构的时候,跳跃太大
  • 使用标准键盘
  • 更多的面向对象设计
  • 使用Pomodomo作为时间箱,但是使用一个Range(20分钟 +/- 五分钟)而不是一个点
  • 鼓励每个人参与
  • 教练确保会议秩序
  • 替换结对的时候确保所有的测试通过。



上一篇:从大团队的计划过程 看敏捷生态系统 ( 陈勇)
下一篇:PM是否适合担任Scrum Master
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

哦啊,新的培训方法
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
很有借鉴意义,先收藏了,谢谢楼主。
这么强,支持楼主,佩服
好帖是需要鼓励的~
好帖是需要鼓励的~
很有见地的探讨,先收藏着~
这么强,支持楼主,佩服
很有借鉴意义,先收藏了,谢谢楼主。
打酱油的人拉,顺便赚点金币
我也来顶一下..
还不错哦,如果再能多分享一些就perfect了!
好帖是需要鼓励的~
您需要登录后才可以回帖 登录 | 注册

本版积分规则



思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部