软件过程管理的最佳实践

标签: 软件过程 管理 最佳实践 | 发表时间:2012-12-14 16:43 | 作者:
出处:http://www.iteye.com
不可否认,在现实的软件开发项目中,的确存在类似下图所示的情况。



其实这些问题都是可以避免的。本文就来探讨一下有关软件过程管理的最佳实践。

1.  定义团队成员的角色和任务

要想提高工作效率,团队成员的角色应明确界定。这些角色可以是项目经理、团队领导、开发者、测试者等。此外,这些角色的授权和责任应该很清楚地定义。基于任务分配的开发方式应该可以避免工作冗余和局面混乱。

2.  确定会议类型

如果会议谈论的是软件过程管理,那么该会议就是非常重要的,同时应该先确定一下会议的准则(如与会人员、内容、持续时间等),团队成员应该遵守会议规则。这种会议将更有成效,且避免造成不必要的时间浪费。

3.  定义文档策略

每一个软件过程要有一个文档策略,无论是敏捷开发,还是极限开发,可以记录待办工作、经验教训、bug信息等。同时,应明确界定这些文档类型,如文档的物理属性、标准章节、文档更新周期、版本编号等,这样可以确保连贯的、可理解的、更有效的开发。

4.  定义软件质量指标并进行测量

有很多 软件质量指标,如代码行、圈复杂度等,可以根据软件类型,来决定使用哪种测量指标。开发团队可以定期讨论和评估这些指标,这将有效提升产品的质量。

5.  问题/需求跟踪

需求管理或问题跟踪是软件开发中的关键点之一,它们决定了软件的范围,还支持可追溯的功能测试。可以选择一些实用的工具来做这项工作。

6.  版本控制

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

7.  测试

测试是软件开发的主要阶段之一。任何类型的软件项目都应该进行单元测试,除了一些用户界面代码。其他一些测试类型(如系统测试、用户测试、集成测试等)也应该定义清楚、一致。这将提高产品的质量,并减少错误。

8.  依赖管理

由于软件项目的增长,可能会包含很多外部库(jar、dll等)或项目(外部项目或公司内部项目)。如果这些信息不准确,会对以后的版本维护带来混乱和时间消耗。可以制定依赖关系管理策略,并使用工具来提高生产力。

9.  经常进行代码审查

代码审查是高质量代码的关键。首先,它会强制开发人员产生更好的代码,此外,还可以使初级开发人员从高级开发人员那里学习到更好的编码方法。开发人员可以通过结对编程的方式来进行。

10.  记录项目中的经验教训

即使是经验丰富的成员,在项目中也有可能出现不可预见的事件,这会阻碍或延缓开发进度。这些事件可能是复杂的项目配置、错误信息、项目疑难点等,可以将它们优先总结成“经验教训”,并共享,这将有效避免发生同类事件时的时间浪费,使软件开发更高效。

英文原文: 10 Software Process Management Best Practices

感谢 wangguo 投递这篇资讯

已有 1 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [软件过程 管理 最佳实践] 推荐:

软件过程管理的最佳实践

- - ITeye资讯频道
不可否认,在现实的软件开发项目中,的确存在类似下图所示的情况. 本文就来探讨一下有关软件过程管理的最佳实践. 1.  定义团队成员的角色和任务. 要想提高工作效率,团队成员的角色应明确界定. 这些角色可以是项目经理、团队领导、开发者、测试者等. 此外,这些角色的授权和责任应该很清楚地定义. 基于任务分配的开发方式应该可以避免工作冗余和局面混乱.

SeaJS 里版本号和时间戳管理的最佳实践

- 别致 - 岁月如歌
用 seajs 组织项目,上线后,经常需要更新特定文件或所有文件的时间戳,以清空浏览器缓存. 这种方式很简单直观,弊端也很明显:文件一多,时间戳会分散在各个文件,维护起来不方便. 第二种方式是利用 alias:. 这种方式用来维护 jquery 等类库模块的版本号是非常方便的. 但用来加时间戳,文件一多时,依旧不方便.

系统管理员最佳实践准则

- - 博客 - 伯乐在线
本文翻译自  iSystemAdmin 的 《 Best Practices for System Administration Daily Work》. 希望你们每日的系统管理工作都进行的一切顺利. 有时候每天做相同的工作会显得很单调,但这种感觉只会在你没有尝试在服务器上捣鼓些新花样时才会出现.

文章: Hadoop管理员的十个最佳实践

- - InfoQ cn
接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当. 白皮书下载:利用您的私有或混合云加速业务成果.

jQuery最佳实践

- andi - 阮一峰的网络日志
上周,我整理了《jQuery设计思想》. 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery". 今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osmani的PPT《提高jQuery性能的诀窍》(jQuery Proven Performance Tips And Tricks).

PHP最佳实践

- xiangqian - 阮一峰的网络日志
虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构. 它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践. 我觉得,这是很有参考价值的学习资料,类似的文章网上并不多,所以一边学习,一边就把它翻译了出来. 根据自己的理解,我总结了它的MVC模式的实现方式(详细解释见译文):.

MongoDB最佳实践

- - NoSQLFan
将 MongoDB加入到我们的服务支持列表中,是整个团队年初工作计划中的首要任务. 但我们感觉如果先添加一项对NoSQL存储的支持,而不是先升级已支持的关系型数据库,可能对用户不太好,毕竟目前的用户都使用关系型数据库. 所以我们决定将引入MongoDB这项工作放到升级MySQL和PostgreSQL之后来做.

Dockerfile 最佳实践

- - DockOne.io
在容器领域,Docker 公司提出的容器镜像已经成为目前容器打包交付的事实标准. 构建镜像需要编写 Dockerfile,如何编写一个优雅的 Dockerfile 呢. 在 Docker 公司的官方文档中给出了一篇:《 Best practices for writing Dockerfiles》.

文章: Grails最佳实践

- - InfoQ cn
我在IntelliGrape工作,这是一家专门使用Groovy & Grails进行开发的公司. 本文是我们Grails项目遵循的最佳实践的基本清单,收集自邮件列表、Stack Overflow、博文, 播客和 IntelliGrape的内部讨论. 它们分为控制器、服务、Domain、视图、TagLib、测试和其他.

PHP最佳实践(译)

- - CSDN博客Web前端推荐文章
原文:  PHP Best Practices-A short, practical guide for common and confusing PHP tasks. 译者: youngsterxyf. 本文档最后审阅于2013年3月8日. 由我, Alex Cabal,维护该文档. 我编写PHP程序已有很长一段时间了,当前我 经营着 Scribophile,由认真作家组成的一个在线写作团体,  Writerfolio,为自由职业者提供的一个易用写作工具集,以及  Standard Ebooks,一个图文并茂、无数字版权管理的公共领域电子书出版商.