- 引言
- 本书涉及的内容
- 第 1 部分 Python 开发入门
- 第 1 章 Python 入门
- 第 2 章 开发 Web 应用
- 第 3 章 Python 项目的结构与包的创建
- 第 4 章 面向团队开发的工具
- 第 5 章 项目管理与审查
- 第 6 章 用 Mercurial 管理源码
- 第 7 章 完备文档的基础
- 第 8 章 模块分割设计与单元测试
- 第 9 章 Python 封装及其运用
- 第 10 章 用 Jenkins 持续集成
- 第 11 章 环境搭建与部署的自动化
- 第 12 章 应用的性能改善
- 第 13 章 让测试为我们服务
- 第 14 章 轻松使用 Django
- 第 15 章 方便好用的 Python 模块
- 附录 A VirtualBox 的设置
- 附录 B OS(Ubuntu)的设置
5.1 项目管理与问题的区分使用
进行项目管理时,应该以什么为单位创建问题,每个问题中应该写什么,这都是整个团队必须统一的事。本节将以 Redmine 为例,学习进行团队项目管理时应注意的一些点。
5.1.1 项目管理的前置准备工作
在 Redmine 上创建项目、开始项目管理之前,有些设置需要先做好。我们可以在项目的“配置”标签页进行各类设置(图 5.1)。
图 5.1 项目的配置界面
◉ 添加成员
首先添加参与项目的成员。成员按职责不同分为 3 种,具体区分如下。
· 管理人员:可更改项目的设置。一般情况下所有项目成员都可以设置为管理人员
· 开发人员:无法对配置界面进行操作,其余操作则不受限制。通常是公司外项目成员等
· 报告人员:测试负责人,用来对那些负责添加问题的成员进行设置
◉ 添加版本
一个项目必然存在确定需求、实现完毕、测试完毕等阶段点(里程碑)。我们要把各个里程碑的信息添加到版本标签页,将其视为一个个版本。如果版本发布日期已确定,则可以给相应版本设置日期。
◉ 添加问题类别
如果项目具备一定规模,那么最好以功能为单位添加问题类别。添加类别时,请记得设置该类别的负责人。在没有相应负责人的情况下,可以直接将项目组长设为负责人。这样一来可以避免出现没人负责的问题。
5.1.2 创建问题
现在我们已经做好了给项目创建问题的准备,可以实际动手创建问题了。点击“新建问题”标签会出现如图 5.2 所示的界面。
图 5.2 新建问题界面
创建问题时,各项目按如下内容输入、设置。
项目 | 内容 |
跟踪 | 指定问题的种类。区分如下所示 1 。 • 功能:用于实现新功能的问题 • 错误:用于报告 Bug • 任务:实际工作、操作等 • 需求讨论:用于讨论需求的问题。需求确定后新建功能问题并与之关联 |
主题 | 简洁明了地描述问题的内容 |
描述 | 描述这个问题想要实现的内容。用问题模板(Issue Template)统一描述内容后可有效防止遗漏 |
状态 | 设置问题的状态。比如开始工作后选择“进行中”,工作完成需要别人确认时选择“反馈”等 |
优先级 | 如果描述的内容比较重要,可以将优先级提升为“高”或其他 |
指派给 | 选择负责这个问题的人。如果不清楚该由谁负责,可以指定项目组长,再让项目组长更改为适当人选 |
类别 | 指定问题的类别,标明问题属于哪个部分、与什么功能相关 |
目标版本 | 如果项目中存在里程碑,则选择“目标版本”这一项 |
跟踪者 | 如果除负责人之外还有其他人员与此问题有关,则选择此项 |
文件 | 在此添加相关图片或文件 |
父任务 | 要与父任务相关联时,在此输入父任务的编号 |
开始日期 | 添加着手处理该问题的日期。可直接使用默认日期(创建日期) |
计划完成日期 | 希望在哪一天之前完成此问题里的内容 |
预期时间 | 如果预估了工作时间,可写入此栏 |
% 完成 | 直接用 0% 即可 |
1 新建项目默认跟踪标签只有“功能”“错误”“支持”3 项,不过用户可以通过管理界面里的“跟踪标签”页面增加、删除和修改选项。这里的“任务”和“需求讨论”应该是作者自己创建的。——编者注
5.1.3 整理问题
在问题中描述工作内容,根据内容进行操作和实现,将完工的问题的状态改为“已关闭”。当这一系列周期顺风顺水时,我们会发现问题一个个减少,有一种项目向着成功迈进的感觉。
然而,因需求变更导致问题的内容与最新需求产生偏差,或是负责人设置不当等问题经常会导致开发无法进行下去,结果就是无人问津的问题越积越多。一旦问题堆积起来,我们将不知道自己还剩多少工作要做,自然也就看不到项目的终点。
为防止无人问津的问题越来越多,我们需要定期整理问题。问题的整理方法如下。
① 问题分类
按更新顺序重新排列未结束的问题。更新日期较早的问题大多已经停滞,所以可以根据日期从旧到新进行查看。
② 查看问题
查看问题里写的工作内容。确认工作内容与实施目标是否一致,以及负责人是否合适。
③ 结束、驳回问题
如果发现内容与其他问题重复,则注明对应问题编号并结束当前问题。如果工作内容与当前需求出现很大偏差,则写明理由并驳回该问题。
④ 修正问题
如果工作内容不明确或有错误,则要将内容修正至能正确进行为止。如果工作内容涉及面太广,同时出现多名负责人,则可以按照 5.1.4 节说明的方法进行分割。
⑤ 分配问题
将问题指派给合适的负责人。有些工作内容会涉及多名负责人,此时要根据工作优先级挑选出一名主要负责人。
要是等问题堆积起来再去整理,那我们很可能要在这上面耗上一整天,结果耽误本来该干的工作。建议各位平时就抽出一丁点时间来整理它们。
5.1.4 分割问题
当既有问题久久无法完成时,就需要我们重新审视该问题的目标了。因为我们在创建问题的时候,很可能没注意到其中暗藏的大量工作。一旦遇到这种情况,就应该把这些暗藏的任务分割到其他问题中。
这样一来,我们就可以把暂时不需要处理的内容向后放,或者将分割出来的问题交给其他负责人。另外,把每个项目都细分成问题还有助于管理。Redmine 能够给问题添加关联,比如设置父子关系,或者将几个问题设置为“相关问题”等,这对管理的帮助很大。
当然,我们也可以在最开始就把工作细分成较小的问题。这个分配工作既可以在着手该项目时进行,也可以等到必要时再做。重要的是,要根据工作量以及工作内容的复杂度合理分配任务,然后整理成问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论