敏捷团队协作的加速器——Mingle

敏捷团队协作的加速器——Mingle

转载请保留作者信息:
作者:88250
Blog: http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:[email protected]

一. Mingle是什么?

Mingle是一个敏捷项目管理与团队协作工具,它提供给团队一个共享的工作空间。它支持各种各样的敏捷方法,内置了XP、Scrum、Agile Hybrid的项目模版。Mingle也是ThoughtWorks 7年多敏捷实践的结晶。
而在英文字典中,Mingle这个词有着“合而为一,混合”的意思。的确,它让整个凝聚在了一起,为了共同的项目目标而努力。

在Mingle中,everything is Card!Card(卡 片)是一个很重要的概念,这个概念是众多的敏捷方法学(典型的,XP)中的基本概念。其实,在我们日常生活中也是这样的。比如,身为QA组Lead的 Vanessa要使用会议室,她将填写一张会议室使用申请表,填好后将这张表递交给了了项目的Leand,Daniel。Daniel看了时间,会议参与 人员等安排后同意了会议的申请。他签了“同意”后由将此表递交给了公司资源组的Lead,Yu Zhao。他看完申请后,根据申请表安排了一下会议室硬件使用。到此,Vaness的会议室使用申请就通过了。如果用Mingle来描述这个流程,申请表 就是一张卡片,而整个申请过程(签署与递交)就是卡片状态转换的过程。伴随着这个过程,所有的参与人员都各尽其责,让这个任务最终得到了解决。

当然,上面是一个很简单的例子,Mingle能做的当然也仅不是“申请会议室”这个简单的任务。下面,让我们进入正题!

二. Mingle带给我们什么?
1. 团队协作——团队的共享工作空间
一个团队,一个工具

使用Mingle,团队中的开发人员、测试人员、业务分析人员与项目经理间的“距离”将大大缩短。大家都工作于一个统一的项目工作空间内,这使得信息可以得以及时的共享,大家都可以看到整个项目当前阶段、历史某阶段的输出是什么。

“贴”在Card Wall(卡片墙)上的卡片可以告诉我们很多信息:谁正在做什么,谁已经完成了什么,还有些什么工作正在等待着谁的开始,等等。要改变卡片的状态(例如从“In Progress”改变到"Complete"),只需要在卡片墙内的不同状态泳道间拖拽一下卡片!

项目文档!
关于文档在敏捷项目中的意义问题一直有着激烈的讨论,笔者一直坚信Martin文档第一定律( Martin’s First Law of Documentation: Produce no document unless its need is immediate and significant)。在项目文档上,Mingle也正是秉承这一点而设计的。在Mingle中,项目相关文档都可以使用Wiki的方式来记录。项目 的需求开发、重要的项目信息(Scope, Schedule, etc.)可以使用Wiki记录,这样既可以做到复杂文档的表示,又可以利用Wiki的特点做到文档历史的可追踪性,何乐而不为?
RSS & Email提醒
当团队里某个成员改变了项目相关的信息时,Mingle可以把这个消息通知给其他人,让其他人可以快速地知道这个改变。例如,当一张Story卡状态变成"Devlopment Complete"时,团队中的测试人员将被通知到。

2. 项目管理——简单化软件交付
自定义项目属性与模版
Mingle可以针对卡片定制您想要控制的任何信息,这样由于不同的项目就会有各自不同的主要关注点,您就可以把主要精力集中在相应的关注点上。这就是敏捷的做法,需要什么才用什么。 在项目中,如果有工具可以支持、捕捉与可视化团队活动的话,还可以保持项目状态的追踪,也方便在项目进行时作出实时的决策。这在很大程度上降低了敏捷项目的交付风险。项目模板可以方便地导出与导入,让您在当前项目成功的基础上继续下一个项目。
工作流!

工作流是一个很重要的概念在任何项目中,任何任务都需要一个流程来控制。Mingle允许我们自定义适合自己项目的工作流,定制界面也是相当的友好。例如可以描述一个Sotry的处理流程如下:


