设为首页 | 加入收藏
认证中心 当前您的位置:软件信息产品认证>>认证中心
GJB5000A软件成熟模型注释

★GJB5000A认证知识★---★GJB5000A软件成熟模型注释★

国军标一:GJB 5000A-2008模型的宏观把握
    一个组织的成熟首先是从加强管理开始的。很多从技术岗位出身的人,内心里往往认为只要有了好的技术,什么产品都能做出来。但是事实表明,在一些非常大的项 目中,很多失败都是由管理因素造成的,而管理又是通过过程来实现的。规范式方法论尽管管理上的成本提高了,但远远比不遵从这些方法(游击队似的疯狂开发) 更经济有效,因为它减少了意外和返工的工作量。更重要的是,它可以保证每个人都知道自己该干什么事情,确保整个组织运转成为可能。
    如果没有计划和规范,尽管某些局部可能成功,但整体上可能永远也不会完成,所带来的管理成本可能会更高。管理层所做的事情可能就是周而复始的协调、协调、再协调,这无疑是管理上的一场噩梦。
    正是由于这个认知,我军总装备部发布的GJB 5000A-2008意义就非常巨大了。GJB 5000A-2008是一个循序渐进的改良模式,通过过程改进活动,使一个组织的软件开发由最初的无纪律状态,逐渐学习到成熟而有制度的境界。国内有些机构以过级为目的,注重短期效应,只在文档格式上下功夫,这是不可取的,这也是为什么很多企业级别虽然很高,但实际表现却并没有那么好的根本原因。组织的成熟是需要经过长期的努力的,GJB 5000A-2008要求所有软件开发组织的评估一律从二级开始,打好基础逐步提升,这是非常有道理的。
 
一、过程及其定义
    一般来说,系统从一个状态(始态)变成另一个状态(终态),我们就说:发生了一个过程(Process)。过程是一种手段,通过该手段可以把人、方法与规程、技术与工具进行集成,以产生一种所期望的结果,如下图所示。


    换句话说,过程就是人们使用相应的方法、规程、技术、工具等把原始材料(输入)转化成用户需要的产品(输出)的活动。过程与产品存在因果关系,也就是说好的过程才能得到好的产品,而差的过程只会得到差的产品。
    问题在于当很多人说到过程的时候,总是关注流程和规范,以为有了好的流程就一定会有好的工作成果了。很可惜事实告诉我们不是这样的。过程的关键因素是人, 过程改进的一个重要目的是提高人的水平,所以需要加强培训,需要在过程改进中发现问题、改进方法、形成共识,需要形成一种企业工作文化。没有了这个根本, 尽管有了好的流程、好的文档模板,最终还是没有意义的。
二、理解理解GJB 5000A-2008模型
    GJB 5000A-2008是一种组织成熟度模型,那么什么是模型呢?模型是由各个部件组成的聚合体,模型是一种抽象,模型不注重细节,但是更注重部件之间的关系。利用模型便于对问题的宏观理解。因此,要实践GJB 5000A-2008首先需要理解的就是模型了,GJB 5000A-2008模型整体框架如下图所示。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★


    概要的说,GJB 5000A模型部件分为三类:必需部件、期望部件以及资料性部件。
    1,必需部件
    必需部件表达的是为满足过程域所必须达到的目标。而目标是过程改进的基础,目标又包括专用目标和共用目标两种。
    1)专用目标:描述满足该过程域必须呈现的一些独特特征,在评估中用来确定是否己满足过程域。只有专用目标的陈述是必需的部件,其它的诸如标题、编号以及与该目标有关的任何解释都应视为资料性的部件。
    2)共用目标:描述所实现过程域的过程制度化必须呈现的特征,在评估中用来确定是否已满足过程域。“共用”的含义是同一个目标陈述应用于多个过程域。
    2,期望部件
    期望部件表达的是为实现必需部件通常应该实施些什么,用于指导过程改进和评估。期望部件又包括专用实践、共用实践两种。
    1)专用实践:描述为了取得过程域专用目标的成绩,所期望进行的一系列活动的描述。只有专用实践的陈述是期望的部件。其它的诸如标题、编号以及与该专用实践有关的任何解释应视为资料性部件。
    2)共用实践:描述为达到相关共用目标的的成绩,所期望进行的一系列活动的描述。“共用”的含义是同一实践应用于多个过程域。只有共用实践的陈述是期望的部件,其它的诸如标题、编号、解释都是资料性的部件。
