阅读更多

26顶
0踩

研发管理
不可否认,在现实的软件开发项目中,的确存在类似下图所示的情况。



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

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

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

2.  确定会议类型

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

3.  定义文档策略

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

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

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

5.  问题/需求跟踪

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

6.  版本控制

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

7.  测试

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

8.  依赖管理

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

9.  经常进行代码审查

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

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

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

英文原文:10 Software Process Management Best Practices
  • 大小: 118.6 KB
26
0
评论 共 12 条 请登录后发表评论
12 楼 ccxw1983 2012-12-20 19:17
再者谈共享,国人就是没共享意识,连代码公用方法都懒的提炼,或者说没时间去做,项目经理不在乎,项目不给时间。
11 楼 ccxw1983 2012-12-20 19:16
学校的时候教的好,到了实际的时候,什么能省不能省,都会想办法想当然的省了。
10 楼 Julien 2012-12-20 15:24
架构课的老师是这么说的,全部按照规范做,一行代码还没编的时候,三十万成本已经花出去了。
对,这些问题都是可以避免的,只要不想赚钱。
9 楼 liu2936718 2012-12-20 10:31
  
图片很实际
8 楼 dianthus 2012-12-20 10:27
很有意思哦
7 楼 wanxiaotao12 2012-12-19 09:40
图片将软件的开发过程描述的很清楚
6 楼 lsjinpeng 2012-12-18 18:54
    
5 楼 leaow567 2012-12-18 13:53
图片已经解释了,文字就不必看了,哈哈
4 楼 iamyuyingqiang 2012-12-17 10:40
还是图片最好
3 楼 Aaronic 2012-12-17 10:40
》》其实这些问题都是可以避免的。

啧啧,这口气......似乎你已经找到银弹了
2 楼 qkjava 2012-12-14 23:26
这图片 描述的很不错
1 楼 hantsy 2012-12-14 16:50
好老的图片啊

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 软件项目过程管理矩阵模型研究与实践

    讨论了软件项目组织架构、计划与过程控制等软件项目管理要素,提出了矩阵式项目管理模型,分析了该模型中业务知识与计算机技术共同作用所能达到的最佳效果,讨论了需求管理模型及其应用,实践证明该模型是行之有效的...

  • 做软件开发都要做哪些工作:软件过程管理的最佳实践

    做软件开发都要做哪些工作:软件过程管理的最佳实践?不可否认,在现实的软件开发项目中,的确存在类似下图所示的情况。  做软件开发都要做哪些工作:软件过程管理的最佳实践?不可否认,在现实的软件开发项目中,...

  • 软件质量管理6大最佳实践

    软件形式上是产品,本质上是服务,是高科技计算机信息技术和人类创新智慧的 结合。在软件产品的研发过程中,软件质量一直处于最为核心的地位。...这里总结了软件项目质量管理的6大最佳实践,供同行参考。

  • 挑战 IT 运维最佳实践-软件开发全过程管理研讨问题

    软件开发全过程管理研讨问题 挑战 IT 运维最佳实践

  • 软件需求最佳实践笔记(一)

    需求验证最佳实践 3、需求管理 需求基线操作实务 变更管理操作实务 需求跟踪操作实务 4、总结 SERU过程框架总结 2.软件需求最佳实践笔记 | 需求实践现状 一、软件项目失败的根源 在信息化高速发展的今天,构建与时倶...

  • 《软件过程管理》 第一章 软件过程规范

     软件过程管理可以为快速开发高质量软件、有效地维护软件运行等各类活动提供指导性框架、实施方法和最佳实践。软件过程规范可以保证过程活动的一致性、有效性和持续性。 第一章 软件过程规范 一、软件过程 ...

  • 软件过程与管理总复习

    软件过程规范1.1 过程的定义1.1.1 过程的定义1.1.2 软件过程的分类和组成1.1.3 软件过程定义的层次性 1.2 过程规范1.2.1 什么是过程规范1.2.2 过程规范的内容和示例 1.2.3 过程规范的影响和作用 1.3 软件生命周期的...

  • IT项目管理最佳实践(管事篇)

    最佳实践 可归并入的过程组 可归并入的知识领域 1 在制定项目之前,应尽可能识别出项目干系人,特别是项目的主要干系人 启动 项目干系人管理 2 在项目正式开工之前,应该和项目各方商定并签署工作协议...

  • 什么才是软件开发中最佳实践呢?

     做源代码管理,当时组里共9人,有7人只会 SVN,但我坚持 Git 是 “最佳实践”。要不说年少无知少不更事呢,罢了,后来的事情我不想回忆了…… 那次项目之后,我再也不在一群只会 SVN 的队伍里提 Git 了。     一...

  • 【架构实践】软件架构设计最佳实践

    3、软件架构的设计过程;(4)结合多个案例,分析关键功能需求,质量属性需求,约束对架构的影响(项目错误的架构,导致不能最终验收)6、SOA架构、企业集成系统架构、企业门户架构的设计实践;(5)表现层的设计框架...

  • RUP(统一软件开发过程)之最佳软件开发实践

    Rational统一过程:简称为RUP 是一个软件开发过程 是一个过程产品 是一个过程框架 包含了6个最佳软件开发实践 为所有方面和层次的程序开发提供指导、模板和工具指南的支持。 软件工程的三个要素是:工具、方法和...

  • 软件开发过程与项目管理(8.软件项目质量计划)

    软件开发过程与项目管理(8.软件项目质量计划) 课件 软件质量基本概念 质量定义 质量是满足要求的程度,包括符合规定的要求和满足顾客隐含需求。 软件质量定义 软件质量是软件满足明确说明或者隐含的需求的程度 ...

  • 六个最佳的软件工程实践(迭代化开发、需求管理)

    今天我们来介绍六个最佳经验的前两个:迭代化开发和需求管理。对应的英文部分可以参看前面的图文。迭代化开发主要理解瀑布模型在需求变更方面带来的缺陷,以及迭代化开发的基本步骤,从风险控制的角度,迭代化开发...

  • 软件项目管理课后习题——第1章软件项目管理概述

    (11)为相同的功能组合而实施的一系列应用开发项目,作为(B)的一部分,后者能够得到更好的管理。(4)有效的项目管理要求项目管理团队理解和利用以下专业知识领域的知识和技能,除了(C)。(10)(A)就是将知识...

  • Java日志管理最佳实践

    本文介绍了在Java程序中记录日志的最佳实践,同时也介绍了如何使用开源软件对日志进行聚合和分析。 在 IBM Bluemix 云平台上开发并部署您的下...

  • 软件工程基础知识--软件过程模型

    软件过程模型习惯上也称为软件开发模型,它是软件开发全部过程、活动和任务的结构框架。典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化方法模型等...

  • 自我介绍

    唯前进我是一个起码是我认为的沉着的,冷静的,偏执的人.我来自西南交通大学计算机通学院03科学技术专业.我的爱好:软件应用及其开发,操作系统应用技巧.我的目标:做一个可以用我的名字命名的大型项目.现在正在做的潜心学习C#告诉正在看我介绍的你一个秘密:我喜欢哲学,心里学.愿我们这样的热血青年的道路正如我们想象的一样美好和辉煌. 

Global site tag (gtag.js) - Google Analytics