项目管理工具:他们只是不适合分布式小团队
时不时的,我会有一些小项目需要其他人的参与和帮助。贡献者往往处于不同的地区、公司。出于现实的考虑,大家白天需要上班,下班还有各种社交需求,也许在时不时的某一天的某个时候,他们开始为这个小项目工作,却发现需要很久才能跟上其他人的节奏。一般来说,我自己的catch up的方式是这样的:
- 阅读代码
- 将应用运行起来,看看有什么新特性
- 阅读来往邮件 - 往往很少
- 琢磨一下还剩什么可以做的……开始工作
我感到很郁闷。我估计其他贡献者,除非是一直持续的进行code review和功能编写的,也应该感到很郁闷。我开始反思自己的开源项目其他贡献者很难参与、进展得不好不仅仅是因为项目本身,而更多的是因为缺乏一个更加有效的沟通机制。我开始尝试解决这个问题。于是:
于是我又尝试了采用Mingle, FogBugz. 在针对具体任务的跟踪和流程配置上,他们表现非常优秀,然而,会话信息的丢失,却使得在“分布式团队”这个场景下变得沟通困难。简单的说,他们都无法回答这个问题:
“作为一个开发人员,当我开始工作的时候,我想看到其他人都做了什么,以便我能迅速了解上下文,开始工作”
目前,针对分布式、小团队的项目管理需求有哪些呢?
最高设计思路:项目管理就是沟通。对于项目管理的核心基本上创新已经不多,无非就是计划、实现、跟踪、检查。界面和功能实现的创新会更加重要。我能想到的设计如下:
-
界面!界面!界面!与时俱进、不断进化、直观清爽的界面是吸引使用的第一准则。
-
ActivityStream是一种现代非常流行的设计模式,常见于社交网站的如Facebook、开心网之类。基本的设计思路将“谁在什么时候做了什么”按照时间线的方式展现出来,并且作为默认展示。针对项目管理,一个典型的ActivityStream如下例:
张三昨天上午完成了任务:添加登录支持,并且评论:“现在支持OpenId登录了” 李四前天提交了代码:< 代码文件列表>,注释:修改了界面 ……
对于我而言,能够在一个地方看到这些信息非常重要,特别是团队不在一起工作或者工作时间没有重叠的时候。
-
开放的登录支持。不知道为什么,我逐渐对任何需要重新注册的应用感到逐渐不可忍受。我想也许会有跟我差不多的人……如果能够使用OpenID/Gmail进行登录,那么体验会更好
-
所有的信息都可评论、回复。无论是一个新的提交,还是完成了一个新的任务,还是写了一个份新的wiki文档,总有时候希望对这些信息发起讨论。邮件的集成不应该仅仅“知会”,而应该能够直接回复,并且会展示到这个系统中。
-
移动支持。系统在移动浏览器上看起来应该也不坏。
-
开放API,而非插件机制,让第三方的应用可以接入。