3,资料性部件
    资料性部件表达组织如何处理部件需要考虑的细节,包括:
    1)目的:描述该过程域的目标。
    2)序言:描述该过程域所涉及的主要概念。
    3)相关过程域:列出有关过程域的参考,反映了过程域之间高层次的关系。
    4)典型工作产品:列出了专用实践的输出示例,称为“典型工作产品”是因为往往还有其它同样有效的工作产品。
    5)共用实践详细说明:提供关于如何将把共用实践唯一应用于该过程域的指导。
    6)子实践:解释为实施专用实践或共用实践提供指导的详细说明件。子实践仅仅提供对过程改进可能有用的观点。
    反复阅读和思考这些部件及其意义,就可以在头脑中展现出为达到既定目标,我们必须做些什么事情,而不至于像蚂蚁一样的忙碌而无效果,我们就能正确的制定达到目标的方略。所以研究GJB 5000A-2008与研究任何问题一样,先从宏观把握,再关注细节,这是成功之本。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

国军标二:GJB 5000A-2008的共用目标与共用实践
不论作为GJB 5000A-2008的第几级,有一个共用目标是必须达到的,那就是“制度化已管理过程”。也就是说,任何组织都需要把过程作为已管理过程来制度化。为了达成这个目标,需要有10个共用实践来支撑。
    1,制定组织方针:不管从任何方面来说,高层管理的支持是过程改进成功的关键。因此,首先高级管理层需要负责确定和交流指导原则、方向和组织的期望,从而建立和维护用于策划和执行过程的组织方针。
    2,策划过程:组织过程改进可以认为是一个项目,因此事先需要进行详细策划,包括:目标、计划、说明,并且需要与各方 面达成共识。这种共识很重要,由于过程改进是一个耗时耗力注重长远利益的活动,很多情况下会与当前具体工作短期利益发生冲突。由于没有达成共识,造成过程 改进半途而废的现象屡见不鲜。
    3,提供资源:仅仅有管理层重视和计划是不行的,重视就意味着需要提供资源,包括人员、时间、物资和政策,并要确保这些资源用于实施过程、开发工作产品,更重要的是需要提供过程服务。提供的资源应该是动态的而不是静态的。
4,指派职责:仅仅提供资源是不够的,高级管理层还必须指派职责和权限,明确谁负责什么?他的职责和权限是什么?避免 过程改进负责人到处求人无法开展工作,也没有办法检查他的工作成果。这些职责包括实施过程、开发工作产品并提供过程服务。实践证明,职责的清晰与权威性, 是过程改进成功的关键因素,大部分过程改进工作的失败,都与过程改进小组职责不清权威不足有关。
5,培训人员:人是不会天生具备某种能力的,为保证过程改进的成功,通过培训来提高实施或支持过程人员的水准与共识就显得极其重要,这也是任何过程改进工作无法逾越的一步。
6,管理配置:我们应该看到,软件产品是极其容易变化的,强调配置管理和版本控制,正是一种应对变化的手段。需要把过程的指定工作产品置于适当等级的控制之下,建立和维护过程的指定工作产品在其整个生存期内的完整性。
  7,标识并吸纳利益相关方:在过程实施期间建立和维护期望的利益相关方参与。要明确的标识哪些是利益相关方,并且通过计划中的活动来支持这种参与。
    8,监督并控制过程:与任何项目一样,过程改进计划的执行需要进行监控,需要达到计划与控制如影相随的境界。要保持对过程的适当可视性,不但要监督计划的执行,也要收集执行状况的反馈,这些反馈很可能会改变计划,以确保计划是正确的而且可行的。还需要注意,监控数据必须是可度量的。
