软件项目管理总体流程设计

本文将介绍软件项目管理总体流程,并提出如何进行相关设计的准则。一个好的项目,最初的策划和设计最为关键,万事开头难。

AD:


    在软件项目开发管理过程中,不仅要努力实现项目的范围、时间、成本和质量等目标,还必须协调整个项目过程,以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难。纵观所有失败的软件项目,基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差,识别软件项目的风险甚至果断中止项目,而且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程。

    软件项目管理总体流程设计为项目搜寻、立项、售前、合同生成和合同执行等5个主要阶段,分别以P1、P2、P3、P4、P5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以TM1、TM2、TM3、TM4、TM5表示,如图1所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护。

    图1 软件项目管理总体流程

    软件项目管理总体流程分析

    1项目搜寻

    项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜在的项目进行分析和筛选。

    2项目立项

    立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。

    3 项目售前

    售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。

    4合同生成

    合同生成阶段的主要工作有:项目方案的评估与确定,技术合同、商务合同的商定、评估与签署。

    5合同执行

    合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。

    5.1软件开发

    软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:

    1) 制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项目活动的基础,也是软件项目跟踪与监控的依据。

    2) 确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发。

    3) 加强过程控制。过程控制主要包括过程管理、变更控制和配置管理。

    5.2测试与执行

    项目测试的目的是检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能—效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。测试过程在模拟运行环境中进行。

    5.3内部验收

    项目完成集成测试和系统测试后进行项目内部验收,主要有三个步骤:1)文档准备。项目经理提交内部验收计划、项目开发总结报告、产品发布清单;财务主管提交项目财务预算报告。2)内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同,但应站在用户验收的角度进行,因为它是试运行的基础,通过这一步,为用户验收作充分的准备。3)内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告。

    5.4项目试运行与验收

    试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:

    1) 验收前的准备。项目经理负责检查产品的完整性,包括文档、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。

    2) 用户进行验收测试和系统试运行,进行文档和系统的移交。

    3) 用户确认。项目经理负责与客户协调,协助用户进行项目验收,形成用户验收报告。

    =============================================================================================

    只要流程界定清晰,项目经理就能保证项目的发展方向与最终目标相契合。广义而言,要掌控各种类型项目的发展,首先要关注十个关键的流程。

      一、生命周期与方法论

      项目的生命周期与方法论,是项目的纪律,为项目开展划出了清晰的界限,以保证项目进程。生命周期主要是协调相关项目,而方法论为项目进程提供了持续稳定的方式方法。

      生命周期通常由项目的阶段组成(包括:开始、规划、执行/控制、完成),或由工作的重复周期构成。项目生命周期的细节一般都会随具体业务、项目、客户要求而改变。因此即使在同一个项目中,周期也会有多种可能的变化。对工作细致度、文件管理、项目交付、项目沟通的要求体现在生命周期标准和考核的方方面面。大项目的阶段一般更多更长,而小项目的阶段少,考核点也少。

      与生命周期类似,项目方法也因项目而易,细节关注程度高。产品开发项目的方法经常涉及使用何种工具或系统,以及如何使用。信息技术项目的方法包括版本控制标准、技术文档管理、系统开发的各个方面。

      项目方法往往不是由项目团队自行确定,而由公司为所有项目设定。采用与否,其实项目团队没有太多选择。公司管理层设定的方法本身代表权威,也是你作为项目领导获得项目控制权的一个途径。考虑项目方法某方面的作用时,始终要把握其对项目人员管理的效率,即在可能出现问题的地方争取正面效应。

      二、项目定义

      清晰的项目描述决定了你的项目控制能力,因为接下来所有工作都在描述范畴之内。不管你如何并为何要进行描述,你要对你的项目进行书面定义,让项目各方和项目组随时参考。

      项目定义的形式和名称各式各样,包括:项目章程、提案、项目数据表、工作报告书、项目细则。这些名称的共同点在于,项目主管方和其他相关各方面从上而下地传达了他们对项目的期待。清晰的项目定义还包括以下方面:

      ?项目目标陈述 (一小段文字,对项目交付成果、工期、预期成本或人力进行高层次的描述)

      ?项目回报(包括商业案例或投资分析的回报)

      ?使用中的信息或客户需求

      ?对项目范围进行定义,列出所有预期的项目成果

      ?成本和时间预算目标

      ?重大困难和假设

      ?描述该项目对其他项目的依赖

      ?高风险、所需的新技术、项目中的重大问题

      努力将尽可能多的具体信息,囊括在项目描述或章程中,并使其在项目主管方和相关方面获得认可,进而生效。

      三、合同与采购管理

      不管你在你的组织内有多大的影响力和权力,你对受雇于其他公司的项目成员的影响会比较小。虽然不一定普遍适用,但你可以尽量不将项目工作外包,这是提高项目控制力的一个技巧。

      在考虑启用合同商或外部顾问之前,对整体采购流程进行重检。寻找有服务合同起草经验并可以帮助你的人。

      建立成功的外包关系需要时间和精力,这些工作要及早着手。为了不误项目工期,你要及时做到所有细节到位,所有合同及时签订。你打算外包哪部分项目交付成果,对这部分工作的细化就是你实施项目控制的着手点。记录这些细化内容、评估和接收标准、所有相关要求、必要时间规划。项目定义信息一定要包括在合同之内,相关责任及早确定。和所有你考虑到的供应商讨论这些要求,这样你的项目期望才会在各方之间明晰。

      四、项目规划、执行、跟踪

      作为项目领导,通过制定有力的规划、跟踪、执行流程,你可以建立项目控制的基础。争取各方面的支持,进而在项目内全面推广。

      让项目组成员参与规划和跟踪活动,这可以争取大家的支持并提高积极性。睿智的项目领导往往大范围地鼓励参与,并通过流程汇聚大家的力量。当大家看到自己的努力以及对项目的贡献被肯定的时候,项目很快就从“他们的项目”变成“我们的项目”。当项目成员视项目工作为己任的时候,项目控制就会简单得多。较之于漠不关心的团队,此时的项目管理成功几率更大。运用项目管理流程也会鼓励项目成员的合作,这也让你的项目控制工作更加轻松。

        五、变化管理

      技术性项目中问题最集中的方面就是缺少对具体变化的管理控制。要解决这个问题,需要在项目的各方面启用有效的变化管理流程。

      解决方法可以很简单,例如被项目团队、项目主办方、相关方认可的流程图。这提醒了项目人员,变化在被接受之前会进行细致地考察,并且提高了变化提案的门槛。

      审查变化提案的时候,要注意该提案是否对变化有清晰到位的描述。如果变化提案的动因描述得不清不楚,该提案就要打回去,并且要求对变化所带来的益处进行定量评估。对于那些仅局限于技术解决方案的变化提案,要多打几个问号,因为提案人也许不能全面地判断问题。如果变化提案过多地关注问题的解决,而不注重实际问题,打回去并要求关注具体的业务形势。

      最后,如果不接受某变化提案,一定要做到有理有据。而且,对项目时间、成本、精力等其他相关因素所受的影响,进行合理的估计。

      六、风险管理

      风险管理的流程能让你制定出全面的规划,找出潜在的麻烦,就风险问题的解决方法达成一致,根除严重的问题。

      风险管理要做到事半功倍,就要与项目规划同时进行。进行项目工作分解安排时,注意对项目活动的不恰当理解;分配项目任务和开展评估时,寻找风险;资源匮乏或项目资源不足,或项目工作依赖于某一个人时,要知道风险的存在。分析项目工作将遇到的困难,鼓励所有参与规划的人在规划过程中,设想最坏的情况和潜在困难。

      七、质量管理

      质量管理提供了另一套搭建项目结构的流程,保证项目领导提出的工作要求一个不落地执行到位。项目质量的标准分两类:行业内实行的全球质量标准,公司或项目独有的质量标准。

      如果你的公司实行或接受了质量标准,要注意该标准对你和你的团队有何要求。具体而言,这些标准会包括ISO9000标准或六西格玛。进而确定质检清单、质控流程及相关要求,并将其与你的项目规划进行整合。项目必须遵守的书面步骤、报告、评估,对团队成员是强有力的推动,让大家步调一致。标准比你的临时要求更有效。

      质量管理流程还能将项目要求与客户心声联系起来。不管你说什么,只要是在传递客户或用户的要求,你都要加以强调。市场调查、标杆分析、客户访谈都是评估和记录用户需求并确定项目要求价值的好工具。

      八、问题管理

      项目开展过程中问题的出现不可避免。在项目初期,在资源、工期、优先事项等其他方面为项目的问题管理确定流程。争取让团队支持及时发现、跟踪、解决问题的流程规定。建立跟踪流程,记录当前问题。问题记录信息包括:问题描述、问题特征或表现(用于沟通)、开始时间、责任人、目前状态、预计结束时间。

      处理待解决问题的流程很简单,包括列出新问题的流程、定期复查待解决的问题、处理老问题的方法。对于没有太多组织管理权的项目领导而言,问题跟踪流程的力量在于让其把握了问题状态和进度的实时信息。一旦问题责任人承诺了问题解决的时限,你可以任意公布问题解决过程中的变数。不管问题责任人是本项目成员,还是其他项目或部门的成员,谁都不乐意随时将自己的大名置于人们质疑的目光中。问题清单的公开使得掌握该清单的人获得一定的影响力和控制力。

        九、决策

      项目管理时时有决策,快速得当的决策对于项目控制至关重要。即使项目领导掌握了控制权,完善的集体决策流程仍然裨益颇多,因为共同决策能获得更多内部支持,效果自然会更好。

      项目工作中的决策绝非易事,项目组内纷繁复杂的观点让决策更加困难。项目各方认同的问题解决流程可以简化决策的过程,照顾各方要求。

      尽早和你的项目组一起设立决策流程,或采用现有流程,或对现有流程做适当的修改。好的决策流程能为你的项目控制提供强有力的支持。该流程应该包括以下步骤:

      ?清楚地陈述必须解决的问题。

      ?吸纳所有需要参与决策或将会受该决策影响的成员参与决策过程,这样可以争取团队支持。

      ?与项目组一道重审项目陈述,必要时进行修正,让每位成员获得一致认识。

      ?针对决策标准(如:成本、时间、有效性、完整性、可行性),开展头脑风暴或讨论。选择那些与计划目标关联的、可执行、可供项目各方参考供决策之用的标准。

      ?与项目组一道确定各标准的权重(所有标准的权重总和为100个百分点)。

      ?设定决策的时限,规定用于调查、分析、讨论、最终决策的时间。

      ?开展头脑风暴,在规定时间内尽可能多地产生决策想法。多方发展整个项目组都能接受的想法。

      ?通过集体投票的方法进行筛选,至多确定六个考虑项进行具体分析。分析其与决策标准的契合度。

      ?理性对待讨论中出现的异议。有必要的话,可增加决策标准。

      ?根据评估和权重标准,将这些选项进行排序。

      ?考虑采用首位选项的结果。如果没有异议,则结束讨论并开始实施决策。

      ?将决策写入文件,并与团队成员及项目相关方面沟通决策结果。

      十、信息管理

      项目信息是非常关键的资源,如何管理值得仔细思考。有的项目使用网站和网络服务器,或信息管理系统,进行项目重要信息的存储。有的项目则使用群件来维护项目文件,并提供电子邮件等服务。

      不管你用何种方式存储项目数据,要保证所有项目成员能随时获得所需信息。将最新的项目文件存储在方便查找的位置,进行清楚地标记,及时删除过时信息。

     

    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值