济南软件开发之软件开发过程管理与控制

2016-04-07 13:17:18
    软件项目管理体系涵盖了软件软件项目的人力资源和组织结构管    作为软件开发项目经理,软件开发过程控制与管理的好坏直接关系到软件开发成功与否,我们应该如何做好软件开发过程的管理与控制呢?
    
    软件项目管理体系涵盖了软件软件项目的人力资源和组织结构管理、软件项目预算管理、进度管理、风险管理、合同管理、采购管理等知识领域。宝信公司已经全面实行项 目经理制,推行软件项目经理资格认证管理制度及软件项目经理绩效考核制度,对软件项目的整个生命周期过程,即软件项目启动过程、软件项目计划过程、软件项目执行过程、软件项目监控过程 和软件项目收尾过程进行较为有效的管理,确保了工程软件项目的成功实施。
    
    软件项目管理注重于软件项目的整体管理,包括软件项目定义、目标、范围、策略、阶段、资源、进度、质量、验收等方面的内容。大量前期软件项目管理工作实际上已经在签订合同以前就开始进行和完成。一旦软件项目启动,根据这些已经定义好的策略和计划,立刻展开实施工作。
    
    软件项目过程控制的主要目标是软件项目的质量控制、进度控制、成本控制。从软件项目建设的意义上来说这同时也是软件项目管理的金三角:时间、质量、资源。就软件项目过程控制自身 的阶段划分而言,也是基于软件项目管理的启动、设计、实施、验收这几个过程。因此,软件项目过程控制工作首先是基于软件项目承建方(乙方)的软件项目管理基础上展开的。
    
    在软件项目建设过程主要以软件质量控制为核心,紧紧抓住软件生产方法、需求分析、软件设计、软件生产工具、测试、验证与确认、评审和管理等8个主要环节。
    
    质量问题来源于各个阶段,但更多的是源于新产品的开发设计阶段,因此,我们的软件质量保证工作从产品计划和设计开始,直到投入使用和售后服务的软件生存期的 每一阶段中的逐个步骤都有质量保证部门进行参与,同时还做到每一个相关的人,不止是质保人员,还包括规划人员、软件开发人员、软件项目经理、销售人员等都对质 量保证引起了高度重视。
    
    软件项目过程控制在信息化工程建设中,首先要求有合理、科学的项 目管理,基于软件项目管理计划,软件项目过程控制方在建设的不同阶段,有不同的质量计划,风险管理计划,沟通计划,进度控制计划,所有这些计划手段是对承建方的项 目管理进行的监督、理顺,并规范软件项目管理中不规范的行为,在软件项目的关键点进行技术质量、进度的把关,保证软件项目建设更加规范、科学,达到全过程控制。
    
    具体来说,在信息化的软件项目控制一般分为三部分:软件项目前控制,软件项目过程控制,和软件项目后期控制。其主要内容包括:软件项目实施目标和计划的控制、软件项目投入资源和软件项目成果的控制、软件项目实施效益的控制。
    
    一、 在软件项目的前期控制
    
    主要是在软件项目启动前对软件项目进行监督和控制,实施软件项目控制的主要内容包括:总体计划、范围和目标,考证软件项目计划的可行性和范围可容性和目标的科学性及可实现 性;预期的投资效益和评估标准,验证预期效益的科学性和评价标准的科学全面性和公正性;软件项目的困难和阻力,找出主要的阻力点和问题结,作到知己知彼百战不 殆;克服困难的决心和措施,为将来软件项目顺利进行扫请障碍。这里主要是对软件项目前期的计划工作进行审核,保证软件项目在一个可靠的计划下进行。软件项目开始阶段主要针 对软件合同内容,制定软件项目的总体安排计划,并由公司售前人员和对方企业软件项目实施人员对前期软件项目资料进行移交,确定软件项目责任和授权,尤其要明确软件项目的验收标 准。
    
    在软件项目开始阶段进行的软件项目管理可从以下几方面控制:
    
    a) 软件项目总体安排对软件项目的时间、进度、费用、人员等做出总体安排,制定该软件项目的总体计划。
    
    b) 资料移交 包括合同、售前调研报告、需求分析、验收标准、对方公司的软件项目组成员等资料。
    
    c) 软件项目范围定义 在资料移交的基础上,定义该软件项目的整体范围。
    
    d) 软件项目授权 由企业与公司销售部门根据软件项目合同,明确双方职责,并由企业根据软件项目的需要对实施组进行软件项目管理的授权。
    
    e) 对该阶段的资料进行整理、归档。
    
    此阶段是该软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的软件项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定软件项目实施的时间计划、成本和预算计划、人力资源计划等。
    
    二、 软件项目过程控制
    
    主要是在软件项目进行的过程中对软件项目进行监督和控制。其具体内容有:控制软件项目阶段计划,控制阶段计划的执行进度,并指导进行合理调整;控制软件项目的实际投入,保证 投入的合理性,保证后续阶段的可持续性;控制监督软件项目的实际结果,保证阶段结果与阶段进程计划相同或相符;控制软件项目实施中的困难和阻力,提出建议性措施和 解决方法,避免软件项目的重大停顿或中止;克服困难的措施,保证解决困难的措施有效性和可行性,保证软件项目进程的顺利进行。
    
    根据软件项目参与各方的机构设置、人员配备、职责划分,将软件项目相关各过程细分,形成职责、流程、规范的统一文档,提供各方讨论后,由业主方颁布施行,作为软件项目活动的纲领性文件和工作依据,规范软件项目参与各方的工作。
    
    通过进一步调研,优化总体技术方案,制定软件项目实施方案和实施计划,并作为软件项目实施的纲领性文件之一,协调与推动软件项目参与各方共同努力保证软件项目进程。
    
    软件项目经理是工程集成管理的责任人,其工作职责不限于站在整个软件项目的角度:通晓软件项目集成计划的构成要素;理解软件项目的各个管理领域之间的密切关系;协调制定软件项目 集成管理计划;保证软件项目集成计划的正确执行;动态、有效地组织和实施软件项目变更控制,要善于与用户沟通共事,总结简练,条理清晰,由潜入深,胸有全局。
    
    为保证软件项目实施力度,建立专职软件项目型管理组织,以软件项目为基础全职工作,是保证软件项目成功的必要条件。软件项目型管从软件项目经理到软件项目管理行政人员全时、全职投入到软 件软件项目建设上来,从组织上保证高效、全权处理软件项目实施管理工作,不受外界其他事务、工作的干扰,集中精力保证软件项目实施成功。
    
    软件项目管理过程必须建立强有力的组织体系,清晰的职责分工,得力的人员配备,协助软件项目经理开展各项工作。由于软件项目建设工程软件项目庞大、系统复杂、时间紧迫,为保 证本系统的成功和沟通效率,参加本工程各方的软件项目组织机构都应该包括三个层次,即决策层、管理层、技术层,以适应软件项目中所有类型问题的沟通和决策。
    
    各方在软件项目启动时就应该明确软件项目组织机构各个层次的人员名单,各方可以根据工作需要或其它原因对人员进行调整,但应该及时通知其它软件项目参与方。总集成方、承 建方的人员调整应根据合同任务要求经与客户方协商后更换同等资质人员。其中承建方人员调整还应根据合同任务要求经与总集成方协商后更换同等资质人员。
    
    三、 软件项目的后期控制
    
    鉴于软件项目是以定制开发为主,建议在软件项目的事中、事后进行强化培训,让各层用户尽可能早地介入系统、熟悉系统、完善系统。
    
    1. 方案设计阶段:与业务骨干进行应用流程的讨论,在此基础上制订将来业务流程。通过与管理层的沟通,协助确定将来流程。
    
    2. 测试阶段:在开发人员能够提交已经内部测试、运行稳定的系统之后,即着手安排关键用户进行单体功能测试和业务流程测试。通过若干次单体功能测试,既实现对 关键用户的培训,保证其掌握最基本的操作技能,又进一步加强系统的可用性和稳定性。通过若干次业务流程测试,既培训了关键用户对新系统支撑下新的业务流程 的协同工作能力,又验证了系统对业务流程的适应性。在测试阶段的强化培训过程中,如果有可能建议进行上岗考核,保证人员积极性、重视度和数据准确性。在最 终用户测试开始后需要每周总结,汇总相关问题和经验,向关键用户进行培训,保证问题能够随时被预防,经验能够随时传播下去。在测试阶段还需要对管理层进行 培训,一方面是系统和业务流程方面的培训,另一方面是软件项目推进中可能出现的问题和预防方法,测试中需要注意的管理和控制要。建议此种培训一到两周一次。
    
    3. 上线和支持阶段:正式上线之前需要向最终用户开展培训,保证他们掌握最基本的操作技能、并能按照新的业务流程开展业务。建议此项培训主要由业务骨干和IT 人员开展。同时,此阶段开发方仍须向业务骨干和IT 人员进一步进行知识转移。向管理层和决策层各一次培训,让其了解现状和将来展望等,同时对管理层和决策层需要进行报表的培训,保证他们能够在上线后使用系 统进行决策支持。通过全面的、分层次的、持续的培训将会保证软件项目的成功。