云原生敏捷运维从入门到精通
上QQ阅读APP看书,第一时间看更新

2.4 基于需求的扩展——使用Redmine高级管理功能

2.4.1 组功能和任务指派

Redmine不仅提供了基于小团队的便利管理方式,同时也很好地支持了大型团队的管理功能。对于多人的大型团队,根据业务和设计开发线的需求,需要按照功能模块或者职能分工划分为不同的工作组,在产品经理协调的跨部门合作设计开发中,不同的工作组往往是完成特定任务的最小单位。所以针对特定问题将任务指派到特定的工作组,就是产品项目管理中经常遇到的实际问题。在Redmine中可以轻松地实现这一功能。

在Redmine主界面中单击左上角的“管理”标签,然后单击“组”按钮,选择新建组,依次创建3个工作组,分别为前端浏览器组、数据建模组和后端数据支持组,如图2-27所示。

图2-27 创建团队中的不同工作组

单击各个工作组,在“用户”标签页中添加相应的用户,这些用户就是根据产品经理和团队讨论之后确定的人员,在本书的例子当中,就是前面介绍过的产品设计师Mike、产品开发师Jim和产品测试交付师Lucy。之后在项目标签中添加已创建的项目TodoList应用。这样就把项目、团队成员和各自对应的工作组对应起来了。新建用户创建过程示例如图2-28所示。

图2-28 新建用户创建过程

在主界面的“管理”标签页中选择配置,之后选择“问题跟踪”子标签页,勾选“允许将问题指派给组”复选框,这样在后续的团队管理中,如果各个工作组增加新的成员,我们就可以不用把问题任务逐个分配给每个人,而是以工作组为单位进行整体指派了。这样非常有利于团队协作和结果交付责任的落实。相应配置如图2-29所示。

现在假设有了一个新的任务问题,它被设计为数据模型设计人员向后端数据工作组提供方案支持,我们就可以不再把这个任务指派给个人,而是指派给一个工作组。在实际的项目经验中,这将大大方便工作组负责任地在组内灵活指派组员提供相关支持,而交付结果由工作组负责人承担,对于提高交付质量和沟通效果很有益处,如图2-30所示。

图2-29 配置允许将问题指派给组

图2-30 指派支持任务给特定的工作组

更新后的活动图如图2-31所示。

图2-31 更新工作组任务指派后的活动图

2.4.2 项目权限和角色管理

随着项目进度的推荐和预算的持续投入,我们会慢慢发现,人员增加和工作组的划分会导致一种充满风险的情况出现,那就是在TodoList应用中刚开始由产品经理一人主导的创建和更新工作将会变得力不从心,因此控制权限和角色管理工作就变得日益重要。Redmine的高级特性权限报表功能很好地解决了这个问题,并且它以一种全局列表的方式向产品项目管理者提供了统一的视角来规划设计和更新相关的权限角色管理工作。

在Redmine主界面中单击“管理”标签页,再单击“角色和权限”按钮,可以看到“新建角色”和“权限报表”按钮。这里需要向读者朋友说明一下,这两个按钮之间存在着紧密的关联关系。“新建角色”根据业务和管理需要为角色集提供必要的角色,而“权限报表”中的属性列一一对应了定义好的各个角色名称,简单来说就是,定义了多少角色,权限列表中就有多少个属性列提供权限控制选择。

这里我们单击“权限报表”按钮,如图2-32所示。

图2-32 权限报表展示

由于目前项目中存在的角色包括了管理人员、开发人员、报告人员、非成员用户和匿名用户,所以在权限报表中就对应了各个角色属性列供选择。由于篇幅限制,我们仅就部分权限报表加以说明。

● 新建项目权限仅允许管理人员角色操作。

● 编辑项目权限仅允许管理人员角色操作。

● 新建子项目权限仅允许管理人员角色操作。

● 管理公开的查询允许管理人员和开发人员操作。

这里想向读者朋友们说明的是,在权限和角色管理中存在3个集合之间的关联关系,分别是各个操作的权限集合、角色定义集合和团队成员集合。在实际项目管理实践中,为了方便管理和避免权限管理混乱,往往优先固定操作和角色集合之间的对应关系,然后使用灵活分配的方式在角色定义集合和团队成员集合之间建立关联。比如,对于特定的团队成员A,在父类项目中仅仅分配开发人员的角色,但是在子项目中,为了发挥成员的创新积极性和工作热情,需要赋予其子项目中的管理人员角色。这样一种动态赋权的解决方案可以很大程度上调动团队成员的工作积极性,对于团队管理和产品项目进度推进以及高质量交付都是很有益处的。