9,客观评价遵循性:在过程中,必须客观评价过程对其过程说明、标准和规程的遵循性,并处理其中的不符合项。通常是由不直接负责管理或实施过程活动的人员来评价遵循性的,这样才可以保证其客观性。请注意,必须保证即使在过程受到压力期间(工作滞后、预算超支),也能提供可信的遵循性保证。
10,与更高层管理者一起评审状态:通过评审确保对策划和实施过程能作出有远见卓识的决策,对于过程改进的意义特别重 大。这种评审可以定期进行,必要时也可以由事件驱动来进行。因此必须向更高层管理者提供对过程的适当可视性。在整个过程改进的活动中,要注意到与更高层管 理者一起评审过程的活动、状态和结果,并解决异议。
对于第三级,则要达到共用目标3:制度化已定义过程。即将过程作为已定义过程制度化。需要达到的共用实践有2个。
1, 建立已定义过程:即建立个维护已定义过程的说明。
2, 采集改进信息:采集由策划与实施过程所导出的工作产品、测度、测量结果和改进信息,以支持将来使用和改进组织过程和过程资产库。
通过上面对共用目标与共用实践的说明,我们会发现几个关键点:
  1,高级管理层的支持是关键。
  2,把过程改进当成一个项目,所有项目管理的要素都应该存在。
  3,要加强培训,确保所有人员有相应的知识和共识。
  4,所有利益相关方都应该参与过程改进工作。
   5,必须与高级管理层一起评审状态。
  6,没有共识、没有职责、没有权限,任何事情都不可能成功。
    因此,这个共用目标不仅仅是纸面上的,而是过程改进成功的保证,而且是关键性的保证。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

共用目标2(GG2) 制度化已管理过程——将过程作为已管理过程制度化——对应共用实践GP2.1-GP2.10
共用目标3(GG3) 制度化已定义过程——将过程作为已定义过程制度化——对应共用实践GP3.1-GP3.2
建立(制定)和维护——1、存在(文档化、覆盖诸PA)2、全组织/全程使用(必须查到证据、通常由QA审核提供)3、相关方评审4、及时修订,确保有效5、自始至终一致地遵循(全员、全程、一致)
编号 名称 概述 关注点 弱项
GP2.1 制定组织方针 建立和维护用于策划和执行组织的过程方针 1. 存在否?
2. 高层原则
3. 组织期望、管理承诺
4. 相关方可视
5. 建立和维护
6. 毋需与PA一对一 1. 不存在
2. 不遵循
3. 从未使用
4. 有效性≈0
GP2.2 策划过程 制定和维护实施过程的计划 1. 按目标和实施要求策划
2. 将策划形成计划
3. 特定相关方参加评审
4. 计划实施证据
5. 制定和维护 1. 不遵循
2. 有效性≈0
GP3.3 提供资源 提供足够的资源,以实施过程、开发工作产品并提供过程服务 1. 人(知识够、技能足、已受训)、财、物(设施、工具)
2. 需要时可用(覆盖所有PA、活动)
3. 能完成预定任务
4. 资源需求可视性
5. 毋需与PA一对一 因资源不足而误事
1. 知识不够
2. 技能不足
3. 有人未受训
4. 有活动无资源
GP2.4 指派职责 指派职责和权限,以实施过程、开发工作产品并提供服务过程 1. 职责(有事有责、有责有权)和权利(总体、特定、个人、小组)
2. 合理,可用(责任人能力、相关方知情)
3. 全程动态赋/受、形式各异
4. 承诺(责任人允诺责权) 1. 无承诺
2. 有人无责
3. 有责无权
4. 群龙无首
GP2.5 培训人员 必要时,培训实施或支持过程的人员 1. 技能/知识
2. 形式多样
3. 准予免修(准则、规程)
4. 评估绩效(实效、反馈、调查)
5. 资料与记录
6. 毋需与PA一对一 1. 无免修准则
2. 无免修规程
3. 有效性≈0
4. 未受训比>50%
GP2.6 管理配置 将过程的指定工作产品置于适当等级的控制之下 1. 完整性(WP、时间、地点)
2. 控制选择(时机、等级)
3. 工作产品受控清单(选择准则、正在受控、计划受控) 1. 无准则(工作产品选择、受控时机、控制等级选择)
2. 不遵循
GP2.7 标识并吸纳利益相关方 按计划标识和吸纳过程的利益相关方 1. 标识相关方(供方、用户、实施者、项目成员)
2. 时机和程度
3. 共享和吸纳
4. 评估绩效
5. 建立和维护 1. 无证据(无直接证据、无间接证据或证词、不合适)
2. 无标识
3. 无责权
4. 不遵循
5. 有效性≈0
GP2.8 监督并控制过程 按执行过程的计划监督与控制此过程,并采取适当的纠正措施 1. 监控(直接管理者可视性、过程日常监控、过程现时绩效)
2. 测量(过程绩效、产品质量)
3. 评审(定期、事件驱动)(活动、状态平(标识偏离、标识异议、制定措施)、结果)
4. 纠正(措施、实施、评估)
期望针对计划提供过程现时绩效的适当可视性,以便必要时能采取纠正措施 1. 无测量
2. 无阈值
3. 放任不管
4. 即兴而为
GP2.9 客观评价遵循性 客观评价过程对其过程说明、标准和规程的遵循性,并处理不符合项 1. 客观性(言有据、行有规、公正独立)
2. 遵循性(过程说明、标准、规程、方针)
3. 绩效
4. 共识(无规范、非QA、不独立)
5. 不符合项 1. 无依据(过程说明、产品规范、活动规程、方针)
2. 不遵循(过程说明、产品规范、活动规程、方针、评价计划)
3. 有效性≈0
GP2.10 与更高层管理者一起评审状态 与更高层管理者一起评审过程的活动、状态和结果并解决异议 1. 可视性(更高层管理者(提供方针、总体指导、HM>>PM))
2. 评审(定期、事件驱动(阶段点、里程碑))(组织目标)
3. 证据(日程表、措施项)
4. 绩效 1. 绩效≈0
2. 只关注“鸡毛蒜皮”
3. 只关注进度,不关注质量
4. 只关注眼前,不关注长远
GP3.1 建立已定义过程 建立和维护已定义过程的说明 1. 组织标准过程集(剪裁指南)项目定义过程(过程说明、剪裁记录)
2. 遵循(组织标准过程集、剪裁指南)
3. 建立和维护
4. 毋需与PA一对一 1. 无剪裁指南
2. 无视组织的标准过程
3. 无视剪裁指南
4. 无视项目特征
GP3.2 采集改进信息 采集由策划与实施过程所导出的工作产品、测度、测量结果和改进信息,以支持将来使用和改进组织过程和过程资产库 1. 纳入组织资产库(工作产品、经验教训、改进信息(NCI、缺陷数(引入、排除)、规模、工作量、进度、建议))
2. 纳入测量库(测量项、测量值)
3. 毋需与PA一对一
期望采集信息,以改进过程的未来绩效 1. 不入库(组织资产库、测量库)
2. 无物入库
国军标三:GJB 5000A-2008专用目标与专用实践
     GJB 5000A-2008专用目标与专用实践比较复杂,很多人反映难以阅读抓不住重点。事实上研究GJB 5000A与研究任何知识一样,是一种螺旋上升的过程,要自上而下、由外及里、有粗而精、逐步细化,最终达到融会贯通的目的。下面以GJB 5000A-2008第二级为例,从比较上层的角度来讨论它的专用目标与专用实践。
   
