最近打算练习一下scrum,就在网上找一些scrum的管理工具。找了很多免费的工具,比如xplanner, agile42什么的,都不是很好用。xplanner看起来就令人生厌。有一个Project Dune的,利用Google GWT做的一个应用,看起来还不错,但是安装了之后有好多问题,比如什么deadlock的问题,mysql无法访问的问题,而且我看他们对scrum的支持的screenshot也很简单,就放弃了。

收费的软件貌似很多,很容易搜索到,有versiononemingle等等。mingle好像网上用的比较多,有一些中文网站推荐,去看了一下,5个人一下可以Evaluate一年,而且支持unix/linux,就试用了一把,感觉的确很不错。

Mingle的核心是卡片,所有的东西都是卡片,比如feature, story, task等等。卡片可以通过树状结构组织起来,就形成了需求分析阶段的features树,也可以是计划阶段的planning树。最后,树上的节点,对于mingle来说主要是story,会被投入到sprint当中去。team member可以自主的选择一个个的story去实现。我们用的时候觉得story有点大,把story又分了很多的task,这样一个人可以负责一个task。

它的强大在于,卡片是可以扩展的。它使用了一些类似BPM的概念。一个卡片本身不代表任何意思。然后我们通过给他添加property来指定他的属性。比如类型,开始日期,结束日期,工作量预计等等——可以理解为面向对象里面的属性。接下来还可以给卡片增加Transition,可以理解为方法。比如一个task在new状态的时候,加一个Take Task的transition,那么就可以把这个task的owner设为当前用户,把task的start date设为今天,把状态改为In Progress。

接下来mingle可以用不同的view来显示这些卡片,并且可以加上一些filter。只有满足某些条件的卡片才被显示。对于Product Backlog,其实就是一个针对Featurs树做的filter。Sprint Backlog则是针对planning树。

最后,他还支持一种MQL语言,一个简单的统计报表语言,用这个可以画出各种各样的breakdown图。另外,还内置了wiki的功能,每个卡片的描述都可以是一个wiki,可以详细的描述一个需求和实现细节等等。

总得来说,这是一个很不错的软件。当然,估计用ALBPM也可以实现,只是有点杀鸡用牛刀的感觉。我倒是觉得要是用GWT做这么一个东西,应该挺有意思的。

有一个简单的突破5个用户的方法,设定卡片的owner属性不是member list,而是指定的另外一个list,就可以了。这样所有人用一个用户登录,但是通过手动改动owner属性来做task的分配。