介绍的这个游戏是自己根据目前带的团队的实际情况来制定的, 在游戏实践过程中,收到了较好的效果,故打算把这个游戏分享出来,一是分享一下实践,而是集思广益,不断完善,更好的利用游戏来锻炼队伍。下面就将游戏规则,游戏制定说明,游戏适用人数,以及实践情况一一分享。

游戏规则:

  1. 团队成员自己排好顺序,轮流进行TDD。TDD三个环节中,只进行测试编写和实现两个环节,故意不设置重构环节。每个人每次只进行一个环节。以此类推。如果团队人数为奇数,则每个人每次进行的环节都会和上一次进行的不一样。如果为偶数,则要重新排列一下,保证每个人每次进行的环节和上次不一样。
  2. 不管是编写测试,还是实现,时间要求尽量在5分钟内完成。 如果完成了,得5分。如果没有完成,扣掉2分。
  3. 如果编写的测试有错误,其他成员发现了,则测试扣2分,发现者加2分。
  4. 如果因为测试步子太大导致实现没有完成,则扣掉编写测试的人2分。
  5. 如果实现或者编写测试的人,对代码进行了重构,则加2分。

以上就是整个游戏的规则。

规则设置说明:

  1. 采用TDD轮流的方式,已经有较多的人实战过或者了解过,再次就不多说明了。
  2. 限定时间,一是为了限定步子不能太大了,二是模拟实际工作中,项目进度压力。
  3. 故意不要重构的环节是为了检验是否有人会主动重构,这在项目中很重要。同时辅以加分引导重构。
  4. 其他的加分和扣分都是为了朝正确的方向引导。
  5. 多人进行轮流TDD,是模拟实际工作中,代码集体所有。

游戏适宜人数:

自己认为3-4人较好,人多了,节奏会没有那么快。

简要的实践情况说明:

  1. 这个游戏由团队5人进行的,在最开始几轮,每个人都有被扣分。团队协作不好,没有明确的目标,走一步算一步。
  2. 在这个过程中,不断有人挖坑,因为时间的关系,只有一个人重构过一次。但势单力薄啊。
  3. 团队的利益,和个人的利益相比,还是个人利益优先啊。
  4. 在挖坑和被坑过程中,笑料不断。
  5. 传说中没法继续做下去的代码出现了。才几轮过后,就这样了, 超乎我的想象。
  6. 在没有办法的情况下,在团队中找了一个人停下来进行大的重构,花了一些时间。
  7. 在重构后,5个人分析了一下原因,开始在总的目标和详细设计上先达成了一致,然后按照设计的方式一步一步进行。
  8. 这之后,进展明显比之前推进的更平顺,也较少出现扣分,就这样一直持续到最后。
  9. 在关键实现上,出现了超过时间的情况,这符合实际情况。

回顾:

  1. 在团队协作上存在的问题,团队目标,计划和实施等环节的问题都暴露出来了。
  2. 代码集体所有,如果有人挖坑,同时也没人维护代码质量,代码腐烂的程度超乎你的想象。
  3. 增强了团队的凝聚力,增加了不少的笑料。
  4. 采用的技术多样化,相互之间进行了交叉学习。
  5. 个人目标和团队目标的权衡,还真是难题啊。

这次游戏取得的效果,还是比较令人满意的。这个游戏本身也是第一次制定出来,第一次实战,还有不完善的地方,期望有兴趣的同仁一起来参与实践和改进。

一个小团队TDD游戏及实践的更多相关文章

  1. 记一次小团队Git实践(下)

    在上篇中,我们已经能基本使用git了,接下来继续更深入的挖掘一下git. 更多的配置自定义信息 除了前面讲的用户名和邮箱的配置,还可以自定义其他配置: # 自定义你喜欢的编辑器,可选 git conf ...

  2. 记一次小团队Git实践(中)

    对于初学者,从使用上先入手,往往学的最快,并从中汲取教训,再回头更深入的学习,效果尤佳. 安装git 安装git自不必说,mac已经内置了git,linux下一个命令就能搞定,windows下需要下载 ...

  3. 记一次小团队Git实践(上)

    公司规模不大,成立之初,选择了svn作为版本控制系统.这对于用惯了git的我来说,将就了一段时间后,极为不爽,切换到git-svn勉强能用.随后,因为产品需要发布不同的版本,而git-svn对远程分支 ...

  4. 开源自己的一个小android项目(美女撕衣服游戏)

    这是自己的一个开源自己的一个小android项目(美女撕衣服游戏),也是前6个月开发的,有部分的资源来自网络上的,现在开源出来给大家吧,由于源码比较大,不上传了,我已经上传到源码天堂那个网站那里了,大 ...

  5. 使用PixiJS做一个小游戏

    PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...

  6. Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)

    大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...

  7. DirectX游戏开发——从一个小游戏開始

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/26364129 写在前面:自 ...

  8. tensorflow增强学习应用于一个小游戏

    首先需要安装gym模块,提供游戏的. 1,所需模块 import tensorflow as tf import numpy as np import gym import random from c ...

  9. 【源码项目+解析】C语言/C++开发,打造一个小项目扫雷小游戏!

    一直说写个几百行的小项目,于是我写了一个控制台的扫雷,没有想到精简完了代码才200行左右,不过考虑到这是我精简过后的,浓缩才是精华嘛,我就发出来大家一起学习啦,看到程序跑起来能玩,感觉还是蛮有成就感的 ...

随机推荐

  1. Saiku一个简短的引论

    一个简短的引论 Saiku成立于2008年,通过Tom Barber和Paul Stoellberger研究. 最初叫Pentaho分析工具.最初是基于OLAP4J图书馆的使用GWT采用前端分析工具包 ...

  2. HDU 4349 Xiao Ming's Hope

    非常无语的一个题. 反正我后来看题解全然不是一个道上的. 要用什么组合数学的lucas定理. 表示自己就推了前面几个数然后找找规律. C(n, m) 就是 组合n取m: (m!(n-m!)/n!) 假 ...

  3. 它可以作为一个代理server或者转发java类

    在项目中使用,这简化和通用汽车.突出的基本思路,细节可以基于此类改变. 基于java容器和servlet. package com.xxx.first; import java.io.Buffered ...

  4. 词组缩写(isalpha()的应用)

    Problem Description 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写.比如,C语言里常用的EOF就是end of file的缩写.   Input 输入的第一行是一个整数 ...

  5. 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示

    原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...

  6. 【专访】【Spring常见问题汇总】【05】

    种: 传播行为:传播行为定义了client与彼调用方法之间的事务边界. 隔离级别:隔离级别定义了一个事务可能受其它并发事务影响的程度. 仅仅读:表明事务是否是仅仅读的. 事务超时:指定事务执行的最长时 ...

  7. RHEL5 X86-64上安装Oracle 11gR2演示样例与总结

    进入Oracle DBA行业也有好几年了,可是说到安装Oracle的经验,我还真不是特别多,印象中刚開始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理.机制也都有一定的了解后 ...

  8. google code 上源码的下载方法

    SVN全称是Subversion,是Apache的一个子项目 ,具体能够到SVN中文站(http://www.subversion.org.cn/)去了解下.Google Code是Google的一个 ...

  9. c# 文件同步服务器,iis 集群 ,代码同步(二)

    打算自己做一个 集群 代码同步软件. 基于Socket 和 FileSystemWatcher .

  10. Errors occurred during the build. Errors running builder 'JavaScript Validator' on

    eclipse又一次编译时候就会报错Errors occurred during the build. Errors running builder 'JavaScript Validator' on ...