如何为敏捷开发团队选择合适的工具

前一阵子别人跟我说他们公司为了鼓励大家更好的协作,决定引入电子白板。他觉得很酷,问我是否也可以他们的Scrum团队中启用这种电子白板。我的回答是“这要看你们团队的需求,如果你们确实有这个需求(比如团队分布到多个办公室),就可以用,但是千万不要为了用而用。”

随着敏捷越来越有流行,越来越多的刚刚开始了解敏捷的公司希望通过引入一些比较成熟的敏捷项目管理工具,很快地让自己的团队“敏捷”起来。看到了巨大的市场,很多公司开始敏捷项目管理、建模工具以及其他的支持工具。市场上有很多基于Scrum的项目管理工具,比较有名的有VersionOne, Rally, ScrumWorks, VS Team System 2010等等。这些工具提供一些模板,比如可以方便的通过模板生成用户故事,划分任务,迭代计划,发布计划等等。还有一个很重要的功能是提供一些很炫的报表,这样管理者就可以通过看报表了解项目情况。但是这恰恰与敏捷的精神是违背的。敏捷与原有的开发模式一个很大的不同是对人和团队的重视。人不再是一个零件,一个工作步骤;人是有独立思想,能够创造性工作的个体。那种寄希望利用“敏捷”工具让团队“敏捷”起来的想法,不过又是一种传统的思维定式在作怪。
但是敏捷团队也并不是不需要工具,如何选择合适的工具呢?可以考虑:
  • 如果我们能够通过面对面沟通解决,那就不需要工具
  • 如果简单的物理工具(纸、笔、白板等等)能够解决,就不要引入电子工具
  • 选择能够作为信息辐射器的工具(一种把信息广播出去,而不需要去Pull信息),这样的话整个团队随时都能看到最新的状况,实现自管理
  • 选择那些容易激发团队成员积极参与、自管理的工具
  • 选择简单工具,那些不需要培训,一目了然,马上就可以上手的工具
  • 选择可以支持多个人同时协作的工具
  • 选择容易被替换的工具,团队不会被一种模式困住,以后可以根据改进自己团队的过程
  • 选择便宜的工具,因为随时可以替换掉
  • 不要选择那些容易让管理者得到“虚拟的安全感”的工具(比如很炫的报表)。真正的敏捷管理者应该”Go See”“到现场”去观察,体验。团队也不需要这样的报表。成员自己手画的简单图表(比如Sprint burn down, release burnup,以及一些关于测试、覆盖率的简单图标)往往更有效,更震撼
  • 不要选择那些需要太多精力去维护,报告的工具,投入越多浪费越多。
选择工具关键是要明确自己的需求,而不要让自己被工具牵着鼻子走。回到上面电子白板的例子,如果我们有团队成员在不同的地域,我们可以使用电子白板一起讨论问题。如果了解到真正的需求是“让在不同地域的团队成员能够’面对面无障碍的沟通’”,我们就很容易想到很多其他的简单、省钱的方法。比如视频会议(或者Skype)+白板,白板+相机然后用Wiki共享。

 

Share