【转】10 个软件过程管理的最佳实践

不管是什么类型的软件过程管理(瀑布式,敏捷式,迭代式等等),在软件过程管理中都有一些需要考虑的主要的规则。在本文中,我们将介绍一些最为重要的实践理论:

**1.为团队成员定义角色身份和分配任务:**为了高效地运作,团队成员的角色身份必须定义得非常清晰。这些角色身份通常包括项目经理、团队主管、开发人员、测试人员等等。此外,这些角色的授权和责任的定义也必须非常清晰。基于开发的任务分配也必须避免有冗余的工作和混乱的任务分配。

**2.定义会议类型:**我们提到软件过程管理,那么不得不提会议,因为会议在软件过程管理中起着非常重要的作用,所以,我们必须把会议定义得非常详细(会议的参与者,会议内容,会议平均时长等等)。团队成员必须遵守会议的规则。这将会使会议和开发过程更加高效,并且避免出现不必要的时间延误。

**3. 定义文档策略:**每一个单独的软件过程都有一个文档策略,即使是敏捷或者极端的方法(未交付的工作,经验教训信息,BUG等等)也应该有文档策略记录。这些文档类型必须清晰地定义(文档物理属性,标准段落,文档更新周期,版本编号等等)。为了一致性,可理解性和更有效的软件生产过程。

4**.定义软件质量测量指标并且测量软件的质量:**
在软件领域,目前有许多度量标准(代码行数,循环复杂度等等)。根据软件类型的属性,可以选择其中的一些属性来做质量测试和增长代码处理。这些信息可能会被周期性地讨论和产品质量在评价之后将会被增强。

**5. 执行问题/需求追踪:**需求管理或者问题追踪是软件开发中重要的环节之一。它们决定了软件的范围,为功能性测试提供了可追溯性基础。这些问题/需求更喜欢被有用的工具所保存和管理,并且,这些工具不仅仅只有文本编辑功能,还有其他更多的功能。

6. 版本控制
版本控制也相当关键。这应该包括代码和其他文件的版本控制,这允许开发团队协同工作、并可以回溯到之前的代码版本。版本策略(如版本编号、版本周期等)也应明确确定,以达到一致性。

**7. 执行测试: **测试是软件开发的主要阶段。除了少数特殊情况,比如用户接口代码,任何类型的软件都应该执行单元测试。其他测试类型 (系统,用户,集成等等。) 应该定义明确,并且持续按照定义执行。这将提升软件质量和减少bug。

**8. 执行依赖管理: **由于软件工程的不断壮大,包含了更多的库 (jar, dll, ...) 或者工程 (外部工程或者公司内部工程) .如果那些项目添加的不严谨,后续的更新或者版本变化将会导致混乱和消耗更多时间。为了生产效率,我们应该使用依赖管理策略和工具。

9. 经常性的执行代码审查: 代码审查带来的是高质量的代码。首先它能促使工程师写更好的代码,因为审查是其他人控制的。 此外, 高级工程师的修正可以让初级工程师很快学会如何编写好的代码。因此, 代码审查是结对编程的一部分,并且它提高了生产力。

**10.为您的项目保存「经验教训」信息:**即使项目中有经验丰富的人员,也可能出现不可预见的事件阻碍或延缓开发进程。它可能是一个复杂的配置 项目、一个错误、或是产品体验等。发生的事情最好写成「 经验教训」文件并分享 在 公 开 位 置。这将避免重复的时间损失,并使 软件开发 管理更高效。

英文原文:10 Software Process Management Best Practices
原文地址:10 个软件过程管理的最佳实践

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址