一个小团队TDD游戏及实践
介绍的这个游戏是自己根据目前带的团队的实际情况来制定的, 在游戏实践过程中,收到了较好的效果,故打算把这个游戏分享出来,一是分享一下实践,而是集思广益,不断完善,更好的利用游戏来锻炼队伍。下面就将游戏规则,游戏制定说明,游戏适用人数,以及实践情况一一分享。
游戏规则:
- 团队成员自己排好顺序,轮流进行TDD。TDD三个环节中,只进行测试编写和实现两个环节,故意不设置重构环节。每个人每次只进行一个环节。以此类推。如果团队人数为奇数,则每个人每次进行的环节都会和上一次进行的不一样。如果为偶数,则要重新排列一下,保证每个人每次进行的环节和上次不一样。
- 不管是编写测试,还是实现,时间要求尽量在5分钟内完成。 如果完成了,得5分。如果没有完成,扣掉2分。
- 如果编写的测试有错误,其他成员发现了,则测试扣2分,发现者加2分。
- 如果因为测试步子太大导致实现没有完成,则扣掉编写测试的人2分。
- 如果实现或者编写测试的人,对代码进行了重构,则加2分。
以上就是整个游戏的规则。
规则设置说明:
- 采用TDD轮流的方式,已经有较多的人实战过或者了解过,再次就不多说明了。
- 限定时间,一是为了限定步子不能太大了,二是模拟实际工作中,项目进度压力。
- 故意不要重构的环节是为了检验是否有人会主动重构,这在项目中很重要。同时辅以加分引导重构。
- 其他的加分和扣分都是为了朝正确的方向引导。
- 多人进行轮流TDD,是模拟实际工作中,代码集体所有。
游戏适宜人数:
自己认为3-4人较好,人多了,节奏会没有那么快。
简要的实践情况说明:
- 这个游戏由团队5人进行的,在最开始几轮,每个人都有被扣分。团队协作不好,没有明确的目标,走一步算一步。
- 在这个过程中,不断有人挖坑,因为时间的关系,只有一个人重构过一次。但势单力薄啊。
- 团队的利益,和个人的利益相比,还是个人利益优先啊。
- 在挖坑和被坑过程中,笑料不断。
- 传说中没法继续做下去的代码出现了。才几轮过后,就这样了, 超乎我的想象。
- 在没有办法的情况下,在团队中找了一个人停下来进行大的重构,花了一些时间。
- 在重构后,5个人分析了一下原因,开始在总的目标和详细设计上先达成了一致,然后按照设计的方式一步一步进行。
- 这之后,进展明显比之前推进的更平顺,也较少出现扣分,就这样一直持续到最后。
- 在关键实现上,出现了超过时间的情况,这符合实际情况。
回顾:
- 在团队协作上存在的问题,团队目标,计划和实施等环节的问题都暴露出来了。
- 代码集体所有,如果有人挖坑,同时也没人维护代码质量,代码腐烂的程度超乎你的想象。
- 增强了团队的凝聚力,增加了不少的笑料。
- 采用的技术多样化,相互之间进行了交叉学习。
- 个人目标和团队目标的权衡,还真是难题啊。
这次游戏取得的效果,还是比较令人满意的。这个游戏本身也是第一次制定出来,第一次实战,还有不完善的地方,期望有兴趣的同仁一起来参与实践和改进。
一个小团队TDD游戏及实践的更多相关文章
- 记一次小团队Git实践(下)
在上篇中,我们已经能基本使用git了,接下来继续更深入的挖掘一下git. 更多的配置自定义信息 除了前面讲的用户名和邮箱的配置,还可以自定义其他配置: # 自定义你喜欢的编辑器,可选 git conf ...
- 记一次小团队Git实践(中)
对于初学者,从使用上先入手,往往学的最快,并从中汲取教训,再回头更深入的学习,效果尤佳. 安装git 安装git自不必说,mac已经内置了git,linux下一个命令就能搞定,windows下需要下载 ...
- 记一次小团队Git实践(上)
公司规模不大,成立之初,选择了svn作为版本控制系统.这对于用惯了git的我来说,将就了一段时间后,极为不爽,切换到git-svn勉强能用.随后,因为产品需要发布不同的版本,而git-svn对远程分支 ...
- 开源自己的一个小android项目(美女撕衣服游戏)
这是自己的一个开源自己的一个小android项目(美女撕衣服游戏),也是前6个月开发的,有部分的资源来自网络上的,现在开源出来给大家吧,由于源码比较大,不上传了,我已经上传到源码天堂那个网站那里了,大 ...
- 使用PixiJS做一个小游戏
PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...
- Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)
大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...
- DirectX游戏开发——从一个小游戏開始
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/26364129 写在前面:自 ...
- tensorflow增强学习应用于一个小游戏
首先需要安装gym模块,提供游戏的. 1,所需模块 import tensorflow as tf import numpy as np import gym import random from c ...
- 【源码项目+解析】C语言/C++开发,打造一个小项目扫雷小游戏!
一直说写个几百行的小项目,于是我写了一个控制台的扫雷,没有想到精简完了代码才200行左右,不过考虑到这是我精简过后的,浓缩才是精华嘛,我就发出来大家一起学习啦,看到程序跑起来能玩,感觉还是蛮有成就感的 ...
随机推荐
- 【iOS】MD5数据加密和网络安全
在做网络应用程序时,, 始终把确保用户数据的安全性, 因此要加密. MD5算法在国内用的非常多. MD5算法的特点: *相同的数据加密结果是一样的.(32个字符) *不可逆的.(不能逆向解密) *可 ...
- zoj 3823 Excavator Contest(结构体)
题目链接:zoj 3823 Excavator Contest 题目大意:一个人开着挖掘机要在N*N的格子上面移动.要求走全然部的格子.而且转完次数要至少为n*(n-1) - 1次, 而且终点和起点必 ...
- React学习系列
React学习系列 系列学习react 翻译地址 https://scotch.io/tutorials/learning-react-getting-started-and-concepts 我是初 ...
- UVA 11987 - Almost Union-Find(并查集)
UVA 11987 - Almost Union-Find 题目链接 题意:给定一些集合,操作1是合并集合,操作2是把集合中一个元素移动到还有一个集合,操作3输出集合的个数和总和 思路:并查集,关键在 ...
- windows已安装solr
下载地址:http://archive.apache.org/dist/lucene/solr/ 操作环境: Win7,Tomcat6, Solr4.3, Jdk6 下载solr4.3的包,解压到本 ...
- hdu1086(线段相交)
题目意思: 给出n个线段,推断这n条线段中,线段相交的对数. http://acm.hdu.edu.cn/showproblem.php?pid=1086 题目分析: 此题主要写出推断线段相交的函数, ...
- 使用Heartbeat实现双机热备
使用Heartbeat实现"双机热备"或者称为"双机互备"heartbeat的工作原理:heartbeat最核心的包含两个部分,心跳监測部分和资源接管部分,心跳 ...
- SpringMVC4 + Spring + MyBatis3
SpringMVC4 + Spring + MyBatis3 本文使用最新版本(4.1.5)的springmvc+spring+mybatis,采用最间的配置方式来进行搭建. 1. web.xml 我 ...
- 深入struts2.0(五)--Dispatcher类
1.1.1 serviceAction方法 在上个Filter方法中我们会看到例如以下代码: this.execute.executeAction(request, response, m ...
- SSAS系列——【02】多维数据(维度对象)
原文:SSAS系列——[02]多维数据(维度对象) 1.维度是什么? 数学中叫参数,物理学中是独立的时空坐标的数目.0维是一点,1维是线,2维是一个长和宽(或曲线)面积,3维是2维加上高度形成体积面. ...