★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

 一、过程域之间的关系
    首先,我们必须下功夫仔细研究一下各个过程域之间的关系,建立过程域的宏观图像。为什么要这么做呢?
    很多人认为,过程改进最重要的是制定规则,只要制定了流程和规则,制定了文档规范,再坚持下去就可以了。事实真是这样吗?为什么我们经常看到很多单位该做 的都做了,但效果并没有那么好?仔细观察,就会发现人们总是把诸如“项目策划”、“需求管理”以及“质量保证”看成某个独立的东西,而不是从系统的角度寻 求它们之间最佳的配合,结果文档写了一大堆,但是这些文档的效用却未能发挥出来,过程改进人员仅仅成为一个按图索骥的教条主义者,而不具备自我集成完善体 系的能力。
    因此,未经整合的各个过程域的规则,是不宜于指导过程改进的实施和控制的,只有整合成一套集成体系之后,才具备指导实践的实质性意义,对此我们要有充分的 理解。集成化的过程改进并不是一套约定俗成的概念和知识,而是一种观察问题的观念和解决问题的方法,最终体现为一种理解和实施的能力。
    1,基本的项目管理类过程域
    项目管理类过程域覆盖与项目策划、监督和控制有关的项目管理活动。在第二级牵涉到的项目管理类过程域包括:
 1)项目监控(PMC)。
 2)项目策划(PP)。
 3)供方协议管理(SAM)。
    这三个过程域之间的关系如下图所示。


    2,基本的支持类过程域
    支持类过程域包含支持产品开发和维护的活动。支持类过程域阐述在实施其它过程的关联中使用的过程。一般说来,支持类过程域阐述针对项目的过程,或针对组织 的一般应用过程。例如,过程和产品质最保证可与所有过程域一同用以提供对所有过程域中所描述的过程和工作产品的客观评价。在第二级涉及到的支持类过程域如 下:
 1)配置管理(CM)。
 2)过程和产品质量保证(PPQA)。
