系统分析师考试资料整理-软件过程改进.docx
《系统分析师考试资料整理-软件过程改进.docx》由会员分享,可在线阅读,更多相关《系统分析师考试资料整理-软件过程改进.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件过程改进软件过程改进/过程改进(Software Process improvement,SPI)帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。 他的实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括软件维护之类的维护过程,而对于其他的过程并不关注。对于软件企业来说,软件过程是整个企业最复杂、最重要的业务流程,软件产品就是软件企业的生命,改进整个企业的业务流程,最重要的还是要改进它的软件过程。多年以来,人们认识到要想高效率、高质量和低成本地开发软件,必须以改善软件生产过程为中心,全面开展软件工程和质量管理手段。这是世界各国软件产业都要走的路,
2、我国软件产业之所以落后,不是因为技术落后,而是对软件生产的管理落后。CMM就是结合了质量管理和软件工程的双重经验而制定的一套针对软件生产过程的规范。由此可见,对软件生产过程的管理在整个软件企业的管理中起了决定性作用。因此,从这种意义上讲,软件企业的BPR和CMM软件过程改进在实施对象是一致的。在世界范围内,软件项目需求正以非常快的速度增长,并且这种增长看起来还远未达到目的。这种增长已经导致软件开发活动急剧性的增长,已使得对用于构筑软件的过程,正确的说法是软件过程,得到更多的关注。软件过程可以定义为人们用来开发和维护软件以及相关产品(如:工程计划、设计文档、规章、检测事例及用户手册)的一组活动、
3、方法、实践及转换。软件过程重要性的提高已经引起了对软件过程改进的要求,这就需要过程分析和评估的方法。CMM在软件改进措施的策划上,措施计划的实施上和过程定义的都有着特使的价值。在策划改进措施期间,具有有关其软件过程问题和经营环境的知识的软件工程组的成员可将CMM重关键过程域的目目标和当前的实践相比较。应该开查与恭喜目标,管理优先级,实践运行的层次,实施每次实践对组织的价值,以及改组织在其文化背景下一个实践的能力等方面有关的关键实践。接下来,软件工程过程组必须确定那些需要作过程改进,如何实现更改,以及如何获得所需要的买进。CMM通过给有关过程改进的讨论的出发点,并且帮助揭示与通用软件工程实践所采
4、用的那些完全不同的假定,从而对这些活动提供帮助。在实施行动计划计划时,过程组可以用CMM 和关键实践来构造部门可操作的行动计划和定义软件过程。越来越多的软件开发组织开始努力赶上CMM这趟马车,但是其中大多数最后又还是从这架马车上摔了下去。如果希望从你的软件过程改进活动得到零回报,请遵守以下秘诀:1. 花费大量的金钱和时间用于过程评估、咨询服务和各种形形色色的CMM培训班;2. 按照咨询顾问们开给你的软件文档模板,制定一大堆你想得到想不到的过程规范,然后告诉程序员们必须一个不漏地马上开始实施;3. 接受你的高层领导的指示:“照着CMM说的去做!”;4. 你辛辛苦苦的收集一大堆数据,而程序员们的工
5、作方式依然照旧。1 何谓过程改进过程改进的要义可以用一句话概括:对于效果良好的项目实践要推广应用,对于问题较多的项目实践要变更调整。这就需要对于过去项目的成功之处和不足地方进行如实的内省和仔细的分析。过程改进最大的动机应该是通过改善软件开发和管理的方式来打到企业的某个业务目标。CMM可以作为一个框架来引导你的过程改进活动,但是你的目标却不是简单的满足这个模型的要求。2 过程改进周期图1说明了一个完整的SPI生命周期。首先,定义你期望达到的业务目标;然后,通过过程评估了解当前过程的问题,以及实施过程改进的可能结果。有了在评估中获得的对本组织现状的深入了解,以及业界的最佳实践知识(CMM),你可以
6、设定一个现实可达到的改进目标。下一步,选择可以解决当前过程不足的合适的最佳实践,可以是这些最佳实践的一个很小的子集,来接近改进目标的最后实现。确定一到两个项目作为新过程的试点,在取得成功后可以适当调整然后全面推广。如果对新工作方式的实施作一定计划,无疑能够大大增加成功的可能性。最困难的部分就是实际开始实施一个行动计划,如果这部分工作被忽略了,那么一切努力都相当于白费。新的过程要发挥作用需要一些时间,你应该耐心观察改进行动所针对的问题是否得到了解决或者症状得到了缓解。用定量数据来表示过程改进带来的好处,总是比主观的认识要更有说服力。如果这一次改进活动成功了,那么再继续这个过程改进的循环,开始解决
7、下一个最紧迫的需求。记住,过程改进没有终点,而是一个不断延续的旅程。3 集中精力于那些让你头痛的部分人们日常工作方式中那些让他们头痛和感到麻烦的部分,是促使他们改变现状最强的动机。我在这里指的并不是外部的和假想的痛苦,而是有些时候我们在目前的工作方法里所感觉体会到的实实在在的“痛苦”。许诺一个更美好的将来,可以是鼓励人们作出变更的一个方法。但是,也许更有效的方式是指出他们现在正处于危险之中。评估可以帮助揭示那些让你感到头痛的部分真正原因所在,也可以揭示项目潜在的巨大风险。评估的形式可以不拘一格,既可以是一个简单的“头脑风暴”会议,所有的小组成员都参与讨论究竟什么阻碍了生产率和质量提高;也可以是
8、一个半正式的邀请外部的咨询顾问参与的评价;还可以是一个严格的参照CMM标准的正式评审。当然,正式的评审需要一定资金投入,但是可以参照一个业界统一的标准对企业当前实际作出彻底的全面评价。根据我的经验,过程评估很少揭示出特别出人意料的问题。很多开发团队可能已经意识到了他们的问题所在,外部的咨询公司所作出的评估只是使这个问题得到正式的确认。因为,作为外部的第三方,可以置身事外于这个组织的遗留问题、人际纠纷和许多“特殊人物”。评估让你直面那些尴尬的问题情势,而绝对不应该是提供一个对过往问题进行刻意挑剔或者归罪某人的讲坛。执行评估的另一层作用,就是显示管理层对于过程改进的一种决心和承诺。切记要按照评估所
9、发现的问题和提出的建议进行改进,否则不但对于企业投入评估的金钱和精力是一种损失,而且也在团队成员们的心中失去了信任。这些在评估中花费心血的人们,会认为管理层对于变革实际上并没有严肃对待。评估经常是确认了一大堆的改进机会,而你不可能一口全部吃下。“聚焦”就是过程改进中要注意的关键之处,因为,设计一个更好的过程并且将其变为团队工作方式的一部分,所花费的时间往往超过你的设想。我曾经遇到一个20人的开发团队,他们雄心勃勃,企图同时在七个领域实施改进活动,虽然精神可嘉,但是收效甚微。过程改进的目标,应该用所期望的业务成效的术语来叙述。举个例子,目标不应该写成“制定软件构建版本递增规程”,而应该写成“减少
10、从开发阶段传递到系统测试阶段的不正确的构建版本”。SPI的活动其自身并不是目的,而是达到某个目标的方式手段。项目经理应该清楚明白的说明,如果改进活动成功,那么期望开发团队成员的行为方式会有怎样的改变。从优先级比较高的那些目标中,一开始仅仅选择两到三个实施改进。如果你很快的完成了这几个目标,很好;再从评估报告中选取下两个目标继续改进。每次步子不要迈得太大,不要在刚刚起步时尝试太多事情。大型开发组织可以一次在多个项目中同时进行若干领域的改进,但是,对于每个单独的项目仍然应该一次集中精力做好一件事。4 沟通极端重要当要求人们变更他们熟悉的工作方式,他们通常感到不情愿,因为对于熟悉的方式(哪怕效率不高
11、),人们总是能感觉到某种舒适,而对于未知总是感到不安。同时,对于过程改进可能带来的一些额外的程序化的工作量,人们也普遍担心这会影响到创造性的发挥和软件的按时发布。但是,这种担心经常是不现实的。团队成员也许会有一种挫折感,因为哪怕他们已经尽了最大努力,评估结果仍然表明过程有不足之处。客户会认为过程改进活动给他们平添了不少障碍,使他们的需求不容易达到程序员。要解决上述问题,沟通应该贯穿于过程改进的全过程。应该明确的说明当前过程的不足之处所造成的代价:包括不断推迟的进度表、功能的缺失、经常性的超时工作,超额的产品支持费用、客户的不满意、和士气的低下等;应该给那些怀疑论者们细致的解释过程改进对于个人、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统分析 考试 资料 整理 软件 过程 改进
限制150内