近十年来,软件过程越来越成为人们关注的焦点,正在打破过去人们已经习惯的面向任务的思维方式,逐渐加强面向过程的思考,软件开发和维护的运作以过程为中心的方式在进行。正如软件工程领域领袖级人物、能力成熟度模型(CMM)奠基人瓦茨·汉弗菜(Watts Humphrey)所说,要解决软件危机,首要的任务是把软件活动视作可控的、可度量的和可改进的过程。

其实,通过下面这个“七人分粥”寓意的小故事,就很清楚地说明软件过程的重要性。

有7个人曾经住在一起,每天分一大桶粥。要命的是,粥每天都是不够的。

  1. 一开始,指定一人负责分粥事宜,很快大家发现,这个人为自己分的粥最多最好,于是推选出一个道德高尚的人出来分粥。强权就会产生腐败,大家开始挖空心思去讨好他,搞得整个小团体乌烟瘴气,显然这个方法不行。
  2. 指定一个人分粥和一个人监督,起初比较公平,但到后来分粥的人与监督的人从权力制约走向“权力合作”,于是只有这两个人能吃饱,这种方法也失败了。
  3. 谁也信不过,干脆大家轮流主持分粥,每人一天。虽然看起来平等了,但是每人在一周中只有1天吃得饱,其余6天都吃不饱,而且每天粥还有剩的,这种方法造成资源浪费。
  4. 民主选举一个3人分粥委员会和一个4人监督委员会,实行集体领导,公平是做到了。但是,监督委员会经常提出各种议案,分粥委员会据理力争,等粥分完时,粥早就凉了,此方法效率太低。
  5. 最后想出来一个方法——每个人轮流值日分粥,但分粥的那个人要最后一个领粥。令人惊奇的是,结果7只碗里的粥每次都是一样多,就象用科学仪器量过一样。因为,每个主持分粥的人都认识到,如果每只碗里的粥不相同,他无疑将拿到那份最少的。

同样是7个人,不同的流程和方法,就会造成迥然不同的结果,包括效率、成本上的差异。从这个故事可以看出,有什么流程,就有什么结果,流程决定了结果。