卡片树!
这是在Mingle 2.0中新加入的特性,利用卡片树,您可以层次化地管理项目中的任务,所有操作都是可从界面直接 拖拽的!
您可以在各种类型的卡片之间建立父子关系,这些关系最终形成了树型的结构。从一个侧面来说,这可以展示出项目的复杂度以及对项目目标的分解。
在一个团队中,不同角色负责不同的任务,履行着不同的职责。所以,在项目中,不同的角色需要以不同的视角、层次化地、直观地看到自己的任务。
例如,在一个项目中:
  • 项目经理(Project Manager)可能希望有一个计划树做WBS(Work Breakdown Structure)
  • 业务分析师(Business Analyst)想要用Story Tree将某个Feature分解成一组不同且相关的功能
  • 设计人员(Designer)想要用使用树型结构分解项目的高层逻辑与UI设计
  • 测试人员(Testers)想把测试场景分解成更细精度的测试用例

这 样,开发团队能够在更高的视角上审视整个项目的开发过程,同时在需要的时候深入至各种细节。并且,定义的卡片树可以根据您设计的继承关系在任何一个树层次 上进行聚合计算,从而产生度量数据。例如你可能对每个Story都有估算,如果一个Feature由多个Story组成,一个Story又由多个Task 组成,那么查看这个Story的大小(size)就可以根据Task很方便的自动计算出来,而且Feature需要做多少工作也是一目了然的了。
强大的项目报告
在项目中,使用MQL(Mingle Query Language )可以为用户定义的任何项目属性做报告生成。这有利于我们从各个视角查看项目的进度与历史,而且MQL是非常容易学习和使用的。在Mingle 2.0中,您还可以在跨项目生成报告,这对于多项目管理是很重要的。
与其他系统整合
Mingle可以方便地与其他系统整合,例如CAS(
Central Authentication Service,中心身份认证服务 ),LDAP身份认证服务,Subversion/Perforce 源码控制,REST APIs ,Cruise持续集成等等。有了这些支持,Mingle可以和您已经存在的系统无缝地整合在一起,共同协作,完成项目目标。

三. 您的团队需要Mingle吗?
看了上面的特性介绍,相信您对Mingle已经有了个大致了解。但要选择这样一个对团队可能有着很大影响的工具需要非常的慎重,下面列出了一些重要的注意点,当您要选择Mingle时:
“硬”需求:
  • Mingle是一个商业软件,一个用户的许可(one user license)半年是318.6美元,一年是566.4美元,而终身是995美元。
  • Mingle对系统硬件配置要求比较高。它是第一个构建与JRuby上的商业软件,而JRuby对系统的消耗是比较大的(希望以后的JDK可以再提升JRuby的性能),但前版本的Mingle至少需要2G的RAM
  • Mingle目前只支持三种数据库:MySQL 5.0,PostgreSQL 8.1与Postgres 8.2。注意,但前的Mingle版本(2.0.1)尚不支持Postgres 8.3
“软”需求:
    您的团队过程是 敏捷过程吗?虽然Mingle应该可以支持非敏捷过程的团队,但Mingle是为敏捷过程量身定做的,所以,如果您的团队过程是非敏捷的话,最好慎用
    您的敏捷团队 真正需要它吗?敏捷方法告诉我们,工具不是团队过程的最重要的部分,人才是其核心。如果现在您的团队已经在很好地实施敏捷了,那么在选用Mingle以前,请考虑清楚“敏捷与工具”的问题

当然,这里描述的只是在选用Mingle上的一些主要注意事项,在清晰了上述问题后,您就可以针对自己团队的情况选用Mingle了。

四. Mingle容易上手吗?
Mingle的安装方式有两种:
  • 使用安装包方式
        下载按安装说明就可以安装了,整个安装过程都是在Web界面上完成的,根据安装向导可以很方便、快速地完成Mingle的安装
  • 使用LiveCD方式
        用过Linux的人应该知道LiveCD,很多Linux都提供了这个特性。Mingle的LiveCD是基于Ubuntu 7.10制作的,您可以使用这个LiveCD体验/安装Mingle
此外,如果您想最快的体验一下Mingle,可以到使用官方网站提供的Drive Online功能,地址是: http://studios.thoughtworks.com/mingle/testdrive

关于Mingle的使用与具体配置,相信您在阅读完本文后已经有了一个清晰的认识,这里就不再赘述了。如果您的团队是敏捷团队,您的团队也真正需要这样一个项目管理与协作工具,首选就是Mingle!

你可能感兴趣的:(linux,项目管理,敏捷开发,XP,jruby)