○杨浩
(广东松山职业技术学院 广东 韶关 512126)
基于OSSP的OA系统软件项目开发过程研
○杨浩
(广东松山职业技术学院 广东 韶关 512126)
本文基于OSSP的基本目标和思想,结合实际情况,依据企业软件项目开发管理过程的主要特点,研究分析了基于OSSP的OA系统的开发和实施过程,以期通过此种方式,为软件项目开发管理过程的研发和实施提供更好的解决方案。
信息经济 OSSP 软件项目开发 管理过程OA系统
在信息经济环境下,OA系统软件的应用十分广泛,对于企业内部OA系统软件的开发管理,一直是很多企业信息化建设的一个重点内容,鉴于不同企业所面临的环境和企业经营项目的差别,每个企业的OA系统应该是符合内部应用特征的,同时又能与外部协同统一的。因此,对于OA系统软件的开发也是企业信息化管理的一个重中之重。在信息化技术高速发展的时代,组织标准软件过程(Organization's Standard Software Process,简称OSSP)的基本目标和思想是十分符合和适用于以经济、快捷的方式开发出企业特殊要求的OA系统软件项目开发管理的。
OSSP是一个已经被验证了的方法,它的目标是帮助项目的顺利实施和完成。OSSP方法为项目定义了一个标准的项目结构,是从软件工程学院(SEI)和项目管理学院(PMI)中被广泛接受的方法和在最佳实践指导中总结出来的,OSSP方法将此结构量身定做以满足综合资源库平台建设的项目需求。OSSP为项目经理提供了项目管理任务的模板,这些模板集中了已有的项目经验。它们通过预定文档结构和预备使用的语句和示例文字,节约了时间。此外,模板的使用有助于项目经理重复使用其他项目中的信息。
OSSP的优点在于:跨组织、跨地域和技术界限的有效合作,以规范的方法实施项目,同时通过知识的获取、经验的积累、最佳实践以及现有经验的重用,达到提高效率的目的。在整个项目中,鼓励客户参与,并遵循标准流程,以提高客户实施的质量。下面我们基于OSSP的软件项目管理过程,结合本人在使用协同OA软件教学及应用过程中的具体实列,详细探讨企业OA系统项目开发管理的过程。
OSSP的建立一般是CMM3组织必不可少的一项工作,CMM(能力成熟度模型)是一种广泛用于评估和改进机构的软件开发过程的模型。它分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。企业通过CMM3级评估标志着企业的软件开发和维护的标准过程已文档化,称之为组织标准软件过程;CMM是一个体系,它只规定了软件开发过程能力各种级别的特点以及改进的目标,但对如何实现这些能力和目标没有详细的指导,而且,由于软件的应用领域很多,各个机构特点不尽相同,没有一个统一的详细指南可以解决所有机构面临的问题,因此,各个机构必须结合自身的特点来量体裁衣,构建自己的软件开发过程。
由于各个项目环境不尽相同,因此只组织标准软件过程是不够的,还必须根据综合资源库平台建设特定的项目环境,对组织标准软件过程进行打量定做,根据实际需要,建立起相应的项目定义软件过程。在OA系统项目的管理开发过程中,只能结合OA系统本身的特点,实施软件开发管理。OA系统是面向组织的日常运作和管理时员工及管理者使用频率最高的应用系统,随着信息经济环境的不断完善,OA系统在应用内容的深度与广度、IT技术运用等方面都有了新的变化和发展,并成为组织不可或缺的核心应用系统。在信息经济环境中,办公自动化更多的是将最新的管理思想、管理理念植入其应用系统中,使企业在面对外部环境的易变性与复杂性时,突破以往传统的严格的部门分工,打破企业在高速发展过程中受时间、地域、部门之间的限制而形成的信息孤岛,从而提升企业的整体竞争力和前进速度。
不同的企业对信息的应用要求是不一样的,要开发出与企业生产应用要求相匹配的应用系统,最有效的方法就是基于OSSP模式的OA系统项目开发与建设。在OA系统项目管理开发过程中,OA系统应联系企业的实际需要,根据协同OA平台建设项目的要求,以OSSP实施方法论为基础,分阶段地实施整个项目。
1、OSSP项目实施方法
OA系统项目实施,可以通过OSSP应用成熟的软件技术和平台来实现本项目的各项需求。在项目交付阶段制造执行系统被实施,而一般当客户签订了合同时,这个阶段就开始了。本阶段的目标是完成合同的各项指标,并为推广应用做准备,OSSP项目实施的方法,如图1所示。
图1 OSSP项目OA系统实施的阶段划分图
在OSSP实施OA系统软件项目开发中的四个阶段中,每个阶段都定义了一套交付、里程碑和报告,并在第三阶段——执行阶段中应用基于CMM的项目管理理论。
2、OA系统软件项目开发中的软件质量管理
OA系统软件项目开发中软件质量保证的目标是为管理提供保证,使得OSSP已定义的过程、规程、模板在项目过程中得到遵循和保持。
在OA系统软件项目开发项目启动后,项目经理与质量总监协商指派项目SQA(软件质量保证)和行业SQA小组来负责SQA活动。行业SQA和项目SQA参与项目早期的策划活动,包括选择LC 模型、标准过程规范;制定PDSP,进行软件项目策划估计。
SQA小组负责制定项目的SQA计划,SQA计划以项目生命周期为基础保证实际与项目计划(软件项目计划、测试计划、SCMP、SQMP、QPMP)一致。计划SQA 活动应该在项目软件质量保证计划模板中记录。每当项目的日程或范围有了重大改变,SQA活动都可能需要重新计划。项目经理必须评审SQA计划。SQA计划应与项目计划、项目PDSP一起撰写,并与这些文档保持同步。计划中应该包括SOA协同、OA平台审核、SCM 审核的计划日期和工作量。
SQA小组应该定期跟踪已计划的SQA活动。项目SQA活动从其他项目处吸取最佳实践,帮助项目经理在识别过程即合作为PDSP(项目定义软件过程)的一部分过程中获得SEPG(软件工程过程组)的支持,为项目计划提供帮助。SQA小组必须评审PP(项目策划)、QP(质量计划)、PDSP(项目定义的软件过程)和SCMP(软件配置管理计划),以获得有价值的阶段入口,从而保证在OSSP中定义的活动得到有效执行。
如果在OSSP过程或者PDSP过程中有变更发生时,要及时将变更与项目组进行沟通。对小组中的新成员要及时进行项目定义的各种活动的培训。SQA小组应该为此做一些协调和配合工作。如果可能,要将项目文档迁移到新的OSSP版本,并对此进行跟踪,参与项目每月评审(按需)和项目检查点评审。
3、OA系统软件项目开发中项目实施质量控制管理
(1)OA系统软件项目开发中的设计规范。OA系统软件项目开发中设计规范是工程实施的初期步骤之一,为整个工程的实施奠定基础,是保证最终工程质量的关键要素。在集成工程的各个子任务实施前必须提交合格的设计文档,设计文档应充分考虑工程实施的实际情况,并确保技术的正确与可行。设计流程如图2所示。
图2 OA系统软件项目开发流程设计简图
(2)OA系统软件项目开发中的设计评审。第一,设计评审是针对设计方案的质量进行控制。第二,设计人员(设计组)根据实际需求、合同规定以及设备厂家的资料提出切实可行的设计方案后,先由组内讨论通过,然后由组长向项目管理部提出召开评审会的申请,由项目管理部召集设计评审会。
OA系统软件项目开发中评审组的成员由项目管理部确定。对于OA系统软件项目开发中的总的设计原则和设计目标的确定以及影响整个工程质量的设计,应当邀请用户和同设计无关的(第三方)专家参与构成评审组,从技术角度作出判断;其他关系各项目小组设计的评审可以总体管理组为基础扩充若干专家构成评审组。
OA系统软件项目开发中评审应以确认设计是否满足用户需求、是否能达到用户满意的程度、同有关规范、标准的符合程度,验证设计的适用性、可行性和可靠性,必要时可要求提供设计验证的证明数据。评审结果形成评审报告存档,若需要改进,反馈给设计人员,若评审通过,则进入批准生效过程。
OA系统软件项目开发设计方案评审通过后,领导决策组应当会同项目管理部向最终用户讲解设计方案,对方案中采用的技术进行说明,使最终用户理解设计的内容,对工程进展和实施过程增强信心。重要的设计由领导决策组签字批准,其他由项目管理部签字批准,从而正式生效,设计文件要发送到所有参与过程实施的技术人员。针对已经批准和发布的设计,在实施过程中或实施前,如果发现明显的错误或其他因无法抗拒的原因(如设备和线路性能、政策改变等),需要修改设计方案时,应由设计和实施人员共同提出申请,由项目管理部批准后,进行更改,更改后的文件重新进行评审、批准程序。设计更改申请报告应对需要更改的原因作出说明和分析,对于设计中的错误应当着重分析出现错误的根源。设计是工程最终能否满足用户需求的重要因素,明确职责是为了确保设计的质量。项目管理部应当负责总的设计原则和设计目标的确定;督促影响整个工程质量的设计的进行,各地区项目实施组的子项目经理负责督促属于本组的设计工作,保证设计能够按时完成。设计评审会负责对设计质量的最后把关。
在设计开展过程中,OA系统软件项目开发中工程质量管理组应对设计进度和设计过程中存在的问题进行检查,发现问题及时解决(包括检查设计的目的是否清晰、设计分工是否明确合理、设计流程是否遵守、设计过程产生的文档是否完整符合要求)。
4、OA系统软件项目开发中的工程实施控制
为保证OA系统软件项目开发中各子任务的工程实施顺利进行并保证质量,任务负责人必须在实施前作好充分的准备和组织工作。OA系统软件项目开发中实施的准备和组织的流程如图3所示。
图3 OA系统软件项目开发实施组织流程图
OA系统软件项目开发实施准备和组织流程产生的输出包括:实施方案与进度计划,提取设备清单,现场环境检查报告。
对OA系统软件项目开发中实施准备和组织流程作以下说明:当项目管理部确定某子任务的实施期限后,由该任务的负责人在任务下达一周内提交自己的实施方案设计。OA系统软件项目开发中实施方案与进度计划的内容包括:参与人员及其任务分配、工程项目进度计划、所需设备清单、根据任务设计方案和有关作业指导书(操作手册)提出的关键控制点。OA系统软件项目开发中的实施方案与进度计划应当交组长审核后由项目管理部批准,才能正式开始实施准备阶段。准备阶段首先要使参与人员各自明确自己的职责,并收集有关设计方案、作业指导书、准备质量记录和登记表格。现场环境检查是指检查工程实施地点是否有合格配套的场地、线路。进入现场施工前,要从库中提取所需要的设备。
OA系统软件项目开发中实施过程的控制:实施过程是对工程质量产生影响的最关键步骤,必须按照设计方案和实施计划的要求,规范化严格控制。
OA系统软件项目开发中工程实施的输出包括:配置记录表、配置修改记录表、工作日志、设计修改申请与批准书(可能)和联调技术报告。
OA系统软件项目开发中工程实施由相应的任务负责人控制工程实施的进度和质量以及关键控制点的状况。项目管理部和工程质量管理组也要各自履行质量监督职责。
OA系统软件项目开发中的实施验证:实施验证是为了及时得到工程进行状况与实施方案和设计方案的符合程度,由工程质量管理组负责。
OA系统软件项目开发中的实施验证分为抽验和终验。抽验的时间地点由工程质量管理组组长决定。抽验结果要向领导决策组提供,以便最高领导及时掌握工程质量状况,向项目管理部反馈质量改进和控制的建议。终验指在每一项任务(子任务)工程实施完毕后进行的评审活动,应检查各种文档是否齐全,并对任务(子任务)的工程质量作总体评价,提交评审计划(评审参加人员、评审内容与方法)和评审报告。
图4 OA系统软件项目开发的评审流程
OA系统软件项目开发中审核与评审是保证工程质量的重要保障手段,应当有计划地安排进行。工程中所产生的每一份文件(实施过程产生的质量记录除外)都要履行审核手续。审核的目的是使文件符合文件规范和有关作业程序的规定,验证是否存在质量漏洞和职责不明确现象。对于工程中的重要关键问题必须召开评审会。评审会分为两种:一种是项目管理部召集的论证评审会,另一种是工程质量管理组负责人召开的检验性评审会,这种评审会由工程质量管理组负责人定期向领导决策组者提交评审计划安排。OA系统评审会要遵从特定的工作流程。
OA系统是一项结构复杂、功能强、涉及面广的信息系统集成和开发的工程,为确保项目达到预期的目的,使系统真正发挥作用,必须做到在项目真正实施前就能预测到该项目可能遇到的各种风险,并准备好项目风险的控制方法,才有可能做到万无一失并最终确保本项目的实施成功。
5、OA项目的整体实施系统验收管理
根据需方行业的特点和惯例,系统验收在最终用户的实际系统运行环境中进行。供方在开发环境下,完成应用系统开发工作并进行系统测试。项目的系统验收包括系统工程验收、系统初验、系统最终验收(终验)三个阶段,这三个阶段也可根据合同简化为工程验收、系统终验两个阶段。系统验收应履行正式手续,成立专门的测试验收小组,负责组织、监督和裁决整个系统的验收过程,最后对系统验收管理完全实各阶层完成的软件进行实测和调整。
基于OSSP过程开发的协同OA软件挺多,以笔者所使用的一个泛微协同OA系统软件为例,它较好地针对“信息孤岛”、“应用孤岛”和“资源孤岛”这三个问题,通过有效的人力资源和过程控制、技术处理,实现信息、业务和资源的协同。
在OA系统软件开发过程中,首先要本着“信息网状思想”:建立一个立体的、多维的信息获取、共享和使用的环境,同时协同平台为这些信息节点之间提供立体化的“网状”关联通道,从任何一个信息节点都可以到达任意的相关信息节点,极大地方便企业获取完整的、真实的信息。其次要结合“业务关联思想”:即提供对各个业务环节进行整合的方案,使得协同平台可以面向整个业务过程来进行管理。表面上看在协同平台中还是采用某个模块或某个功能完成某个业务环节的要求,但随之这个应用可以自动启动其他的关联应用,并完成相关数据的更新,使得企业无需在不同应用平台之间切换便可以完成对业务链的管理。最后要有“随需而应思想”:即将企业的“人”、“财”、“物”、“信息”和“流程”进行充分的整合。在OA平台中,这些资源可以实现各种关联,当企业由于某个目的触发一个应用的时候,相关的资源可以随之被调动并被自动加入统一管理和协同工作的环境中,从而进行紧密的协调和运作。
总而言之,企业在自行开发OA协同管理平台的过程中,只有很好地利用结合OSSP的思想,才能更有效地对各种分散存在或被分隔的资源进行整合,并让它们在统一管理和调配下进行优化,从而发挥这些资源的最大价值。
在信息经济环境下,企业对于应用软件的要求越来越高,应用软件在企业中发挥的作用也越来越重要,OA系统不仅仅是企业办公的一种工具,更应该是一种有思想、有模式的能管理的软件。目前市场上主流的协同OA系统就为现代企业发展注入了强劲的动力,它以动态组织为行为主体,以工作流为传导模型,以任务为处理模型,将组织行为的复杂性通过三者的结合充分表现出来,从而帮助实际组织解决管理过程中的复杂课题。系统管理模型的组织价值在于“使用有限资源创造最大化价值”,组织标准软件过程在企业具体软件项目开发中的应用还是较初级阶段,企业与企业间的实际情况千差万别,完全把不同应用的软件用统一的软件开发格式化管理是无法很好地实施企业的信息化系统建设要求的。只有根据企业的具体要求,确保客户充分参与;及时组织评审,倾听客户意见;保持客户沟通渠道畅通,及时反馈,然后结合OSSP的软件过程标准灵活运用,才会使企业的软件项目开发事半功倍,开发效率大大提高。
[1]王素芬:软件工程与项目管理[M].西安:西安电子科技大学出版社,2010.
[2]康一梅:软件项目管理[M].北京:清华大学出版社,2010.
[3]沈春龙、孔建寿、张友良:支持产品协同设计项目管理系统的研究与实现[J].计算机应用研究,2000(3).
[4]伦蕊、黎正忠:信息经济时代企业管理的规模经济性[J].东北财经大学学报,2004(4).
[5]McBride,T.M.:The mechanisms of project management of software development[J].Journal of Systems and Software,2008(81).
[6]Charlie C.Chen.Chuck C.h.Law.Samuel C.Yang.Managing ERP implementation failure:a project management perspective[J].IEEE Transactions on Engineering Management,2009(56).
[7]涂思佳、肖攸安:基于B/S结构的校园OA系统的设计与开发[J].武汉理工大学学报(信息与管理工程版),2007,29(12).
[8]马慕周:办公自动化技术应用[M].北京:清华大学出版社,2011.
(责任编辑:胡婉君)