企业标准项目论文.docx
《企业标准项目论文.docx》由会员分享,可在线阅读,更多相关《企业标准项目论文.docx(18页珍藏版)》请在冰豆网上搜索。
企业标准项目论文
一、项目的概念
1、项目定义:
PMI对项目的定义:
Aprojectisatemporaryendeavorundertakentocreateauniqueproductorservice。
项目从开始到终结是渐进地发展和演变的,可划分为若干个阶段的,这些便构成了它的整个生命期。
不同的项目可以划分为内容和个数不同的若干阶段。
例如建设项目可分为:
发起和可行性研究、规划与设计、制造与施工、移交与投产;新药开发项目可分为:
基础和应用研究、发现与筛选药物来源、动物实验、临床实验、投产登记与审批;世界银行贷款项目的生命期分为六个阶段:
项目选定、项目准备、项目评估、项目谈判、项目实施和项目后评价。
每一个项目的阶段都以它的某种可交付成果的完成为标志。
例如,建设项目的可行性研究阶段要交付可行性研究报告,药物开发项目的选定药物来源阶段要做出新药样品制剂等。
前一阶段的可交付成果通常经批准后,才能作为输入,开始下一阶段的工作。
例如,可行性研究报告批准后才能开始规划与设计,新药样品制剂鉴定后才能开始动物试验。
认真完成各阶段的可交付成果很重要。
一方面,为了确保前阶段成果的正确、完整,避免返工;别一方面,由于项目人员经常流动,前阶段的参与者离去时,后阶段的参与者可顺利地衔接。
当风险不大、较有把握时,前后阶段可以相互搭接以加快项目进展。
这种经过精心安排的项目互相搭接的做法常常叫做“快速跟进”(fasttrack)。
需要特别指出的是,这种快速跟进与盲目的“三边”做法(边发起、边计划、边实施)有本质的区别。
无论项目阶段的内容和划分如何不同,项目生命期都可以典型化地依次归纳为孵化、启动、规划、实施(执行和控制)、收尾、交接六个阶段。
有的项目比较简单或比较成熟,不需要或只有很短的孵化阶段;有的项目最终成果比较简单或比较容易被直接使用,不需要或只有很短的交接阶段。
不同的项目各阶段的资源投入强度不同。
通常是前期投入较低、逐步增加、到后期降低。
通常项目各阶段之间会有重叠和搭接。
2、项目属性
1)一次性
一次性是项目与其他重复性运行或操作工作最大的区别。
项目有明确的起点和终点,没有可以完全照搬的先例,也不会有完全相同的复制。
项目的其他属性也是从这一主要的特征衍生出来的。
2)独特性
每个项目都是独特的。
或者其提供的产品或服务有自身的特点;或者其提供的产品或服务与其他项目类似,然而其时间和地点,内部和外部的环境,自然和社会条件有别于其他项目,因此项目的过程总是独一无二的。
3)目标的确定性
项目必需有确定的目标:
●时间性目标,如在规定的时段内或规定的时点之前完成
●成果性目标,如提供某种规定的产品或服务
●约束性目标,如不超过规定的资源限制
●其他需满足的要求,包括必须满足的要求和尽量满足的要求
目标的确定性允许有一个变动的幅度,也就是可以修改。
不过一旦项目目标发生实质性变化,它就不再是原来的项目了,而将产生一个新的项目。
4)活动的整体性
项目中的一切活动都是相关联的,构成一个整体。
多余的活动是不必要的,缺少某些活动必将损害项目目标的实现。
5)组织的临时性和开放性
项目班子在项目的全过程中,其人数,成员,职责是在不断变化的。
某些项目班子的成员是借调来的,项目终结时班子要解散,人员要转移。
参与项目的组织往往有多个,甚至几十个或更多。
他们通过协议或合同以及其他的社会关系组织到一起,在项目的不同时段不同程度的介入项目活动。
可以说,项目组织没有严格的边界,是临时性的开放性的。
这一点与一般企、事业单位和政府机构组织很不一样。
6)成果的不可挽回性
项目的一次性属性决定了项目不同于其他事情可以试做,作坏了可以重来;也不同于生产批量产品,合格率达99.99%是很好的了。
项目在一定条件下启动,一旦失败就永远失去了重新进行原项目的机会。
项目相对于运作有较大的不确定性和风险。
二、软件项目的一般过程
2.1项目管理过程可以分为5个过程组
●启动过程:
批准项目或阶段的开始
●计划过程:
定义项目或阶段的目标及其所需的资源
●执行过程:
根据计划来执行任务
●控制过程:
通过定期来监督和测量项目的进展来判断项目实际的执行情况与计划的差异,如果需要,还应该采取纠正措施
●结束过程:
确定项目或阶段可以正式结束
2.2软件项目生命周期的划分
1)项目定义与可行性研究
2)需求分析
3)系统设计
4)软件实施
5)系统测试
2.3几种典型的生命周期
瀑布模型线性模型(又称传统生命周期模型或瀑布模型)
增量模型
时间
三、项目管理中有哪些关注点
项目管理是通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法。
软件项目管理的内容:
从软件工程的角度讲,软件开发主要分为六个阶段:
需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。
不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。
软件项目管理的原则:
在八十年代初,著名软件工程专家B.W.Boehm①总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。
它们是:
(1)用分阶段的生命周期计划严格管理;
(2)坚持进行阶段评审;
(3)实行严格的产品控制;
(4)采用现代程序设计技术;
(5)结果应能够清楚地审查;
(6)开发小组地人员应该少而精;
(7)承认不断改进软件工程实践地必要性。
项目经理在管理项目的关注点:
1)项目目标
“目标是行动的航标”,因此目标对项目的重要性不言而喻。
一个不关注项目目标的项目经理,最终只能将项目带入失败。
实践已经并继续证明,任何不针对目标的行动都将是徒劳的。
因此,项目经理一定要将项目目标装在“心”里并时时关注。
2)项目范围
“项目范围实际上就是我们工作内容的一个映射”,项目范围同时也决定了我们工作量的大小。
项目经理如果对项目范围没有一个清晰的把握并合理控制,则项目组开展的一些工作很可能于事无益,其结果只能是劳民伤财。
3)项目计划
“计划是行动的纲领”,项目计划的重要性我想已经是尽人皆知了。
项目经理不但需要重视项目计划的制定,更需要重视项目计划的执行。
计划能使我们的思想具体化而体现出我们期望做什么、什么时候做、谁去做以及如何做,因此任何不在项目计划指导下的行动都将“杂乱无章”,甚至给项目带来巨大风险。
4)项目质量
“质量是项目的生命”,没有质量的项目无疑是失败的项目。
因此,项目经理需要时时关注与项目质量密切相关的各种活动。
5)项目进度
“进度往往就是效率”,项目特别是商用项目,进度往往决定了它的市场价值。
因此,项目经理在关注项目质量的同时,也需要密切关注项目的进展。
6)项目成本
“资本是项目得以正常开展的命脉”,一个成本失控或成本超标的项目,将面临很大的项目维系风险。
7)项目风险
“项目风险是影响项目能否顺利开展并取得最终成功的唯一不确定因素”。
项目经理需要时时关注项目风险的状态,准备好应对预案做到“有备无患”,并尽可能消除不利风险发生的环境和条件。
8)项目干系人
“平衡项目干系人的期望是项目最终能得到各方认同的基础”,一个不能平衡并满足项目干系人期望的项目经理,在项目的开展过程中将会“举步唯艰”。
9)目标用户
目标用户虽然属于项目干系人范畴,但目标用户有别于其他项目干系人的一个明显之处是:
他们是项目成果的最终使用者。
目标用户的特征(如工作岗位、能力水平等)将在很大程度上决定了项目所需要的开发方式和项目成果的展现方式(如开发一个计算机应用系统,如果用户的计算机操作水平较低,则系统的设计就需要考虑尽可能简单、易学、易操作)。
10)项目团队
这里提到的项目团队主要是指项目经理所领导的项目组。
“项目团队是项目成果的直接缔造者”,项目团队的工作效率直接决定了项目的效率。
因此,项目经理需要非常关注项目团队成员(包括项目团队建设、绩效考核等)。
11)项目实施和运行环境
“项目实施和运行环境不但决定了项目的实施策略而且也在很大程度上决定了项目所需要的开发技术和模式”(如开发一个计算机应用系统,系统运行环境将在一定程度上决定了系统所可能采用的开发技术)。
12)产出物评审
“评审是发现问题最有效、最及时的方式之一”,一个问题多多的产出物一定会给后续工作带来巨大的障碍和风险。
因此,项目经理一定要关注项目产出物特别是关键产出物的评审,决不要以为评审是走“过场”,是一个可有可无的活动。
13)缺陷
“缺陷是项目的定时炸弹”,如果缺陷被消除,就相当于消除了定时炸弹、消除了安全隐患。
因此,项目经理一定要关注项目进展过程中所发现的各类缺陷,做到多发现、早消除。
14)用户问题
“用户问题是否被有效解决直接决定了用户对项目的配合程度和对项目成果的最终接受程度”。
因此,用户问题是项目经理一定不能忽视的问题。
15)里程碑总结
“总结是发现问题并规避问题再次发生的最佳办法,是提炼经验并发扬经验的有利时机”。
项目经理不但要重视项目进行中的阶段总结,也需要重视项目完结后的项目总结,因为项目总结为下一个项目提供了良好的经验借鉴。
项目管理中所需要关注的问题还很多,以上只是结合作者的经验总结了15个方面。
由于项目的多样性,各项目的主要关注点也不尽相同,这需要我们具体情况决定分析,在参考自己和别人经验的基础上灵活把握。
四、品质管理有哪些关注点
软件质量要素包含以下两个方面,从技术角度讲,对软件整体质量影响最大的那些质量属性才是质量要素;从商业角度讲,客户最关心的、能成为卖点的质量属性才是质量要素。
1.项目流程
质量管理流程是由一系列明确的、反复的阶段所组成,它通过一套渐进的步骤,实现从实施概念到结果的转变,这不仅确保了企业质量管理自动化平台的形成,也能帮助其获取熟练的操作技能。
质量管理流程是由一系列明确的、反复的阶段所组成,它通过一套渐进的步骤,实现从实施概念到结果的转变,这不仅确保了企业质量管理自动化平台的形成,也能帮助其获取熟练的操作技能。
评估:
实施质量中心管理及自动化服务的第一阶段目标就是决定高层次的架构和实施方式。
在开始质量管理的实际内容时,需要对企业相关的战略、机构的功能和技术方面做出评估;与业务和技术方面的项目干系人交流,找出现有的缺陷;评估机构现有的测试环境和测试流程状态。
范围界定:
在评估阶段所收集的信息基础上,需要选择一个最重要的应用,作为流程实施的示范,以确保实现快速的价值回报。
设计:
接下来需要确定评估信息,对现有的架构和应用环境展开更进一步的分析,包括系统架构、基础架构、数据流、用户、企业网络、机构组织和交流、流程和工作流、现有的测试工具、需要展开测试的特定应用和业务流程步骤等。
实施:
接下来,就可以展开实施和配置质量中心运行的硬件和软件平台,安装和配置完成质量中心环境,多数优化软件供应商应该将一套最佳实践运用到企业的特定环境中,为机构实现快速的价值回报。
验证:
一旦实施完成,项目负责人将组织回顾质量中心的实施情况,包括架构、导航测试流程、团队的自主执行能力、及建立在最佳实践基础上的流程,由此检验是否能够成功地测试和管理应用质量。
实现:
实现阶段贯穿整个实施过程。
这五个阶段每个都具有一套特定的指标和目标,用于衡量该阶段的进展情况。
在部署过程中跟踪KPIs(关键绩效指标)是至关重要的,这能够有效地满足实施目标,了解一段时间内关键的性能变化,并执行有效的测试管理。
此外,价值实现还应体现测试资产和被测应用数量的扩大、自动化测试脚本有效性的提高、机构变化的发展等。
在整体实施过程中,运用最佳实践促进了价值的实现,最大化了部署和中心的运作的效益。
2.开发规范
CMM规范并非只适用于大型软件企业,其也适用于中小型企业。
CMM规范只是一个框架、纲要性质的东西。
企业在落实它时要细化一次;企业将其落实到具体的某个项目时,要再细化一次;中小企业可以不像大型企业那样将CMM规范细化得那么细,够用就好,不要教条。
实施CMM规范、通过CMM认证有如下一些好处:
确定工作流程和方式,从而使产品的质量和开发的可延续性有了保证;可以提高企业在用户中的信誉度,增加企业与强势公司竞争的筹码;可以承接国际大公司的外包项目———美国公司愿意找印度公司来承接其外包项目,就是因为印度公司对CMM规范普遍比较重视,通过CMM认证的软件企业也多;公司不再受制于人,人走了,事照做,这是一个公司成熟的表现。
CMM是由美国软件工程学会(softwareengineeringinstitue,简称SEI)制定的一套专门针对软件产品的质量管理和质量保证标准.
CMM全称为(CapabilityMaturityModel),中文名称为能力成熟度模型.
CMM划分为五级:
级别越高表明该企业在提供合格软件产品方面的能力越强.
五级的关键过程域(KPA),共计18个过程域如下:
初级(initial):
描述了不成熟,或者说是未定义的过程的组织
可重复级(Repeatable):
需求管理,项目策划,项目监督和控制,供方协定管理,测量和分析,过程和产品质量保证,配置管理
_x,jP_D.?
{!
ATestAge中国软件测试时代_n}_`_v_x:
?
_z2L已定义级(defined):
需求开发,技术解决,产品集成,验证,确认,组织级过程焦点,组织级过程定义,组织培训,集成项目管理,风险管理以及决策分析和决定.
管理级(managed):
定量过程管理,软件质量管理
优化级(optimizing):
组织革新和部署,原因分析和决定.
一个组织只要开始从事软件开始,即自动处于第1级,要通过其它等级,就需要达到统一的标准,即上述相对应等级中的各个区域过程.
CMM的评估方法是:
CBA-IPI方法(即CMM-BasedAssessmentforInternalProcessImprovement).CBA-IPI方法是一种诊断工具,它借助识别其现行过程的优劣使一个组织能了解其软件开发能力,把这些优缺点与CMM对照起来,安排软件改时计划的优先顺序,并把注意力集中关注到最有利的软件改进上,以及给出其现行过程的成熟度等级和业务目标;此方法是受过培训的专业组对组织的软件过程能力作出评估,该组全体人员作为一个团队一起对评估范围内的CMM关键过程域进行评估和评分.此评估结果是依据所采集的数据作出的,这些数据来自问卷回答\文档审核\陈述以及与中层经理\项目负责人和软件专业人员的深层访谈.
CMM,CMMI,ISO9000之间的联系和区别
CMM和CMMI的联系及区别:
联系:
CMMI即CMM集成,是系统工程和软件工程的集成成熟度模型,CMMI更适合于信息系统集成企业。
CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。
它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。
区别:
从等级划分上看,1,3,5级的名称没有变化,均是初始级,已定义和优化;但是2级和4级分别定义为已管理级和定量管理级,这个变化更突出了CMMI定性管理和定量管理的特点.
CMMI共有分属于4个类别的25个过程哉,覆盖了4个不同的领域;相对应的CMM共有18个过程域.
CMM基本活动的度量方法和瀑布过程的有次序的,基本活动的管理规范有非常密切的联系,更适合瀑布型的开发过程;而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基于结果的方法:
开发业务安全,构想和原型方案,细化后纳入基线结构,可用发布,最后确定为现场版本的发布.
CMMI比CMM进一步强化了对需求的重视.在CMM中,关于需求只有需求管理这一个KPA,也就是说强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求;在CMMI中,3级有一个独立的KPA叫做需求开发,提出了对如何获取优?
CMMI对工程活动进行了一定的强化.在CMM中只有3级中的软件产品工程和同行评审两个KPA是与工程过程密切相关的;而在CMMI中,则将需求开发,验证,确认,技术解决方案产品集成这些工程过程活动都作为单独的KPA进行了要.
CMMI3级中单独强调了风险管理,而在CMM中把风险的管理分散在项目计划,项目跟踪与监控中进行要求.
从评估方法上看,随着CMM过渡到CMMI,其CAF(CMM,AssessmentFrame-work)框架变成评估需求(ARC:
appraisalrequirementsforCMMI);IPI-CBA的评估方法被SCAMPI方法替代.
(2)ISO与CMMI的联系及区别:
联系:
两者都共同着眼于质量和过程管理
目前2000版的ISO更多的和CMMI有直接对应的关系,甚至是大量的CMMI4和CMMI5级的要求
区别:
CMMI是专门针对软件产品开发和服务,而ISO9000涉及的范围则相当宽.
CMMI强调软件开发过程的成熟度,即过程的不断改进和提高.而ISO9000则强调可接收的质量体系的最低标准.
自CMM1.0版本后,SEI又开发了其他成熟度模型,包括:
软件工程(SW-CMM),系统工程(SE-CMMsystemengineeringCMM),软件采购(SA-CMM,softwareacquistionCMM),人力资源管理(P-CMM,peopleCMM)和集成产品开发(IPT-CMMintegratedproductteamCMM)等.虽然各个模型针对的专业领域不同,但是彼此之间有一定的重叠;另外,这些模型在表现形工上又有不统一之处:
系统工程模型是连续式的,而其它模型采用了分级式.
为了整合不同模型的最佳实践,建议统一模型,覆盖不同领域,供企业进行整个组织的全面过程改进,并于2001年正式发布了能力成熟度集成模型(CMMI)1.1版本,这次发布标志着CMMI的正式使用.SEI也正式宣布,将不再维护CMM的CBA-IPI评估方法.
3.过程控制PDCA
过程管理是指:
使用一组实践方法、技术和工具来策划、控制和改进过程的效果、效率和适应性,包括过程策划、过程实施、过程监测(检查)和过程改进(处置)四个部分,即PDCA循环四阶段。
PDCA(P—plan,计划;D--do,执行;C--check,检查;A-act,处理)PDCA循环又叫戴明环,是美国质量管理专家戴明博士首先提出的,它是全面质量管理所应遵循的科学程序。
1)过程策划(P)
从过程类别出发,识别组织的价值创造过程和支持过程,从中确定主要价值创造过程和关键支持过程,并明确过程输出的对象,即过程的顾客和其他相关方。
确定过程顾客和其他相关方的要求,建立可测量的过程绩效目标(即过程质量要求)。
基于过程要求,融合新技术和所获得的信息,进行过程设计或重新设计。
2)过程实施(D)
使过程人员熟悉过程设计,并严格遵循设计要求实施之。
根据内外部环境、因素的变化和来自顾客、供方等的信息,在过程设计的柔性范围内对过程进行及时调整。
根据过程监测所得到的信息,对过程进行控制,例如:
应用SPC(统计过程控制)控制过程输出(产品)的关键特性,使过程稳定受控并具有足够的过程能力。
根据过程改进的成果,实施改进后的过程。
3)过程监测(C)
过程监测包括过程实施中和实施后的监测,旨在检查过程实施是否遵循过程设计,达成过程绩效目标。
过程监测可包括:
产品设计过程中的评审、验证和确认,生产过程中的过程检验和试验,过程质量审核,为实施SPC和质量改进而进行的过程因素、过程输出抽样测量,等等。
4)过程改进(A)
过程改进分为两大类:
“突破性改进”是对现有过程的重大变更或用全新的过程来取代现有过程(即创新);而“渐进性改进”是对现有过程进行的持续性改进,是集腋成裘式的改进。
配置管理
软件配置管理简称SCM(SoftwareConfigurationManagement的缩写),是在团队开发中,标识、控制和管理软件变更的一种管理。
配置管理的使用取决于项目规模和复杂性以及风险水平。
软件配置管理是一套规范、高效的软件开发管理方法,同时也是提高软件质量的重要手段,它帮助开发团队对软件开发过程进行有效的变更控制,高效地开发高质量的软件。
目前软件开发中面临的问题:
⏹在有限的时间、资金内,要满足不断增长的软件产品质量要求;
⏹开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;
⏹程序的规模越来越大;
⏹软件的重用性需要提高;
⏹软件的维护越来越困难。
软件配置管理应提供的功能:
在ISO9000.3中,对配置管理系统的功能作了如下描述:
⏹唯一地标识每个软件项的版本;
⏹标识共同构成一完整产品的特定版本的每一软件项的版本;
⏹控制由两个或多个独立工作的人员同时对一给定软件项的更新;
⏹控制由两个或多个独立工作的人员同时对一给定软件项的更新;
⏹按要求在一个或多个位置对复杂产品的更新进行协调;
⏹标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更改请求或问题引起的。
软件配置管理包含了用于所有软件项目的良好工程实践方法,它通过下面几种方式强化软件的可靠性和质量:
●提供用于识别和控制文档、代码、接口、数据库的结构框架,适用于软件开发整个生命周期;
●全面支撑某一特定开发及维护工作方法,能够适应各种类型的需求、标准、政策、组织机构以及相关的管理策略;
●针对特定的基线状态、变更控制、测试、发布版本或审计活动,生成相应的管理信息和产品信息。
实施配置管理系统,要从以下几方面考虑:
●规划、调整网络开发环境,这是实施配置管理系统的前提;
●根据项目开发的要求,设计开发资源的存储模式,良好的存储模式有利于减轻管理上的负担,增强配置管理库的访问性能,同时便于控制访问权限,保护软件资产;
●定义配置管理系统的角色;
●制定配置管理流程:
这是配置管理实施的一个重要阶段,其主要目的是根据项目开发的需要,制定相应的配置管理流程,更好地支持开发;
●相关人员的培训。
4.项目协同
大型项目往往需要许多人参加才能完成。
项目组成员之间的沟通、同步、协调一直是项目管理中的难点。
随着互联网与市场越来越商业化,如何在规定的时间内明确需求定义、快速开发、轻松交付出令客户满意的产品,又能全面提升研发部门整体实力已经是每一个项目部门主管思考的问题。
当然这需要这样一个支撑的平台:
能实现研发团队内部之间实时的沟通交流,又能在一个高度统一的开发环境下协同完成开发任务。
1)协同开发模式的定义
软件协同开发模式指的是开发团队成员为某项课题或项目,利用计算机、网络与通信、多媒体以及人机接口技术,在项目进行到某个阶段时能合理地使用不同软件,并建立起联系,使其间调用更加方便、快捷,从而达到功能更完善,应用更简便,将时间上分离、空间上分布而工作上又相互依赖的多个协作成员及其活动有机地组织起来,以共同完成某一项任务的分布式计算机环境共同协作的方式。
通常是在相对稳定的团体地点进行,体现并符合信息时代人们工作的群体性、交互性、分布性和协同性特征,这种开发模式在长期的实践中不断成熟和完善,目前已经在信息产业中形成一种趋势。
本节就如何在ASP.NET项目下,高效合理的使用MicrosoftVisualStudio.NET2003、MicrosoftSQLServer、MicrosoftOfficeVisio2003、MicrosoftVisualSo