3)测量与分析(MA)。
    这三个过程域之间的关系如下图所示。

3,工程类过程域
    工程类过程域将与各种工程学科相关的过程集成至单个产品开发过程中,支持面向产品的过程改进策略。这种策略瞄准基本的业务目标,而不是特定的技术学科,从而有效地避免了组织的“烟囱”式心理。工程类过程域包括:
 1)产品集成(PI)。
 2)需求开发(RD)。
 3)需求管理(ReqM)。
 4)技术解决方案(TS)。
 5)确认(Val)。
 6)验证(Ver)。
    涉及第二级考核的为:需求管理(ReqM)。
    需求管理过程域与其它过程域的关系如下图所示。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

   二、配置管理(CM)
    配置管理的目的是:利用配置标识、配置控制、配置状态记实和配置审核建立和维护工作产品的完整性。本过程有三个专用目标
    目标 1,建立基线
    本目标的目的是建立所标识工作产品的基线。
    专用实践包括
    1)标识配置项
    2)建立一个配置管理系统
    3)生成或发布基线
    目标 2,跟踪和控制更改
    本目标的目的是跟踪和控制对基线的更改。
    专用实践包括
    1)跟踪更改申请
    2)控制配置项
    目标 3,建立完整性
    本目标的目的是建立和维护基线的完整性。
    专用实践包括
    1)建立配置管理记录
    2)执行配置审核
   
★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

三、测量与分析(MA)
    测量与分析的目的是:开发和保持测量能力,以支持管理信息的需要。
    本过程有两个专用目标
    目标 1,安排测量与分析活动
    测量目标和活动要与已标识的信息需要和目标一致。
    专用实践包括:
    1)确定测量目标
    2)指明测量项
    3)指明数据采集和存储规程
    4)指明分析规程
    目标 2,提供测量结果
    提供涉及所标识信息需要和目标的测量结果。基于客观证据的测量结果,能帮助监督绩效,完成合同贵任,作出有根据的管理和技术决策,以及采取纠正措施。
    专用实践包括:
    1)采集测量数据
    2)分析测量
    3)存储数据和结果
    4)交流结果
    四、项目监控(PMC)
    项目监控的目的是:了解项目进展,使得在项目绩效显著偏离计划时,能采取适当的纠正措施。
    本过程有两个专用目标
    目标 1,对照计划监督项目
    对照项目计划监督项目的实际绩效和进展。
    专用实践包括:
    1)监督项目策划参数
    2)监督承诺
    3)监督项目风险
    4)监督数据管理
    5)监督利益相关方的参与
    6)实施进展评审
    7)实施里程碑评审
     目标 2,管理纠正措施直到结束
    当项目绩效或结果显著偏离计划时,管理纠正措施直到结束。
    专用实践包括:
    1)分析问题
    2)采取纠正措施
    3)管理纠正措施
    五、项目策划(PP)
     项目策划的目的是:制定和维护定义项目活动的计划。
    本过程有三个专用目标
    目标 1,建立估计值
   
