Mylyn:任务管理和个人计划
以下资料来源于IBM对Mylyn2.0的使用介绍1 ,以及介绍2 , 这些内容主要介绍的是对工作的管理,和具体的Mylyn版本无关。
现在,我将讨论如何使 Mylyn 成为您的一个单独的任务列表和收件箱,以管理工作周内所有相关的任务。对于很多开发人员,要在一个给定的工作周内跟踪和调度的任务的范围包括:
- 为您正在开发的产品解决产品缺陷并分析特性
- 由您的同事完成的任务,这些同事包括您的搭档、上司或属下
- 针对您所使用的框架、API 和软件的 bug 报告
- 个人待办事项和提醒
将所有任务集成到一个视图中,可以使它们更易于管理,因为只需查看一个位置就知道接下来该做什么。为了进一步简化任务管理,Mylyn 隐式包含了一些公认的任务管理最佳实践,例如调度和延迟任务,并且还包括了 XP 式开发的即时性和适应性。Mylyn 的任务管理工具使您可以轻松地适应一周内的任务变化需求,而不会丢失对长期优先级的跟踪。除了将工作周的控制权交到您手上之外,Mylyn 通过简化使用共享的储存库属性(例如里程碑和优先级),在 Eclipse 中执行所有操作,从而帮助您更好地集成团队实践。
Mylyn 提供两种用于调度的日期:预定日期(scheduled date) 和 到期日期(due date) 。(您可能已经注意到,任务编辑器中显示了这两种日期)。预定日期可以帮助管理和优先排列自己的工作周,而到期日期则对应于最后期限之类的固定事件。
任务的预定日期是根据个人日程安排的可变日期,可以根据优先级的变化而推迟。它定义您计划开始处理任务的时间。当任务到达预定日期时,任务变 成红色,以指示您应该开始处理它或者考虑推迟它的起始日期。定在今天执行的任务会变成蓝色而不是红色,并且在工作日的最后进行安排,避免重新安排整个工作 日的任务。
相反,任务的到期日期是固定的日期:任务必须完成的日期。这个日期常常与外部的约束(例如最后期限)相关。如果使用共享的任务储存库或者日历 工具,到期日期会进行同步,以便使团队的其它成员可见。例如,如果 Bugzilla 的时间跟踪功能被启用,那么可以通过任务编辑器的 Attributes 区中的 Time Tracking 区设置 Bugzilla 任务的到期日期,团队中的其他成员可以看到这个日期,还可以编辑它。到期日期的临近是通过任务图标上的一个小钟指示的,这个小钟在到期日期之前为蓝色,在 到期日期之后为红色。
由于 Mylyn 使得创建和共享任务变得如此容易,似乎您一旦开始使用它,Task List 中很快就会装满数十个甚至数千个任务。对于 Mylyn 的早期用户,包括我在内,确实会发生这样的事情。也许是因为我是第一批用户,目前我的 Task List 包含超过 5,000 个任务,其中有超过 1,000 个任务尚未完成。乍一看来,这似乎与 Mylyn 减少而不是增加信息超载的目标有冲突。为了解决这个问题,Mylyn 提供了改进的功能来调度和推迟任务,使用这些信息让 Task List 只显示与您的工作周有关的任务。新创建的任务定在创建日调度,并且可以通过任务编辑器的 Planning 区或上下文菜单快速地将任务推迟到靠后的一个时间或日期。
当任务到达预定日期之后,任务和它的容器(例如一个查询)变成红色,桌面上显示一个弹出窗口作为提醒。(和其它 Mylyn 颜色和字体设置一样,可以用 Window > Preferences > General > Appearance > Colors and Fonts 将任务设置为高亮显示)。当任务被推迟到将来的日期执行时,Window > Mylyn > Tasks > Scheduling 中设置的工作日起始时间决定任务被调度的时间。通过更改工作日的结束时间,可以确定被定为那天调度的任务在什么时间到期。
Mylyn 任务管理模型的关键是基于兴趣的分类和过滤,您可以通过 Task List 工具栏上的 Focus on Workweek 动作启用该功能。聚焦模式导致只有与工作周相关的任务才可以显示。这包括以下任务:
- 预定在本周执行或者超过预定日期的任务
- 有新的更改和注释的储存库任务
如图 11 所示,任务被着色和分类,以帮助您快速确定下一步任务:
- 逾期任务为红色,总是显示在列表的顶部。
- 调度为在今天执行的任务以蓝色突出显示。
- 调度为在本周靠后时间执行的任务为黑色。
- 今天完成的任务为绿色。
- 之前完成的任务为灰色。
通过轻松地调度和推迟任务,并将视图限制为显示给定工作周内预定的任务,Mylyn 帮助您全盘考虑优先级。为了突出工作日,Mylyn 用蓝色高亮显示所有在当天调度的任务。由于在聚焦模式下工作时不大可能看到滚动条,因而 Task List 保持展开,所以您总是知道应该考虑对什么作出响应或者下一步执行什么。
考虑使用 Mylyn 的聚焦功能管理工作周的示例流程:
- 在工作周的开始,任务列表包含很多红色的任务,这些任务是之前定在本周执行或者推迟到本周执行的。
- 红色不是令人愉快的颜色,所以您使用上下文菜单将每个任务安排在今天或本周靠后某一天执行。当所有红色都消失之后(定在今天执行的任务变成了蓝色,定在本周靠后时间执行的任务变成黑色),您可以查看这周的日程安排,确认它符合实际,必要时推迟或委托他人执行任务。
- 当 Task List 被激活时,可以将鼠标悬停在 Task List 顶端附近的绿色进度条上(如图 11 所示),以检查是否为工作周安排了太多的任务。如果有些任务要比其它任务花费更长的时间,那么可以打开任务的 Planning 区,调整预计时间,这样可以相应地调整工作周进度条。
- 在工作日的最后,所有已经完成的任务变成了令人愉快的绿色。然后,您可以检查剩下的蓝色或红色的任务,将它们推迟到明天或更靠后的日期。
- 在第二天的开始,安排在这一天的所有任务都为蓝色,而所有逾期的任务为红色。在安排工作日时,您会将某些任务推迟到本周靠后的日期,因此可见的蓝色任务表示您可以当天完成的所有任务。任务完成后变为绿色。
- 在工作周结束时,滚动条应该会消失,列表上的大多数任务应该都变成绿色。
由于任务调度是任务管理最重要的部分,Mylyn 在 Task List 中提供了 Scheduled 表示,它根据到期日期而不是类别和查询来组织任务。在聚焦模式下,这种表示会显示这一周每天必须完成的所有任务。这对于平衡整周的工作负载很有用。它的另一个优点是当您使用共享任务时可以避免分心,因为不会显示有新注释但是未调度的任务。要检查新到来的任务,需要切换回 Categorized 表示,重新确定优先次序,然后再重新审视时间表。当不在聚焦模式下,可以使用 scheduled 表示来平衡未来工作周的任务负载 —— 例如,通过将鼠标悬停在 Next Week 容器上检查有多少任务被推迟。
到目前为止,本文描述的所有功能都是将 Task List 当作一个统一的相关任务的集合,您可以灵活地调度这些任务。此外,可以用查询来组织任务,还可以进一步嵌套子任务,前提是储存库连接器提供这种支持(例如 Bugzilla 连接器就提供这种支持;可以从 Task List 的视图菜单中启用该选项)。但是,由于 Mylyn 2.0 对 工作集(working sets) 的 支持,还可以对由完全不相关的任务组成的集合进行处理。假设您在开发一个产品和两个不同的开源项目。您可能想把工作日的大多数时间花在最重要的产品上,但 是还想跟进其它项目。Mylyn 的工作集使您可以组织与一个特定产品或项目相关的查询和类别,并提供限定在 Eclipse 工作区中显示的文件和其它资源的数量的功能。
使用 Task List 顶端的切换条,创建包括相关查询、类别和工作区资源的工作集(参见图 12)。只要 Eclipse 视图被设置为显示 Window Working Set (默 认设置),切换 Mylyn 工作集可导致 Task List 和 Eclipse 都只显示属于工作集的任务和项目。例如,如果为一个开源项目设置了一个工作集,并用下拉列表启用该功能,那么 Eclipse Task List、Package Explorer 和 Problems 视图都只显示与那个项目相关的内容。Task List Find 只显示工作集中的匹配项。甚至可以通过 Search (Ctrl+H) 只查找工作集中的内容,如果工作区较大的话,这样做很有用。换句话说,整个 Eclipse 只显示与您创建的工作集相关的东西。工作集可以减少工作区的凌乱,并且可以避免使用多个工作区。在 第 2 部分 中,您将看到 Mylyn 如何进一步利用这种聚焦思想,将 Eclipse 中的可见内容缩小到单个任务。
除了一些自动化功能外,Mylyn 还提供手动分类和过滤功能:
- 通过视图菜单中的 Sort by 项,根据 Priority 之类的属性分类。
- 使用视图菜单中的 Filter Priority Lower Than 项,根据优先级进行过滤。
- 通过视图菜单过滤所有 Archive 类别和完成的任务(建议启用该功能,在聚焦模式下会自动启用)。
- 通过单击 Go Into 过滤特定类别或查询中的任务(在聚焦模式下同样适用)。
- 通过拖放操作手动分类;将储存库任务分类到各类别中。
图 13 显示了可用的手动 Task List 过滤器:
手动搜索和过滤会增加重复切换不同过滤器和分类器的负担。对于默认模式下的操作不建议使用,但是它们对于计划和组织任务的确有用。注意,当 Focus on Workweek 活动时,手动过滤和分类设置被禁用;可以通过关闭聚焦模式来恢复它们。
当组织 Task List 时,可以通过 Move to Category 上下文菜单或者选择上下文菜单中的 Remove from Category 移 动任何任务。除非通过上下文菜单显式地删除任务,否则即使任务已经从查询中消失或者从类别中删除,仍然会显示在 Task List 中。被删除的任务可以在 Archive 容器中找到。可以通过 Task List 顶端的 Find 框方便地搜索 Archive 或其它地方的旧任务。单击它右边的 Clear 按钮或按下 Esc 键可以恢复之前可见的任务。Archive 容器对于查看之前已解决且被注释的任务也很有用,因为创建查询的一种通用方法是排除已解决任务(但是请参阅 查询设置建议 ,了解有关这一做法的注意事项)。
聚焦模式使用得越频繁,您的 Task List 就变得越有价值。默认情况下,Task List 的自动备份已被启用,可以通过 Window > Preferences > Mylyn > Tasks 设置备份目录。 要从备份恢复 Task List,可以选择相应的单选按钮,并选择一个备份快照。默认情况下,Mylyn 每天为所有任务数据制作快照,并保留 30 天的备份(通过 Preferences > Tasks 配置)。可以通过单击 File > Export 导出任务。