业务流程重组(BPR是另外一个例子,许多企业通过业务重组拯救了自己或从经营业绩的低谷走出来。业务流程重组,就是改变过去纯目标管理的思想,强调管理过程的重要性,实现从职能管理到面向业务流程管理的转变。业务流程重组注重整体流程的优化,确定了“组织为流程而定,而不是流程为组织而定”的指导思想,充分发挥每个人在整个业务流程中的作用。

软件过程管理体现在过程模型、规范、问题处理方法和具体实践等一系列内容之上,但首先体现在组织的文化中,即建立过程管理的先进理念:

  • 以客户为导向、以过程为中心。
  • 好的过程就能产生好的产品。
  • 尊重流程,自上而下,依赖流程。
  • 只关注质量过程而不是质量结果。

过程管理的先进文化一旦在组织中建立起来,其他问题就迎刃而解。软件过程管理存在的最大障碍可能不在究竟用什么过程模型或过程管理系统,而是在于软件企业自身的传统的管理理念和思维方式,树立和保持企业全体人员的正确的、先进的理念,比推广一个管理工具要难得多。所以,软件过程管理得关键是建立正确的过程管理文化。

  在当今互联网蓬勃发展的时代,软件企业面临着巨大的挑战。顾客需求瞬息万变、全球性竞争环境和技术创新不断加速等,导致产品生命周期不断缩短、商业模式不稳定,软件过程管理必须适应这种变化,CMM没有几年前那么火热而开始受到了的一些冷落,敏捷过程管理越来越受到推崇。同时,IBM-Rational的统一过程(RUP)管理和微软的过程管理框架(MSF)在保持其核心内容的前提下,也在不断进行调整,加入新的内容,以适应软件商业模式和开发模式的变化。所以,从这个意义上说,没有一成不变的软件过程管理模式,也没有放之四海而皆准的、通用的软件过程管理模式。软件过程管理模式应该是在不断发展的,就每个具体的软件组织和企业,应该选择适合自己的过程管理模式,并且也可能不只是选择一种模式,而是选择多种模式,以一种模式为主,对其他模式兼收并蓄,形成更有效的软件过程自定义模式。

本书正是从上述基本思想出发,来讨论软件过程管理,以期望对读者及其所在的软件组织有更大的启发和帮助。

全书共10章,全面介绍了软件过程管理的各个方面,包括软件过程规范、软件过程的组织管理、项目管理、质量管理、需求管理等,最后介绍了软件过程评估和改进、软件过程管理实例。

1 介绍了软件过程规范的内容、影响和作用,全面阐述了软件生命周期的过程需求和过程标准体系。最后介绍了基于UMLIDEF3Agent自适应、SOA等各种方法的软件过程建模。

2 相继介绍了软件过程不成熟的特点、软件过程成熟的标准、能力成熟度模型(CMM/ CMMI)的基本内容、系统工程能力模型和集成化产品开发模型。并就过程成熟度级别及其特征、可视性和过程能力等展开讨论,包括CMM/CMMI过程域。最后介绍了软件过程文化、环境和过程框架等。

3 软件过程组织管理的描述,包括组织过程焦点、过程定义、过程剪裁等。着重讨论了PSPTSP过程框架,包括工作流程、计划、设计与实践等具体内容。

4 软件过程的需求管理,主要介绍了软件需求工程、需求开发和管理的模型、需求管理工作流程、需求获取的过程和方法、需求定义过程和需求的确认、跟踪和变更控制。

5 描述了软件过程的技术架构及其层次、内容等,重点讨论了软件过程的资源管理、技术路线、问题解决的系统方法,包括原因分析和缺陷分析、决策分析与决定、技术解决计划的建立和实施、知识传递和各类过程管理的技术工具等。

6 介绍了项目启动和项目实施过程序要解决各种问题。主要内容包括了项目的配置管理,风险分析,资源和成本估算,项目跟踪等。

7 说明了质量控制的重要性,也介绍了控制软件质量的方法和手段。通过本章的学习可以基本掌握软件评审的方法和技术,以及软件缺陷的分析和有效移出。

8 软件过程的集成管理,主要介绍了项目的集成管理流程。重点内容包括产品集成的过程管理、集成产品开发模式、产品及周期优化方法、IPD过程框架模式以及市场过程管理、流程重整、产品重整和新产品开发等。

9 首先阐述了软件过程评估和改进的基本思想和方法,然后相继介绍了各种常用的评估和改进模型,如ISO/IEC 15504BootstrapTrilliumCMM/CMMI的评估体系以及质量改进范例、IDEAL模型、Raytheon方法、6 Sigma方法等过程改进模型和方法。

10 通过具体实例进一步阐述了软件过程的管理,介绍了IBM-Rational 业务驱动开发的RUP、微软公司MSF、敏捷过程管理、面向构件的软件过程和软件过程的自定义体系。

每一章的最后都有本章的小结和思考题,以便帮助读者理解每一章的内容。

本书特别重视理论与实践相结合,使读者既能领会基本原理,又能掌握原理的实际应用。因此,它既适合软件公司中的软件工程师和管理人员阅读,也适合软件质量管理的专业人员和实践人员。同时,本书很适合作为计算机软件、软件工程学科大中专学校的教材。

“七人分粥”- 介绍新书《软件过程管理》相关推荐

  1. 读《七人分粥》悟管理之道

    教学中,经常会给学生讲到"七人分粥"这个经典的管理小故事.今天,"梅言乱语"一番,说说"七人分粥"带来的启示-- ◆<七人分粥> ...

  2. 七人分粥-有什么流程,就有什么结果

    七人分粥--小故事 七人分粥"寓意的小故事,就很清楚地说明软件过程的重要性. 有7个人曾经住在一起,每天分一大桶粥.要命的是,粥每天都是不够的. 一开始,指定一人负责分粥事宜,很快大家发现, ...

  3. 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理

    第七章.Linux文件与目录管理 最近升级日期:2009/08/26 在第六章我们认识了Linux系统下的文件权限概念以及目录的配置说明.在这个章节当中,我们就直接来进一步的操作与管理文件与目录吧!包 ...

  4. 第七章、Linux 文件与目录管理

    第七章.Linux 文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH 2. ...

  5. 七人拼团系统开发模式,助力企业三个月新增超十万会员!

    现在市场上最不缺的就是好产品,产品在市场上目前已经趋于饱和.要想让自己的产品或企业快速打入市场,最好的办法是结合好的营销模式,让企业快速起步裂变提升销量.现在就有这么一款模式,助力企业在三个月内就新发 ...

  6. 七人拼团会员模式“数据”表明一切

    拼团是一种快速有效的营销活动,它使用裂变方式,促使参与者自发传播,堪称营销神器.数据小牛小牛的 拼团近几年红遍大江南北,期间陆续衍生了不少拼团平台,某多多也借着拼团玩法的东风顺利上市.拼团火热的一个重 ...

  7. 六个经典故事改变你的职业生涯 之6 分粥的故事

    有七个人曾经住在一起,每天分一大桶粥.要命的是,粥每天都是不够的. 一开始,他们抓阄决定谁来分粥,每天轮一个.于是乎每周下来,他们只有一天是饱的,就是自己分粥的那一天.后来他们开始推选出一个道德高尚的 ...

  8. OSI七层模型简单介绍

    OSI七层模型 简单介绍 七层模型,亦称OSI(Open System Interconnection).参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OS ...

  9. 软件过程管理期末复习(二)

    软件过程管理选择填空题 1.1过程是指一组将输入转化为输出的相互关联或相互作用的活动,活动由(输入).实施活动和(输出)三个环节组成. 1.2过程一般可以分为:产品实现过程.(管理过程)和(支持过程) ...

最新文章

  1. C# 温故而知新:Stream篇(二)
  2. 3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR20
  3. blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据
  4. 后台管理系统怎么实现操作日志原理_springboot角色权限后台管理系统脚手架实战开发教程包含完整源码...
  5. vim使用四个空格代替TAB键
  6. [数据结构与算法]平衡二叉树实现
  7. C++实现基数排序(附完整源码)
  8. Android 开源框架Universal-Image-Loader学习
  9. spring学习(26):更优雅的依赖注入 在@bean注入参数
  10. java new对象 =null_在Java中将对象分配为null会影响垃圾回收吗?
  11. CVPR2019 oral 目标跟踪算法之SiamRPN++
  12. HBuilder打包App方法
  13. Java设计模式透析之 —— 适配器(Adapter)
  14. centos7网络环境配置(optenstack环境配置)
  15. MySQL数据库(五)
  16. 虚拟服务器ftp文件权限修改,虚拟主机用户ftp和apache用户文件互操作权限解决方法...
  17. 怎样做中国的自由译者
  18. MCU学习笔记_UPF
  19. SEO人员,为什么要做流量过滤,如何操作?
  20. 性能测试指标及常用监控工具

热门文章

  1. 阿里大牛都在读的10本Java实战书籍,Java开发进阶必备书单
  2. layabox Native 自己下载资源并缓存
  3. 成都影创入选成都新经济百家重点培养企业名单
  4. MySQL报错原因:ERROR 1292 (22007): Incorrect date value: ‘1988‘ for column ‘birthday‘ at row 1
  5. matlab双线性z变换法设计数字低通滤波器
  6. 官方授权正版 Surfer 中文网站 专业 2D/3D 地理绘图软件
  7. Unboxing造成的NullPointerException
  8. 书P85 例5-3 冒泡算法问题
  9. HTC VIVE 定位器未同步问题
  10. 7月6号,巴比特和TA的朋友们专属酒会,你来不来?