★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

 建立和维护项目策划参数的估计值。项目策划参数包括为进行下列必要活动项目所需的所有信息:策划、组织、人员配置、指导、协调、报告和编制预算等。
    专用实践包括:
    1)估计项目的范围
    2)建立工作产品和任务属性的估计值
    3)定义项目生存周期
    4)建立工作量和成本的估计值
     目标 2,制定项目计划
    制定并维护项目计划,并将其作为项目管理的基础。
    项目计划是经过批准的正式文档,用来管理和控制项目的执行。它依据项目需求和已确定的估计值。项目计划应考虑项目生存周期的所有阶段。项目策划应确保所有影响该项目的计划都与总的项目计划一致。
    专用实践包括:
    1)编制预算和进度表
    2)标识项目风险
    3)制定数据管理计划
    4)制定项目资源计划
    5)策划所需的知识和技能
    6)制定利益相关方参与的计划
    7)制定项目计划
     目标 3,获得对计划的承诺
    建立和维护对项目计划的承诺。
    计划必须获得负责实施和支持的人员的承诺,才能有效。
    专用实践包括:
    1)评审影响该项目的计划
    2)使工作与资源水平相协调
    3)获得计划承诺
    六、过程和产品质量保证(PPQA)
    过程和产品质量保证的目的是使员工和管理者对过程和相关的工作产品有客观深入的了解。
   ★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

 本过程有两个专用目标
     目标 1,客观地评价过程和工作产品
    客观地评价所实施的过程和相关工作产品及服务,对适用的过程说明、标准和规程的遵循性。
    专用实践包括:
    1)客观地评价过程
    2)客观地评价工作产品和服务
    目标 2,提供客观深入的了解
    客观地跟踪和交流不符合项,并确保不符合项得到解决。
    专用实践包括:
    1)交流并确保解决不符合项
    2)建立记录
    七、需求管理(ReqM)
     需求管理的目的是管理项目的产品和产品部件的需求,并标识这些需求与项目的计划和工作产品之间的不一致性。
    本过程有一个专用目标
     目标 1,管理需求
    管理需求,并标识需求与项目计划和工作产品间的不一致性。
    在整个项目生存周期间,项目通过本过程的活动维护当前的、经过批准的需求集。
    专用实践包括:
    1)获得对需求的理解
    2)获得对需求的承诺
    3)管理需求更改
    4)维护需求的双向可追溯性
    5)标识项目工作与需求之间的不一致性
     八、供方协议管理(SAM)
     供方协议管理的目的:是管理供方产品的获取工作。
    本过程有两个专用目标。
     目标 1,建立供方协议
    建立并维护与供方的协议。
    专用实践包括:
    1)确定获取方式
    2)选择供方
    3)建立供方协议
     目标 2,满足供方协议
    由项目和供方双方共同满足供方协议。
    专用实践包括:
    1)执行供方协议
    2)监督所选择的供方过程
    3)评价所选择的供方工作产品
    4)接收所获取的产品
    5)移交产品
    请仔细一研读这些内容,让自己脑海中形成一幅完整的图像。我们会发现,很多内容其实我们平时都在做了,哪些是做的好的?有什么经验?有什么教训?需要怎么 来改进?哪些是没有做的?为什么?我们的规范该如何来制定才是符合实际的?等等这些问题都思考清楚以后,我们会发现,GJB 5000A-2008已经离我们并不遥远了。
国军标四:GJB 5000A-2008中的软件工程哲学
     当EPG成员开始制定流程和规范的时候,最大的困惑恐怕就是GJB 5000A-2008依据的软件工程哲学到底是什么?尽管这个题目比较大,但是我们还是可以GJB 5000A-2008对问题的表述中看出端倪。研究军标的软件工程哲学,就不得不研究我军长期以来指导这支军队发展壮大的根本哲学。软件开发也是一场战争,作为军标必然会渗透进军队对于战争的理解。下面我把我对此进行的研究心得供大家分享。
  1,GJB 5000A-2008对工程过程域的表述
     我们都知道,长期以来指导软件工程过程的一个模型,就是经典的递归(瀑布)软件开发过程。但是,在GJB 5000A-2008中工程过程域的描述与瀑布模型相比差别很大,如下图所示。
 

    到底为什么会有这样的变化呢?我们能不能依据这张图通过反向推演,看看GJB 5000A-2008制定者们,在制定标准的时候的所依据的哲学与科学观念到底是什么?
    2,用发展与动态的哲学观点看问题
     仔细研究上面的图,我们就可以发现,GJB 5000A-2008所建议的软件工程哲学,关键点就是用变化的观点看问题。之所以强调这一点,是因为我军多年来能够由小到大由弱变强,依赖的就是我军有 一个重要的指导思想,那就是辩证唯物主义世界观。具体化就是:到底我们是用孤立的、静止的、片面的观点来看待这个世界,还是用交互的、发展的、动态的、全 面的观点来看待这个世界?这种被无数事实证明是正确的哲学观,是不是能够指导我们奉行正确的软件工程方法呢?
    当我们面对软件过程的时候,很多人把过程看成一个静止的东西。在制定流程的时候,总是认为初期需求一定是、而且一定要完美无缺的,只要以顺序过程按照已有的规则去做,把所有的文档都书写好,那就一定会走向成功的。但是事情为什么总是事与愿违呢?
    当我们认识和理解了我们必须用发展的动态的观点来看世界,那么这个困惑就可以迎刃而解了。事实上软件开发本身就是一个对事物的认识过程,是在一个认识不断 深化、需求不断变化发展的过程中,通过创新精神,支持新事物的成长,最终才可能创造一个伟大产品。如果这样来看问题,后期发生需求变更是不是天经地义的事 情呢?
    正是在这种哲学思想的指导下,我们才会发现在整个工程过程域中有一个从头到尾都存在的过程域,那就是“需求管理过程域”。从本质上说,需求如果没有变化,那也就不需要需求管理了,需求管理正是管理着需求变化。
