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

一. 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,团队中的开发人员、测试人员、业务分析人员与项目经理间的“距离”将大大缩短。大家都工作于一个统一的项目工作空间内,这使得信息可以得以及时的共享,大家都可以看到整个项目当前阶段、历史某阶段的输出是什么。 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ “贴”在Card Wall(卡片墙)上的卡片可以告诉我们很多信息:谁正在做什么,谁已经完成了什么,还有些什么工作正在等待着谁的开始,等等。要改变卡片的状态(例如从“In Progress”改变到"Complete"),只需要在卡片墙内的不同状态泳道间拖拽一下卡片! 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 项目文档! 关于文档在敏捷项目中的意义问题一直有着激烈的讨论,笔者一直坚信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的特点做到文档历史的可追踪性,何乐而不为? 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ RSS & Email提醒 当团队里某个成员改变了项目相关的信息时,Mingle可以把这个消息通知给其他人,让其他人可以快速地知道这个改变。例如,当一张Story卡状态变成"Devlopment Complete"时,团队中的测试人员将被通知到。 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 2. 项目管理——简单化软件交付 自定义项目属性与模版 Mingle可以针对卡片定制您想要控制的任何信息,这样由于不同的项目就会有各自不同的主要关注点,您就可以把主要精力集中在相应的关注点上。这就是敏捷的做法,需要什么才用什么。在项目中,如果有工具可以支持、捕捉与可视化团队活动的话,还可以保持项目状态的追踪,也方便在项目进行时作出实时的决策。这在很大程度上降低了敏捷项目的交付风险。项目模板可以方便地导出与导入,让您在当前项目成功的基础上继续下一个项目。 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 工作流! 工作流是一个很重要的概念在任何项目中,任何任务都需要一个流程来控制。Mingle允许我们自定义适合自己项目的工作流,定制界面也是相当的友好。例如可以描述一个Sotry的处理流程如下: 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 卡片树! 这是在Mingle 2.0中新加入的特性,利用卡片树,您可以层次化地管理项目中的任务,所有操作都是可从界面直接拖拽的! 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 您可以在各种类型的卡片之间建立父子关系,这些关系最终形成了树型的结构。从一个侧面来说,这可以展示出项目的复杂度以及对项目目标的分解。 在一个团队中,不同角色负责不同的任务,履行着不同的职责。所以,在项目中,不同的角色需要以不同的视角、层次化地、直观地看到自己的任务。 例如,在一个项目中: * 项目经理(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 - 乂乂 - 一个人,一支烟 ·~~ 敏捷团队协作的加速器——Mingle - 乂乂 - 一个人,一支烟 ·~~ 与其他系统整合 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!

你可能感兴趣的:(工作,敏捷,项目管理,文档,jruby,Thoughtworks)