前些天,和一位XPer进行了一次愉快的谈话。他向我讲述了一些感觉很有效的实践。
关于过程和迭代
他曾经参与过的项目的迭代是以月为迭代单位的,但事实上每周都会重复一个简单的过程。
在迭代过程中,他非常推崇Burn-Down Charts。这是一个Scrum的工具。通过Burn-Down Charts,能够把过程中间的变化记录下来,使过程高度可视化。等到一次迭代完成,回顾一下所有的Burn-Down Charts就能作为改进的判断依据。
KPT Meeting。所谓KPT Meeting就是 Keep-Prevent-Try metting。小组定期举行KPT会议(基本上是每周一次)。在KTP会议上,通过头脑风暴的方式每个人(不是某几个人)把各自认为前一阶段里做得好的方面写在Keep一栏里;做得不好的方面写在Prevent一栏里;希望尝试的写在Try一栏里。然后大家对这些项目进行评估和筛选。下一阶段中,Keep的项目继续保持,Prevent的项目应该杜绝,Try的项目进行尝试。
工具
在开展这些实践的时候,交流比较频繁。首推的工具是Mini white board和DC。
选择Mini white board的原因并不是因为带有"mini"听上去会像 Mini Cooper 或者 iPod mini 那么cool。因为一块A3左右大小的白板非常适合个人或者结对使用,而且环保(省去了草稿纸)。虽然整个团队也有用于大规模交流的更大的白板,但那属于“竞争资源”,各自使用自己的白板更为方便。
交流结果产生后,为了不花不必要的时间去做精美的文档,一台轻便的DC往往是最合适的选择。当然,如果足够,手机上的照相功能也可以完成同样的任务。相比偷拍街上的MM,这些电子产品能够实现更大的价值。
关于结对
每天进行6小时的结对编程,分3次,每次2小时。每次和不同的成员组队。在结队的时候充分利用了上面提到的工具进行交流。如果出现两个人不能解决的问题的时候,会立即向整个团队提出,这样可能导致一次stand-up meeting。即使问题不能马上解决,至少也能确保每个人都知道这个问题。