进一步说,如果我们认可以动态的观点看问题,既然需求是一个在过程中不断清晰的过程,那么计划也就必然是一个滚动式循序渐进模式,项目的计划需要经过一个由粗而精、不断完善的过程。也就是说项目的计划也会在频繁反馈中不断变更、滚动完善。
如果我们认可这个观点,那么,EPG小组在制定过程规范的时候,如何把这种计划的滚动完善变成可行的规则?如何力争把把计划失控的被动变更,变成了可控的 主动变更?这种需求与计划的变更如何受控,如何确保在变动中不乱?如何从过程集成的层面,通过各个过程域的互相配合,在更高的层面保证产品质量?产品的质 量控制到底怎么做才是合理的?这都需要我们在制定规则的时候仔细思考与实践。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

  
     3,利用反馈控制理论来设计软件过程
     如果我们的软件工程哲学是用变化的观点看问题,那就需要用正确的科学手段来处理变化,这就不得不研究控制论的问题。
    从控制论的角度看,有两种基本的控制方法:一种称之为前馈控制,另一种称之为反馈控制。所谓前馈控制,指的是需要事先通过观察情况、收集整理信息、掌握规 律、预测趋势,正确预计未来可能出现的问题,提前采取措施,将可能发生的偏差消除在萌芽状态中,前馈控制发生在实际工作开始之前,是未来导向的。
    问题在于如果我们认可软件开发本身就是一个认识事物不断螺旋上升的过程,那前期完完全全掌握情况几乎是不可能的,这就是为什么往往在项目快要交付的时候, 才会发生需求变更的原因。联系到软件开发,我们会发现瀑布过程是属于前馈控制过程,一旦在项目后期发现了需求变更问题,已经很难保证不发生混乱了。
    为了处理变化,可以采用反馈控制方法。也就是指把系统的输出信息返送到输入端,与输入信息进行比较,并利用二者的偏差进行控制的过程。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★


    反馈控制其实是用过去的情况来指导现在和将来。反馈控制需要在很小的环路中不断地把输入和输出作比较,并且在过程中以误差为参数修正行为,以此保证比较高 的精确度。由于在过程中不断的修正,就造成了距离目标越近,有关目标的信息越清晰,修正的目标就越精确这样一种情况。因此,为了正确实施反馈控制,就需要 缩小反馈回路的规模,减少反馈的响应时间。这是处理变化的环境得很重要的科学手段。
    让我们仔细看一下GJB 5000A-2008中对于工程过程域的描述,就可以发现,在其中存在大量的反馈通道,包括需求开发与技术解决方案之间,需求开发与产品集成之间、需求开 发与顾客需要之间,都存在着反馈通道。这样,我们就需要考虑,在我们制定的过程规范中,如何形成这种灵活机变的反馈通道呢?
    在我们定义的过程规范的时候,不能假定需求是无变化的,而是要主动建立反馈通道处理变化,不是被动的管理需求变更,而是主动发现变更并及时解决它,
    我们在制定过程规范的时候就需要要考虑:符合这个科学思想的过程规范应该是什么样的?怎么样建立轻量级的反馈通道?怎么样早期发现需求变更并且有序、有 效、规范的解决它?这些考虑,都是定义一个高质量过程所必须的。如果反馈通道重量太重太笨,是不能认为过程是采用了反馈控制论的。
     4,过程中人的主观能动性的位置
     任何过程哲学都不能忽视的一个问题,那就是过程模型中人的主观能动性所处的位置。也就是人们在活动中所具有的精神状态,即通常所说的决心、意志、干劲等。 “在战争的一切要素中,人是第一重要的。”“战争的伟力极其最深厚的资源,存在于民众之中。”这些精辟的军事哲学,一直是我军得以成功的法宝。也是一种正 确的思想方法与价值观,这都不可避免的渗透到GJB 5000A-2008里面去。
    我军在长期的革命战争中,总结出了非常正确的三句话:“坚定正确的政治方向,艰苦朴素的工作作风,灵活机动的战略战术。”这三句话表达了三个观点,也就是 目标管理、求实不搞花架子、灵活不死板僵化。这实际上也是中国文化的灵魂所在。因此我们在制定过程规范的时候,就绝不能把精力放在怎么制定一个庞大的叫人 肃然起敬的、中规中矩的规范文本上,而是要实用,要根据具体情况制定相应的规程,要使规范真正在软件开发中发挥作用。而不是花拳绣腿,放在那里好看,变成 一个玻璃柜(Glass Case)似的供人观赏的规范。
    在我们定义软件过程的时候,就需要考虑:在这个过程中人的位置在什么地方?过程是不是有利于激发所有参与者的积极性?过程是不是有利于发挥团队精神、进取精神、坚强意志、务实态度这些精神状态?无数事实告诉我们,这种精神状态,对项目最终成功有着不可忽视的作用。
    进一步还需要考虑:这个工程规范能不能成为一个良好的交流平台?它是不是便于人们就一个问题集思广益?能不能使第一线工作人员的经验、观点及担忧得到充分 的重视?能不能激发各个成员的参与、提高他们的积极性?如何使项目成员的经验、意见和想法就可以得到充分的应用,而不是遭受压制?如何使团队成员形成共同 的目标,并尽最大的努力设法实现它?如何使整个团队达成互信,拥有充足的资源,确保项目一定会成功?
    我们所制定的过程规范绝不能只见文档不见人,应该有人的位置。很多过去看似伟大科学但又无法使用的过程规范,最大的缺点,就是过程中没有人的位置。既然人在过程规范中应该处于一个重要的位置。那么,符合这个哲学思想的过程规范又应该是什么样的呢?
     5,反馈过程中的回顾
    回想国共战争中的方方面面,我们会发现一个非常奇怪的现象。国民党的将领大多数来自于黄埔军校、日本士官学校、德国陆军学校、西点军校。而我军的高级将领 绝大多数都不是来自于这些学校,而是一个更大的学校:“战争大学”。但是正是这些没有受过正规训练的“泥腿子”,照样指挥大兵团作战,把那些学校出身的将 领打得落花流水,他们是怎么做到的呢?这就发人深省了。
    仔细观察和思考,就可以发现我军有一个非常值得称道的东西,那就是“回顾”。这是一个规则:每场仗打下来,必定要开总结会,必定要总结经验发现问题,必定要克服缺点修正错误。正是这种“回顾”,使战争成为一个大学校,所有的人在战争中都得到了快速的发展。
    现在我们回到GJB 5000A-2008的过程定义,通过思索就可以发现,既然这个世界是不断变化的,那么科学的方法论就是反馈,就是充分发挥人的主观能动性。在这样的背景下,在反馈点上我们应该做一些什么事情呢?一句话:回顾!
    回顾是一种正确的认识论和哲学观。阶段性的回顾能够尽早发现问题,能够早期发现需求的变更需要,能够充份调动每个参与者的积极性,更可以使每个团队成员在开发过程中迅速成长起来,而这样快速成长起来的团队成员,对企业来说将是无价之宝。
    因此,当我们开始制定GJB 5000A-2008过程规范的时候,应该把如何在开发过程中进行“回顾”作为一个规则制定下来,至少应该有“回顾”的位置。需要仔细考虑:在什么点上回 顾?什么人参加?回顾什么?如何克服缺点修正错误?如何早期发现变更的需求?回顾既然成为一个规则,那还需要考虑:回顾需要有什么样的报告和文档?
    基于上述这些正确的哲学观、价值观和方法论,再综合人的因素、反馈过程、螺旋上升以及阶段性回顾,融合了这些思想的过程定义,是一种思考、研究、讨论与实 践的结果,绝不可能照搬照套把别人的东西不经消化拿过来就用的。这样一种充满思想和智慧的的过程定义,必然是一个具有活力的,有创造力的,有价值的规范。
    上面这些考虑,对于我们制定符合GJB 5000A-2008哲学思想的、目的明确的、科学而有效的、可执行的、并且符合实际情况的规程极其重要,是我们每一个EPG成员必须认真想清楚的、并且在实践中逐步完善的问题。


★四川军标认证★重庆军标认证★四川保密认证★重庆保密认证★重庆AS9100认证★四川AS9100认证★四川涉密认证★四川GJB5000A认证★

 

重庆公司地址:重庆市江北区北滨二路江北嘴紫御江山7-8-4    成都公司地址:成都市高新区天府三街峰汇中心1-10-8