商务平台网站建设合同,要制作自己的网站需要什么材料,装潢设计公司,有像考试佳园一样做资料的网站吗软件过程改进/过程改进#xff08;Software Process improvement#xff0c;SPI#xff09;帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。他的实施对象就是软件企业的软件过程#xff0c;也就是软件产品的生产过程#xff0c;当然也包括软件维…软件过程改进/过程改进Software Process improvementSPI帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。他的实施对象就是软件企业的软件过程也就是软件产品的生产过程当然也包括软件维护之类的维护过程而对于其他的过程并不关注。 简介 对于软件企业来说软件过程是整个企业最复杂、最重要的业务流程软件产品就是软件企业的生命改进整个企业的业务流程最重要的还是要改进它的软件过程。多年以来人们认识到要想高效率、高质量和低成本地开发软件必须以改善软件生产过程为中心全面开展软件工程和质量管理手段。这是世界各国软件产业都要走的路我国软件产业之所以落后不是因为技术落后而是对软件生产的管理落后。CMM就是结合了质量管理和软件工程的双重经验而制定的一套针对软件生产过程的规范。由此可见对软件生产过程的管理在整个软件企业的管理中起了决定性作用。因此从这种意义上讲软件企业的BPR和CMM软件过程改进在实施对象是一致的。 在世界范围内软件项目需求正以非常快的速度增长并且这种增长看起来还远未达到目的。这种增长已经导致软件开发活动急剧性的增长已使得对用于构筑软件的过程正确的说法是软件过程得到更多的关注。软件过程可以定义为人们用来开发和维护软件以及相关产品如工程计划、设计文档、规章、检测事例及用户手册的一组活动、方法、实践及转换。软件过程重要性的提高已经引起了对软件过程改进的要求这就需要过程分析和评估的方法。 CMM在软件改进措施的策划上措施计划的实施上和过程定义的都有着特使的价值。在策划改进措施期间具有有关其软件过程问题和经营环境的知识的软件工程组的成员可将CMM重关键过程域的目目标和当前的实践相比较。应该开查与恭喜目标管理优先级实践运行的层次实施每次实践对组织的价值以及改组织在其文化背景下一个实践的能力等方面有关的关键实践。接下来软件工程过程组必须确定那些需要作过程改进如何实现更改以及如何获得所需要的买进。CMM通过给有关过程改进的讨论的出发点并且帮助揭示与通用软件工程实践所采用的那些完全不同的假定从而对这些活动提供帮助。在实施行动计划计划时过程组可以用CMM 和关键实践来构造部门可操作的行动计划和定义软件过程。 SPI的五条原则 SPI的五条核心原则分别是 ·注重问题 ·强调知识创新 ·鼓励参与 ·领导层的统一 ·计划不断地改进。 “问题的解决是过程改进的核心实践不仅是SPI组的目标也是它的起点。”这条原则为过程改进 人员指明了目标明确了方法。SPI就是要在实践中发现软件过程中的问题并在实践中寻找和找到解决问题的办法可以说过程改进就是在不断发现问题和解决问题的过程中不断向前发展。 “改进是一种知识的创新SPI是受知识的驱动的”。这条原则强调了知识创新在SPI中的作用提醒了SPI人员在注重知识创新的同时更要注重知识的传播和扩散。 通常从事SPI工作的做法是过程改进仅仅是过程改进人员的事情其他人员只是被动地接受。而“合作促使改进产生”这条原则给予了我们很好的启发和提示。它告诉我们过程改进不仅仅是一个人或几个人的事情而是整个组织的事情。只有鼓励大家都积极参与让这些人基于自身的经验和职业的判断力来实实在在地设计和开发新的过程才能使设计出来的过程真正为他们所理解为他们所用从而实现过程的成功。这也是我们在过程改进工作中容易疏忽的地方。 “SPI的关键点在于改变软件开发的方式。然而改变人的行为并不是件容易的事。”这条原则分析了我们在这项工作中可能会遇到的困难和阻力本书中也不忘为我们提供了如何克服这些问题的可行方法、建议和实例。 “改进必须是综合了各个层次的人的力量。”SPI人员一定要保证SPI的目标与组织的整体目标是一致的因为只有这样才能保证SPI工作得到各个领导层的赞同、支持和投入才能综合利用各个层次的力量来推动SPI工作的前进。这是预防过程改进项目风险的重要手段。 “改进应该是一个不断持续的过程。”这一原则进一步提示和告诫SPI人员一定要认识到改进的不断持续的特性。到达顶点并不重要关键的是你现在处在一个上升??达一个目标你就创造了另一个更高的目标这个目标对我们的过程和环境都具有重要的意义。 这五条原则是从实践中发展而来、相互关联的SPI哲学对我们SPI工作具有非常重要的指导作用。 软件过程改进的策略 策略一两个方针 重诊断轻评估 以诊断和解决企业实际问题为SPI方法论不追求商业评估。以往实施 ISO9000的过程中发现企业拿证书的愿望常常会冲淡“真正改进”的目的。所以除非不得已建议一开始不要把商业评估作为目标以便将焦点集中在“改进”上。的确一旦进行商业评估难保不急功近利限期取证。SPI如同“治病”多长时间治好怎么可以人为规定呢 重诊断,正是前述自底向上方法论的具体贯彻。根据企业的不同状态和症状实施有针对性的方案将有望设计出实用性更强、效率更高的应用模型。 重实施轻宣传 我们不妨来看一组数据这是北京SPIN去年发起的一次调查提问是“您认为软件企业中开发不规范不能突破管理瓶颈的原因是什么” 可见以往我们多年来实施ISO9000这样的体系但效果差得可怜客户满意度12%。 据报道中国通过ISO9000的企业超过了日本和韩国但是中国并没有因此成为质量强国 ISO9000在软件企业的现状并不能仅仅归结于ISO9000不适合软件企业这一点上更大的问题在于人们对体系的“可实施性”研究和重视得不太够。 所以我们提出以高的“过程实施率”定义的文档被很好的遵守和“过程性能改善”为SPI目标不追求宣传效应。 策略二两手抓 实施制度化的同时并行实施企业文化既要施压又要清障。 中小企业往往制度化体系很不健全存在着随意决策的管理习惯甚至基本的企业纪律都不具备企业还处于“人治”和“法制”的争论中这样的状态和某些大企业实施SPI的状况是不同的需要特别强调行政施压。由于缺乏统一的企业文化所以理念的统一也要加以重视。 CMM的实质是制度化体系实施CMM也是实施全面制度化的有效途径。但是制度和组织文化总是辨证存在的没有良好的文化保障制度化将困难重重而没有制度的支撑文化也将是无源之水。企业文化的实施从改造企业价值观开始价值观是企业文化的核心一个企业中如果好的行为不能得到鼓励坏的行为不能得到惩罚那怎么能倡导出有利于制度生存的价值观呢 两手抓还包括另外一个层次的含义过程改进要加强推进和减少阻力并重。这针对两种现实中的错误认识一种认为员工都是自觉的只要把道理讲清楚了制度就能得到实施。这种假定是不现实的如同法律如果假设人们都是遵纪守法的那么法律本身就没必要存在了。实际情况是人们在组织中总是有区分的有的人主动顺应变革有的人推一推也能动有的人可能推十下也不动从而成为变革的障碍。所以变革的落实需要一个强的“推力”。另外一个观点刚好相反认为没必要对员工讲为什么只要告诉怎样做就行了。这又走到另外一个极端体系在强力的推动下可能会暂时得到执行但是由于并没有解决观念转变的问题一定难以持久。 策略三推行两种工具 要推行配置管理工具和项目管理工具这两种工具工具将有效分解事务性工作从而缓解人力资源投入不足的矛盾。 配置管理工具根据不同的平台推荐使用VSS和CVS项目管理工具使用微软公司的MSP。使用工具可有效分解管理工作量提升工作效率有助于管理制度的真正落实使体系更加固定化。 策略四补两门基础课 为了解决基础薄弱的问题需要在SPI前期为企业补基础管理和基本软件工程两门课。 CMM的设计是以美国的软件企业为研究对象它假定企业在实施CMM前已经具备了基本软件工程和基本管理的能力所以有“先管理、后工程”的观点。就是先把项目管理到位再实施软件工程即软件工程到位。 但是这个假定对于绝大部分的中国软件企业是不成立的。 软件企业需要补的基础管理内容包括基本时间管理、角色转变、目标管理、沟通管理、基本人力资源管理等。基本软件工程则包括基本的软件工程生命周期、阶段划分、基本文档编制等。 策略五发动三方参与 按照ISO9000的说法叫全员参与分成三个层面就是 一是高于项目管理的层面称为高层经理。他们提供资源和战略两方面的支持所以高层经理应该对体系总体架构、体系实施必要性、可行性、障碍和风险、资源等负有责任。 二是项目管理层面含项目经理和SPI人员。SPI人员作为制度化体系的执行者和推行者应该加强自身修养要求别人的事一定要自己能做到。而项目经理作为主要的一线实施人员需要对整个体系的细节有深入了解和研究应该把日常工作时间的30%50%放在工程化管理相关事宜上要贯彻公司的SPI整体制度积极主动在项目组内进行推行。 三是项目组成员包括开发和测试人员要求团队以纪律性要求自己做好局部和整体、短期和长期的矛盾平衡。 特别要关注试点项目的PM(项目经理)选择选择好的PM意味着SPI一半的成功。 需要说明的是自底向上并不是绝对不做正式评估如果需要等到水到渠成再实施评估不仅使得过程改进更实在而且只需投入少量的资金就可获得评估。 软件过程改进战略策划 介绍 如果我们把软件过程改进看作一个项目象其他项目一样它也要有一个好的计划这个计划不但要满足公司的商业目标还要包含过程改进战略和具体的实施步骤子项目。软件过程改进非一日之功急于求成必将导致失败因此如果不进行系统的战略策划而盲目进行过程改进只会浪费时间和资金而不会取得好的效果。有了有效的战略计划我们才能在这项长期的活动中获得管理人员、开发人员和公司的所有者的理解和耐心的支持。 那么如何进行战略策划呢本文介绍的两位主任评审员开发的过程改进战略策划的方法已经在很多软件企业成功实施。其中应用的主要技术包括战略决策、优先级排序、过程改进与过程评审。 通常战略策划由一个小组负责小组里要包括参与了过程评审的人员以及其他策划工作的受益人另外高层经理的参与是非常重要的策划的方式是在负责人的指导下以讨论方式进行。实践证明以下步骤非常有效针对不同的改进点分别制定改进方案 方案评价 将改进方案排序 估计并制定实施的进度表 获得管理层的承诺 具体介绍如下 1 制定过程改进方案 评审结束后策划组要对评审结果进行分析筛选出十个左右的改进点然后将每个改进点都作为一个改进项目分别制定两到三页的改进方案。方案主要包括以下内容 现状的简单介绍 改进方案介绍 预期收益 实施负责人 对成本、资源和项目周期的估计 方案中还应该说明建议使用的实施方法例如是否进行试用等。估计成本时要包括过程定义的时间、试用期间人员培训的成本、处理反馈意见的时间和重新试用的成本。 因为所有的改进工作不可能一次实施所以接下来我们要确定各个改进项目的优先级具体步骤如下 2 评价各个改进方案 我们怎么确定改进活动的优先级呢主要是通过考察三方面的因素即对商业目标的影响、风险和在CMM中的定位。 有些公司还会对各方案进行成本/收益分析例如考察投资回报率但是1级或2级的企业往往没有充分的历史数据因此无法准确估计过程改进的无形收益4级和5级的企业通常就能作到这一点3级的企业也有可能作到。 2.1 对商业目标的影响 对商业目标的影响是指某项改进工作对总体的战略目标的影响。 首先策划小组要和主管的高层经理进行讨论明确公司商业目标、并分析确定决定商业目标能否实现的5-7个关键成功因素CSFs。如果公司没有明确成文的商业目标小组的首要工作就是确定商业目标如果商业目标已经非常清楚、明确并且形成了文档策划小组的核心工作就是分析关键成功因素并每个关键成功因素确定权重。 接下来我们要对每项改进活动进行分析按其对每个关键成功因素的贡献进行评分然后将结果进行加权平均作为最后比较的一个依据。 2.2 风险因素 风险是指实施改进工作的困难程度我们要考虑实施某项改进是象赌博一样冒险么结果是不是有一定的可预测性呢通常风险的来源主要有三个方面项目的规模、结构的问题和技术。 项目规模风险是指实施的人工成本一般人工成本越低风险越小。 结构方面的风险主要有以下因素 参与该项目开发的功能组的数量 项目的复杂程度 制定解决方案的人员在该过程域的经验是否丰富 对改进中带来变更预期存在抵触行为 技术风险主要包括以下方面 需要改进的软件工程过程的成熟程度 能否获得充分的新技术方法的培训 工具和其他支持条件的成熟程度 2.3 CMM中的定位 是指某一改进活动对达到更高能力成熟度等级的贡献。权重是按照KPA所属的能力成熟度等级来确定比较简单。我们可以初步确定目前所处等级的下一个能力成熟度等级的KPA权重最大且相等其后按顺序递减。各改进点的分值按其对个KPA的影响确定有些改进点可能影响多个KPA另外需要注意各个改进点对某一个KPA的影响总值不能超过100%。 接下来我们还可以根据评审结果将下一个成熟度等级的KPA进行划分看看哪些更重要。评审中大家达成共识认为对组织影响最大的问题所对应的KPA应该获得较高的权重。 3 对改进方案进行排序 进行了以上分析之后我们按照分值对各个改进方案进行排序总分的计算方法如下 总分(权重1)(对商业目标的影响)(权重2)(风险) (权重3)(在CMM中的定位) 公式中的得分是按上面介绍的步骤进行处理得出的权重主要是根据策划小组成员的共识确定的有些公司认为三方面的因素同样重要因此赋予相同权重也有些公司认为对商业目标的影响的重要性是在CMM中定位的的三倍而风险因素是在CMM中定位的两倍。 这样我们就基本建立了各个改进项目的优先级分数最高的优先级最高。 4 估计实施的进度表 排序完成后我们就要考虑各个改进点的依赖关系根据优先级顺序和依赖关系进行总体战略策划并制定进度表。有趣的是优先极较低的改进项目往往是优先级较高的项目的先决条件因此在进度表中就应该靠前。另外我们还要考虑实施效果的影响和可视性。例如对于1级的企业管理层还没有建立起过程改进的威信过去给人的印象总是言行不一那么就要选择风险较低大家都能看到且有不凡收益的改进项目帮大家建立信心即使这些项目优先级较低。 5 获得管理层的承诺 下一步我们要完成正式的计划、提交管理层获得认同和承诺。我们在上面说过高层管理人员的参与确定关键成功因素是非常必要的这里我们要再次强调管理层的重要作用因为他们要负责批准战略计划、授权启动改进项目并且不断重申对于过程改进的承诺。 过程改进的总体计划通常包括介绍说明计划的目标、制定计划时所使用的方法、对评审结果和推荐措施的总结主要内容是各个改进项目的方案和策划活动的结果。当然也应该包括进度表、相关任务、负责人、项目运行指标以及所需的资源如人员、资金、软件、硬件工具等。 管理人员评审和签字批准意味着管理层对改进活动人员和资源上的支持和承诺。 总结 通过以上的介绍希望大家对过程改进的战略策划有了一定的了解。我们需要强调的是成功的过程改进策划是建立在以下的基本原则之上的 过程改进与商业目标相结合 合适人员的参与 有效的策划方法 积极沟通、思路共享 保持整体观念 我们的很多客户通过实施以上的方法在评审结束后迅速、有效地实施了过程改进他们对自己的决策满怀信心、不断向着更高的能力成熟度迈进。 软件过程改进建议 改进用户需求过程 1.1 改进用户需求的获取方式 1) 研究用户特点 2) 成立需求调查小组 1.2 改进获取用户需求的态度 1) 正式的外部文档方式 2) 正式的提交过程 1.3 改进用户需求内容准备工作 1) 专业的用户需求调查表单力求取得用户的配合由用户或需求调? 1) 用户需求的分析、总结须及时反馈到用户方以取得及时而有效、满意但不多余的需求 2 改进需求分析方式 1) 改进需求分析的前提条件——正确的获取用户的需求 2) 针对不同类型的系统采用不同的需求方式和模型更有助于界定需求的范畴 3) 及时总结、改进需求分析方式和模型形成需求分析模式库 4) 复用和改进需求分析模式库 5) 加载有效的、适用的、先进的需求分析理论于经验分析基础之上 6) 改进项目组内需求分析的沟通和流通 7) 在需求分析初始尽早分析需求的可行性并作备案 8) 对不适当需求与用户沟通以取得理解和信任 9) 对不合理需求协调用户以降低成本 10) 需求一旦获得认定尽快进行系统分析和设计 11) 及时有效的控制需求的变化防止对需求随意的更改和增删 3 改进系统分析和设计原则 1) 以最小的代价实现系统 2) 以开发人员最熟悉的方法、技术和工具实现系统 3) 尽量采用先进的方法和理论以适应发展的需求 4) 在系统的相关处与具体的实施人员进行及时有效的沟通寻求实现的最佳途径 5) 以简单、易懂的方式进行分析和设计 6) 以简单、易懂的方式表现系统 7) 系统分析的方式要易于复用并及时进行调整、改进系统系统分析库 8) 对系统的分析、设计加以控制、遵守防止系统结构的随意更改 4 改进系统的实施和验证 1) 确保在取得共同的理解后才进行系统的实施和验证 2) 系统的实施和验证遵循一定的流程以约定的方式进行沟通 3) 系统的变化能够以多种不同方式进行沟通以确保变化被告知、并被认可 4) 确保在系统的实施和验证过程中所采用的方式和方法是易于理解的且不易发生变化 5) 系统的实施和验证完成标识明显易于被相关人员识别 5 改进用户验收被动局面 1) 理解和支持用户的行为 2) 取得用户的理解和支持 3) 对系统进行充分的验证 4) 提高系统安装的成功率和速度 5) 改进系统界面使系统直观、有效 6) 保证进度提高诚信度 6 改进系统维护过程 1) 对用户进行有效的培训 2) 快捷、有效、合理的处理用户的问题 3) 跟踪问题形成问题库 为什么要实施SPI SPI的最根本利益其实在于他能够极大的提高项目成功的几率这是大家都追求的。当然需要明确定义这里的“项目成功”的含义不是客户要求三个月完工最后按时交工就是成功。而是综合平衡进度、交付后质量、成本等若干要素后所达到的最优状态。在项目管理三要素中项目干系人通常会把进度当作第一目标结果相当多赶进度完成的项目在交付后面临者大量的后续修改甚至推翻重来。如果把这部分开销算到项目中去项目早已失败的一塌糊涂了。 对大量失败项目的统计结果表明最大的原因在于缺乏过程或者没有很好的遵循已定义的过程。我们知道决定项目质量和生产率的要素有人、技术和过程如果借用木筒的比喻过程不见得是其中最宽的一条但是当前它是最短的所以它决定着木桶的盛水量。我们迫切的需要SPI就是要把最短的木条尽快补上去。 只有基于良好的过程人和技术才能发挥出最大的威力。 以项目形式管理SPI 以项目形式管理软件过程改进特别有利于提高团队凝聚力、规避风险、明确目标、提高效率而且由于SPI项目组与其他项目组形成了一种矩阵式组织结构可以有效促进组间交流。所以对于SPI这样一件比较复杂的工程来说以项目形式进行管理将是成功的重要保证。 国外的一项有关SPISoftware Process Improvement软件过程改进的调查表明没有很好地对过程改进进行管理造成了至少70%以上的软件企业改进失败或挫折当我们问自己如下问题的时候能否迅速给出满意的答案—— SPI强调管理自身是如何管理的 SPI提供方法论自己的方法论如何 SPI强调做事要有计划性自身计划性如何 SPI倡导风险管理自身的风险被很好识别了吗 本文试图给出一种对SPI自身进行管理的方法——“以项目形式管理SPI”。 以项目形式管理SPI通常分为如下五步骤体系诊断方案设计项目策划过程管理项目验收总结。 体系诊断 诊断是一切过程改进和管理咨询的前奏对于不以取证为目的的软件过程改进来说这一步尤其重要。 “过程诊断”和“过程审计”有着某种程度的相似性通常的方式为面谈、文档查阅、检查表填写等形式。 典型的SPI诊断花费大约为23人/日这和组织的成熟度、组织的历史长短、管理和业务的复杂度都有关系。 对诊断过程的漠视是自上向下改进策略的最大弊端。 方案设计 在了解了组织、项目的实际状态以后就可以有针对性地提出解决方案了这一步骤称为方案设计。 在上图方案中我们可以看到主要的元素来自于CMM、SEBOK软件工程、Good Practice (最佳实践)。这种结果是与该企业的如下现状相适应的: 首先该企业没有形成基本的软件工程流程。 其次项目没有生命周期的概念无明确启动和验收点正如其项目经理所言“我们的项目结束点要等到下一个项目已经开始本期项目不得不结束时才会出现”。 再次该企业整体管理基础薄弱资源提供不充分这种情况下在大企业顺理成章的事情可能在这里都是问题所以需要大量的变通和折衷策略这些都被归纳在Good Practice中。 诸如此类的方案设计存在两个裁减特征: 一是横向裁减可以在打破现有知识体系的基础上创造性的构建新体系其二是纵向裁减比如对于CMM具体KPA也可以分两步或更多步来达到要求。所有这些裁减都会带来更多的灵活性。 SPI方案的编制需要涵盖如下内容本组织软件过程改进的历史过程诊断包括诊断方法、诊断结果和差距分析改进方案包括总体目标、总体工程化管理系统设计和详细改进措施资源需求预测计划进度概要包括前提和承诺、资源需求预测风险里程碑。 项目策划 方案得到认可后可启动项目策划。SPI的项目策划要求与其他项目策划的要求并无多少差异主要是编制一份项目计划有如下内容项目目标包括整体目标和本阶段目标假定和约束项目组织包括组织结构、接口关系、报告关系和责任矩阵项目进度跟踪方式项目里程碑交付物包括文档编制和人员培训风险管理项目激励项目验收。 过程管理 计划制定好以后还要对 SPI的实施过程进行定期和不定期的过程跟踪一般可通过“周”和“里程碑”两种周期进行跟踪。周跟踪的内容为进度、完成量、问题和风险通过周报和周会的形式进行里程碑跟踪的内容为进度、工作量、人力开销、风险等还要对项目管理的经验和教训进行总结里程碑也是识别典型案例和收集最佳实践的良好时机。里程碑跟踪活动通常包括“里程碑总结报告编制”和“里程碑总结会”两种形式。 项目验收总结 对于自底向上的软件过程改进并没有标准的验收准则可利用这要求组织根据自身裁减的体系编制自己的验收准则。验收准则有定性和定量两种形式定量适合于有一定管理基础的组织需要有足够的、可信的、可比的历史数据。但多数中小软件企业可能在起步阶段只能选择定性验收的方式这种定性验收方式常常是“先僵化、再固化、后优化”理念的一种体现。 项目验收后组织需要进行SPI项目的最后一项活动——项目总结需要提交书面报告并召开总结会项目总结中要统计汇总SPI本身数据、进度、开销、偏差及分析还要识别和共享经验教训。这一阶段的工作将为今后的SPI持续改进打下良好的基础。SPI将进入下一个改进循环。转载于:https://www.cnblogs.com/allenblogs/archive/2011/02/11/1951315.html