软件开发项目案例(软件工程项目案例)
本篇文章给大家谈谈软件开发项目案例,以及软件工程项目案例对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
急需软件项目管理案例,要案例就行,软件项目的~
A公司是一家美资软件公司在华办事机构,其主要的目标是开拓中国市场、服务中国客户,做一些本地化和客户化的工作。它的主要软件产品是由总部在硅谷的软件开发基地完成,然后由世界各地的分公司或办事机构进行客户化定制、二次开发和系统维护。这些工作除了日常销售和系统核心维护之外,都是外包给本地的软件公司来做。东方公司是A公司在中国的合作伙伴,主要负责软件的本地化和测试工作。
Bob先生是A公司中国地区的负责人,Henry则是刚刚加入A公司的负责此外包项目的项目经理。东方公司是由William负责开发和管理工作,William本身是技术人员,并没有项目管理的经验。
当Henry接手这项工作后,发现东方公司的项目开发成本非常高,每人每天130美金,但客户的满意度较差,并且每次开发进度都要拖后,交付使用的版本也不尽如人意。而且,东方公司和A公司硅谷开发总部缺乏必要的沟通 只能把问题反馈给Henry,由Henry再反馈给总部。但由于Henry本身并不熟悉这个软件的开发工作,也造成了很多不必要的麻烦。
为此,Bob希望Henry和William用项目管理的方法对该项目进行管理和改进。随后,Henry和William召开了一系列的会议 提出了新的做法。
首先,他们制定了详细的项目计划和进度计划;其次,成立了单独的测试小组,将软件的开发和测试分开;并且,在硅谷和东方公司之间建立了一个新的沟通渠道,一些软件问题可以与总部直接沟通;同时,还采用了里程碑管理。
六个月后,软件交付使用。但是客户对这个版本还是不满意,认为还有很多问题。为什么运用了项目管理的方法,这个项目还是没有得到改善?
Henry和William又进行了反复探讨,发现主要有三个方面问题:1、软件本地化产生的问题并不多,但A公司提供的底层软件本身存在一些问题;2、软件的界面也存在一些问题,这是由于测试的项目不够详细引起的;3、开发的周期还是太短,没有时间完成一些项目的调试,所以新版本还是有许多的问题。
此时,Henry向Bob提出是否采用公开招标的方式,选择新的、实力更强的合作伙伴。但Bob认为,与东方公司合作时间已经很长了,如果选择新的伙伴又需要较长的适应期,而且成本可能会更高。于是,Henry向东方公司提出一些新的管理建议。首先,他们采用大量的历史数据进行分析,制定出更详细的进度计划;其次,要求东方公司提供详细的开发文档和测试文档 做的工作没有任何文档,给其他工作带来了很多困难);第三,重新审核开发周期,对里程碑进行细化。
又过了六个月,新的版本完成了。这一次,客户对它的评价比前两个版本高得多,基本上达到项目运行的要求。但客户还是对项目进度提出了疑问,认为实时推出换代产品不需要那么长的时间。
较常见的做法。在软件外包工程中,保证质量的进度是很难控制的。对于项目经理来说需要一整套复杂的能力,比如制定计划、确定优先顺序、干系人的沟通、评价等,每一种能力都与项目的最终结果有直接或者间接的关系。
然而,国内的项目经理大多没有接受过正规训练,缺乏项目管理方面的专业知识的技巧,往往只是凭借以前的少量经验盲目去做,容易出现各种问题。尤其是在管理外包项目时,缺乏足够的经验和技巧,往往造成进度不断推迟,而质量无法保证的情况。
在这个案例中,我们可以看到现在IT业内许多外包项目的影子。
在该案例中,东方公司没有专门的项目经理,是由技术人员William兼做管理。这是国内软件公司经常会出现的问题。最初,出现进度落后的问题时,A公司的Henry与东方公司的William讨论后决定采用项目管理中计划管理等手段,其中包括里程碑管理。这是控制进度的较常见做法。
里程碑管理的引入
一般来说,在项目开始时,项目组成员都会对项目制定一个详细的计划。通常情况下,在明确的工作说明书(SOW)和WBS的基础上制定具体的进度计划时,需要采用一些具体的技术。像这种软件外包项目,最成熟的技术是里程碑管理。
里程碑一般是项目中完成阶段性工作的标志。不同类型的项目,里程碑也不同。比如,在开发项目中,可以将需求的最终确认、产品移交等关键任务作为项目的里程碑。本案例中,Henry在接手项目后采用里程碑进行管理是很恰当的。
不过,要注意的是,每到一个里程碑处,应及时对前段工作进行小结,并对后续工作进行计划调整。对于一些管理效果明显的领域,可以不必投入较多精力。而对于下一步管理过程中可能会出现问题的领域,应给予较多的关注。当然,在软件项目里,进度的变化是较常见的事情。
在本案例中,采用里程碑管理后仍没有达到客户的要求,进度依然拖后。在这里,就需要考虑另一个因素-质量与进度的关系。
通常,项目管理的前提是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,保证质量是前提。那么,如何在满足质量的前提下管理进度呢?单纯从项目管理理论知识中并没有一种有效的方式。具体步骤为:
首先,尽量利用历史数据。在本案例中,Henry应该调查之前的项目情况,将会发现可以类比的情况,事先就可以知道需要管理质量和进度的关系。
其次,由于此项目是软件外包项目,Henry不能完全掌握项目的资源 调度情况,因此缺乏对质量的控制。这也是大多数外包工程中最令人难以掌握的地方。在这里,可以采用对进度管理 ;计划添加质量参数的方法,也就是通过参数调整进度和质量的关系。
这一做法的前提是要有一定的历史数据。比如,从历史数据中得知,完成子项目的时间是5天,测试后有15个问题;完成同样子项目的时间是7天,测试后有10个问题;完成同样子项目的时间是8天,测试后有5个问题,……以此类推。
随着数据的不断增多的,采用两维坐标图,就会得到一些离散的点(不考虑资源的差异),并形成一条曲线,见图1。考虑项目允许的质量范围,对照图中的数据,找出相应的参数。根据得到的参数,确定一个合适的进度计划
制约软件项目成功的因素
引子
一个项目从其一成立开始,项目各方干系人都会期望项目能够根据既定的计划一步步顺利地导向最后的成功。影响项目的最后成功的因素是多方面的,包括项目管理的九大知识领域(包括项目的整体管理、范围管理、时间管理、费用管理、质量管理、人力管理、沟通管理、风险管理和采购管理),无一对项目的最后成功不产生积极影响。然而,要这九大知识领域对项目成功产生的影响的轻重程度上进行比较的话,我认为其中项目范围管理是最为重要的。
什么是项目范围管理
那么,什么是项目范围和项目范围管理呢?项目范围是指产生项目产品所包括的所以工作及产生这些产品所用的过程。项目干系人必须在项目要产生什么样的产品方面达成共识,也要在如何生产这些产品方面达成一定的共识。
项目范围管理是指对项目包括什么与不包括什么的定义与控制过程。这个过程用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程有一个共同的理解。
项目范围与项目其它约束条件的相互影响
制约一个项目的条件是项目“三约束条件”——范围、时间、成本。
在一个项目中这三个条件是相互影响、相互制约的,而且往往是由于范围影响了时间和成本。项目一开始确定的范围小,那么它需要完成的时间以及耗费的成本必然也小,反之亦然。很多项目在开始时都会粗略地确定项目的范围、时间以及成本,然而在项目进行到一定阶段之后往往会变成让人感觉到不知道项目什么时候才能真正结束,要使得项目结束到底还需要投入多少人力和物力,整个项目就好象一个无底洞,对项目的最后结束谁的心里也没有底。这种情况的出现对于公司的高层来说,他们是最不希望看到的,然而这样的情况出现并不罕见。造成这样的结果就是由于没有控制和管理好项目的范围。可见项目的三约束中最主要还是范围的影响最主要。
范围管理案例
失败案例:我了解到这样的实际案例,这是一个软件开发的项目,整个项目已经进行了两年多之后项目何时结实还是处于不明确的状态,因为用户不断有新的需求出来,项目组也就要根据用户的新需求不断去开发新的功能。这个项目实际是一个无底洞,没完没了地往下做,项目成员“肥的拖瘦,瘦的拖死”,实在做不下去只能跑了。大家对这样的项目已经完全丧失了信心。
这个项目其实就是一开始没有很明确地界定整个项目的范围,在范围没有明确界定的情况下,又没有一套完善的变更控制管理流程,任由用户怎么说,就怎么做,也就是说一开始游戏规则没有定好,从而导致整个项目成了一个烂摊子。
成功案例:同样是一个软件开发的项目,这个项目也比上面案例讲到的项目要小一些,这时候公司已经开始实施CMM对软件开发活动进行管理,有相对完善的软件开发管理过程。项目在一开始就先明确用户需求,而且需求基本上都是量化的、可检验的。而且项目组在公司CMM的变更管理过程的框架指导下制定了项目的范围变更控制管理过程,在项目的实施过程中,用户的需求变更都是按照事先制定好的过程执行。
因此,这个项目完成的比较成功,项目的时间和成本基本上是在一开始项目计划的完成时间及成本的情况下略有增加。
造成范围界定不清的原因
既然项目范围界定不清是一种很常见的现象,而这种现象又是大家所不想见到的。那么,我们必须分析出现这种现象的原因。我认为造成这种现象的出现有以下三方面的原因:
首先,是企业一级的责任——没有完善的项目管理体系来指导项目的管理。这种情况是最糟糕的,如果是这种原因,那么项目的成败往往需要靠项目经理个人的管理、领导能力。这种情况项目成功的可能性非常小,大部分项目都是以失败而告终;
第二,是企业及项目组共同的责任——对项目没能制定出清晰规范的范围变更控制过程。企业有管理体系,但不够完善和规范,对项目组的变更过程的制定没能起到有效的指导作用。变更是不可避免的,只要有效地加以管理、控制,同样可以达到各方满意的结果;
第三,是对范围的定义不够明确,做不到可量化、可验证程度。很多时候都是一些定性的要求、而不是定量的,例如“界面友好,可操作性强,提高用户满意度”等。类似这些模糊的需求就是导致后续项目扯皮的根源。项目范围的明确定义,有经验的项目经理及系统分析员将起到至关重要的作用。
由以上的论述,我们可以得出结论:完善的项目范围管理是整个项目最终成败的关键。那么,怎样才能做好项目范围管理呢?下面大量篇幅将对这一问题进行详细的论述。
如何管理好项目范围
既然已经认识到项目范围管理如此重要,那么我们应该怎样才能管理好项目的范围呢?从上面的论证过程,我们清楚地看到造成项目范围不好管理的一些原因,那么要管理好项目范围就必须对症下药,才能管理好项目范围。
首先,我们必须先了解项目范围管理的一些科学过程。做好项目管理应该包含下面过程:启动、范围计划、范围定义、范围核实及范围变更控制。下面将详述如何做好这些过程:
启动过程
启动是指组织正式开始一个项目或继续到项目的下一个阶段。启动过程的一个输出就是项目章程。项目章程是一个重要的文档,这个文件正式承认项目的存在并对项目提供一个概览。
启动过程明确指定这一过程有一个重要的输出文档——项目章程,项目章程将粗略地规定项目的范围,这也是项目范围管理后续工作的重要依据。项目章程中还将规定项目经理的权利以及项目组中各成员的职责,还有项目其他干系人的职责,这也是在以后的项目范围管理工作中各个角色如何做好本职工作有一个明确的规定,以致后续工作可以更加有序地进行。因此,千万不能忽略项目的启动过程。
范围计划过程
范围计划是指进一步形成各种文档,为将来项目决策提供基础,这些文档中包括用以衡量一个项目或项目阶段是否已经顺利完成的标准等。作为范围计划过程的输出,项目组要制定一个范围说明书和范围管理计划。
古语云:“预则立,不预则废!”。一个项目经理要想真正管理好项目范围,没有必要的技术和好的方法是肯定不行的。
要做好一个项目首先强调的就是周密地做好范围计划编制。范围计划编制是将产生项目产品所需进行的项目工作(项目范围)渐进明细和归档的过程。做范围计划编制工作是需要参考很多信息的,比如产品描述,首先要清楚最终产品的定义才能规划要做的工作,项目章程也是非常主要的依据,通常它对项目范围已经有了粗线条的约定,范围计划在此基础上进一步深入和细化。
前面讲到这个过程有一个输出是范围说明书,那么范围说明指的是什么呢?范围说明是在项目参与人之间确认或建立了一个项目范围的共识,作为未来项目决策的文档基准。
范围说明中至少要说明项目论证、项目产品、项目可交付成果和项目目标。项目论证是商家的既定目标,要为估算未来的得失提供基础;项目产品是产品说明的简要概况;项目可交付成果一般要列一个子产品级别概括表,如:为一个软件开发项目设置的主要可交付成果可能包括程序代码、工作手册、人机交互学习程序等。任何没有明确要求的结果,都意味着它在项目可交付成果之外;项目目标是要考虑到项目的成功性,至少要包括成本、进度表和质量检测。项目目标应该有标志(如:成本、单位)和绝对的或相对的价值。尽量避开不可量化的目标(如:“客户的满意程度”),因为它将让你的项目承担很高的风险。
范围计划又是什么呢?范围管理计划是描述项目范围如何进行管理,项目范围怎样变化才能与项目要求相一致等问题的。它也应该包括一个对项目范围预期的稳定而进行的评估(比如:怎样变化、变化频率如何及变化了多少)。范围管理计划也应该包括对变化范围怎样确定,变化应归为哪一类(当产品特征仍在被详细描述的时候,做到这点特别困难,但绝对必要)等问题的清楚描述。
范围定义过程
范围定义是指将项目主要的可交付成果细分成较小的、更易管理的组分。这个过程中,项目组要建立一个工作分解结构(WBS)。
WBS的建立对项目来说意义非常重大,它使得原来看起来非常笼统、非常模糊的项目目标一下子清晰下来,使得项目管理有依据,项目团队的工作目标清楚明了。如果没有一个完善的WBS或者范围定义不明确时,变更就不可避免地出现,很可能造成返工、延长工期、降低团队士气等一系列不利的后果。
制定好一个WBS的指导思想是逐层深入。先将项目成果框架确定下来,然后每层下面再把工作分解,这种方式的优点是结合进度划分直观,时间感强,评审中容易发现遗漏或多出的部分,也更容易被大多数人理解。
范围核实过程
范围核实是指对项目范围的正式认定,项目主要干系人,如项目客户和项目发起人等要在这个过程中正式接受项目可交付成果的定义。
这个过程是范围确定之后,执行实施之前各方相关人员的承诺问题。一旦承诺则表明你已经接受该事实,那么你就必须根据你的承诺去实现它。这也是确保项目范围能得到很好的管理和控制的有效措施。
范围变更控制过程
范围变更控制是指对有关项目范围的变更实施控制。主要的过程输出是范围变更、纠正行动与教训总结。
再好的计划也不可能做到一成不变,因此变更是不要避免的,关键问题是如何对变更如何进行有效的控制。控制好变更必须有一套规范的变更管理过程,在发生变更时遵循规范的变更程序来管理变更。通常对发生的变更,需要识别是否在既定的项目范围之内。如果是在项目范围之内,那么就需要评估变更所造成的影响,以及如何应对的措施,受影响的各方都应该清楚明了自己所受的影响;如果变更是在项目范围之外,那么就需要商务人员与用户方进行谈判,看是否增加费用,还是放弃变更。
因此,项目所在的组织(企业)必须在其项目管理体系中制定一套严格、高效、实用的变更程序。
执行好以上项目范围管理的五个过程,我认为对项目范围的管理、控制将是行之有效的!
软件项目管理及案例分析
软件项目管理及案例分析
引导语:美国项目管理专业资质认证委员会主席Paul Grace说过,在当今社会中,一切都是项目,一切也将成为项目。下面是我为你带来的软件项目管理及案例分析,希望对你有所帮助。
中国科学院计算技术研究所是国家专门的计算技术研究机构,同时也是中国信息化建设的重要支撑单位,中科院计算所培训中心是致力于高端IT类人才培养及企业内训的专业培训机构。中心凭借科学院强大师资力量,在总结多年大型软件开发和组织经验的基础上,自主研发出一整套课程体系,其目的是希望能够切实帮助中国软件企业培养高级软件管理与技术人才,提升整体研发能力。迄今为止已先后为国家培养了数万名计算机专业人员,并先后为数千家大型国内外企业进行过专门的定制培训服务。
高水平项目管理是软件项目成功的关键,也是软件产品质量的根本保证,具有这方面理论和实践的人员是目前软件组织中急需的高层次人才。为建立符合中国国情的软件开发过程和组织体系,培训中心特举办“软件项目管理”培训班,具体事宜通知如下:
一、培训对象
软件开发机构高级管理人员、项目经理、系统架构师、系统分析师、资深开发人员、质量保证人员以及其他对提升软件开发质量负有责任的人员。 二、 学员基础
1,对软件项目的分析、设计、组织和开发具有一定实践经验;
2,有一定的软件项目管理、技术管理或质量保证的基础知识与实践经验。 三、师资
由业界知名专家亲自授课:
袁老师 培训中心高级讲师,CMMI、GJB 5000A高级咨询顾问,具有多年成功管理大型软件项目的经验,对软件工程管理与过程具有深邃的理论见解和丰富的实践经验。 四、培训要点
高质量软件来自于高水平的项目管理,这个观点已经成为业内的共识。软件项目成功最重要的要素是什么?大型软件项目是依靠一个组织来完成的,如果这个组织在管理上是无序的,开发过程是非正式和混乱的,计划期限和成本目标通常超限,项目的成功取决于个人英雄式的行为,在人员发生变动时项目往往陷入灾难,那么很难说这个项目会获得成功。从这个意义上说,软件项目管理是项目成功的关键因素。
所有软件开发机构都必须在今天这种技术含量高、变化速度快、资源有限的环境下,实现软件生产规模化、规范化、国际化,这也是当前我国软件行业面临的最大挑战。在这样复杂的背景下,我们该如何去思考如何去做呢? 1,项目管理人员必须具备更广阔的视角,包括站在更高的角度理解企业管理的思想理念,
理解产品开发的质量、成本、效率与效益之间的关系,理解过程是如何对管理发挥作用的,理解规范化的软件工程方法。更重要的是,理解如何提升自身的领导素质,培养更好的领导力。这种宽阔的眼界,对于一个高级项目管理人员极其重要。
2,实施正确的软件过程对产品质量影响巨大。为了使团队在开发质量、效率以及成本上达到最优化,我们需要不断改进和优化软件过程。近年来随着项目越来越大越来越复杂,软件项目中存在着各种变化因素所带来的冲击越来越令人难以接受,促使业内研究更加合理的过程和与之相匹配的项目管理方式。过程改进需要有正确的思想理念,包括问题分析,科学与哲学理论基础,合理的价值观和方法论,以及正确对待改进中发现的问题。 3,高质量项目管理来自于正确的项目策划。项目管理人员必须受到项目策划的正规训练,包括如何制定发布规划,如何发现项目的关键驱动因素、约束和浮动因素,并且采取恰当的策略。还需要注意,在今天的形势下,创新是企业的生命,项目经理必须领导团队共同策划创新的产品概念,有目的、有组织的实现系统化创新,能够使用国际上通用的方法安排项目进度与日程,这对于项目成功极其重要。
4,为了增加产品的国际竞争力,产品质量作为经济发展的战略问题变得越来越重要,软件质量也正被视为软件企业的生命。大型项目质量控制问题的实施和解决,需要按照系统工程的理论进行,使整个系统所具有的多种不同的目标之间相互协调,以期达到系统质量的最优化。这需要项目经理对软件质量控制有深刻而透彻的理解。
5,为了确保项目的过程质量和产品质量达到要求,在开发过程中必须以可度量的方法对项目实施监控。我们不要期望有了好的计划就可以高枕无忧,也不要期望计划一成不变,项目经理的责任是不断监控项目的进展,不断的以问题、对策与解决方案的思路,在动态过程中去管理与调整。并且还要善于把监控过程转变为调动团队积极性的有效手段。
6,我们坚信:团队是决定项目成败的最重要因素。很多开发问题的出现,大多是由于机构对团队重要性的误解所造成的。因此希望更加有效开发的软件机构要把思考重心放在团队建设上,这是一个明智的选择。建立一个有竞争力的团队,是取得项目成功的关键步骤,而对于一个软件机构来说,团队是最有价值的资产。但我们如何来做如何来思考呢?
7,不要期待项目管理是什么神奇的方法。管理是个十分严肃的事情,它既需要在宏观上把握,又需要关注细节,特别是对一些关键点需要敏锐的.识别出来并找到解决方案。这就需要在实践中不断积累经验以及在理论上得到提升。
本课程并不是一个泛泛的原理性课程,而是许多专家多年来理论和实践的总结。我们需要有更广阔的视野、对问题更深邃的认识以及对改进与优化的不懈追求,更需要总结出不断优化管理的思路。在内容安排上,课程既有理论指导,也有通过案例对问题的共同探讨,把理论和实践有机的结合起来。这是一个强调思考力的课程,也是我们赶超世界先进水平新的增长点,希望所有学员都在这个课程中受益。 五、培训内容
第一讲 从宏观集成的视角看项目管理 1,软件项目与项目管理 项目的定义与特点 项目管理及其关键要素 项目管理的宏观视角 2,集成化软件项目管理模型 从宏观的视角看项目管理 项目启动过程中的前期决策 项目管理计划的衔接 项目管理要关注产品质量 第二讲 改善软件工程方法
1,软件过程:现代对于传统的挑战 软件过程的定义与概念 对于软件过程的重新思考 传统瀑布方式的问题 对于传统项目管理的反思 迭代式软件开发过程 项目不同阶段的度量要点
2,用经济学的观点改善软件工程方法
从工作量与成本模型入手研究项目管理方法 降低软件规模或者复杂度 改进软件开发过程 创建高效率的团队 第三讲 如何进行项目策划 1,定义项目的目标和范围
建立对项目目标和范围的认识 – 定义项目大纲
定义对项目参与人员的要求,早期获得项目成员的参与
案例分析:典型项目的组织机构(大中小型项目组织结构设置要点) 记录上述内容,作为项目计划的第一部分 2,工作拆分
为进行详细估算和日程的排定提供基础 确保工作识别的完整性 增加项目的成功机会 项目特点及策略确定
案例分析:大型项目特点及关键策略确定(某知名商业银行信用卡核心系统、美国宇航局项目) 拆分的重要原则
WBS拆分颗粒度实例讲解 3,风险管理 风险的识别 风险分类学 识别风险方法论 案例分析:识别风险 风险应对策略
案例分析:风险策略举例 缓解方法
案例分析:风险应对(某知名商业银行Iphone版手机银行、业务运营支撑网络管理工程) 4,软件估算
软件估算思路:自顶向下和自底向上 Wideband Delphi方法
功能点方法(标准及简化功能点方法)
供应商采购的估算应用(中国软件行业软件工程定额标准) 基于历史数据的估算方法
大项目估算结果举例(某知名商业银行信用卡核心系统) 某大型国有商业银行工作量及工期标杆系数举例 5,干系人管理
6,项目计划的承诺及基线化 第四讲 如何进行项目监控 1,项目监控的范围和内容
2,对照计划监督项目 3,分析监控数据
项目量化管理:挣值分析法 挣值分析法基础
三个重要概念:BCWS,BCWP,ACWP 挣值分析实例展示及分析练习 实施里程碑评审
4,项目监控中的项目管理活动 管理纠正措施 5,项目监控样例展示 项目周报 项目会议纪要
干系人及关键依赖关系 项目数据统计分析报表 项目管理工具简介 第五讲 供应商管理
1,供应商管理的范围和内容 2,供应商管理的主要流程 3,供应商管理的关键点
关于IT系统建设策略 产品选型评估要点
样例展示:某外包项目选型评估报告及评估细项 供应商管理策略
样例展示:某外包项目采购合同 项目测试与验收策略
样例展示:某外包项目验收计划 交付物验收
人力外包及维护类外包管理 第六讲 如何进行需求管理 1,需求管理的范围和内容 2,获得对需求的一致理解 获得对需求的理解 获取对需求的承诺
需求受理流程,改变业务的习惯,加强流量控制 3,需求跟踪 4,需求变更控制
确定需求变更类型 审批变更申请 管理变更请求
案例分析:某大型项目项目管控机制
系统日常升级维护中的需求变更控制:版本排期与冻结机制
5,需求管理参考模板:某知名商业银行业务需求模板及非功能需求样例 第七讲 打造有战斗力的团队 1,项目经理的领导力
领导力以及领导力模型 激励、组织与创新
理解开发人员的典型动机
最重要的个激励因素 正确应用奖赏和鼓励
关注让士气崩溃的杀手问题 如何培养自己的领导力 3,实现有效的团队合作
4,提高项目开发效率的的原则与技巧 避免做错事胜于做正确的事 管理原则与技术原则
一个标准是否可以适合所有情况? 项目按时完成的可能性 感知与现实的差距 时间到哪里去了? 典型的进度改进模式
六、培训目标1,掌握复杂软件项目规划与监控的方法,并在实际项目过程中灵活应用; 2,在项目开发中正确应用可度量的方法进行项目规划与控制; 3,在项目管理中正确实施质量控制方法;
4,对项目过程中的团队有深刻的理解,确保软件项目走向更高层次的成功; 5,通过对问题的分析与系统思考,对软件过程与管理方法进行优化与改进。
七、培训时间、地点 ;
软件项目管理案例教程
软件项目管理案例教程
引导语:《校务通管理系统》的成本估算过程是循序渐进的,随着项目的不断发展,估算可以重复多次进行,而且是逐步求精的。下面是我为你带来的软件项目管理案例教程,希望对你有所帮助。
1.合同签订前的成本估算
开始签订合同的时候,根据以往类似项目的经验,采用类比估算方法进行粗略的估算。根据用户的要求,系统采用B/S结构,公司的JSP+SQL Server技术比较成熟,以前成功完成过类似项目,根据工作说明书(Statement Of Work,SOW)的要求,基本上需要2~3个开发人员,2个月左右的开发时间,大约4~6人月的工作量,所以10万~15万可以作为合同的参考报价。
2.合同签订后成本估算
合同签订后,根据现有的资源和WBS分解的结果,进一步细化估算。由于WBS分解是针对项目的功能进行的分解,在成本估算的时候,首先估算每个任务的.开发工作量,然后通过系数获得相应的质量、管理任务的工作量,从而计算直接成本,之后计算间接成本以及总成本。具体过程如下:
(1)资源估算
人力资源: 2个开发人员
1个项目管理人员(项目经理) 1个质量保证人员 1个配置管理人员
设备资源(作为间接成本计算) 3台电脑 1台服务器
(2)项目成本估算
步骤1:根据项目任务分解结果WBS估算出项目开发工作量,如表1所示。
表1:项目开发工作量估算表 单位:人天
WBS编号 任务名称 估计值 1 通用功能-增量1 1.1 电子课表 8 1.2 会议通知和公告 3 1.3 通讯录 2 1.4 个人日记 5 1.5 作业布置和批改 8 1.6 教师答疑 5 2 日常业务管理功能 2.1 招生管理-增量2 2.1.1 报名 3 2.1.2 招生 5 2.1.3 分班 10 2.1.4 统计查询 8 2.2 学生日常管理-增量3 2.2.1 学生档案管理 4 2.2.2 学生考勤管理 2 2.2.3 学生奖惩 2 2.2.4 学生变动 2 2.3 教务管理-增量4 2.3.1 教师日常管理 2 2.3.2 年级、班级设置 2 2.3.3 学科设置 2 2.3.4 年级、班级课程设计 5 2.3.5 排课表 9 2.3.6 考试管理 4 2.3.7 评价 5 2.4 教师备课系统 外包5000元 2.5 资源库系统 外包3000元 2.6 网上考试 外购3000元 2.7 论坛 已存在 2.8 聊天室 已存在
步骤2:计算开发成本
(a) 从表1得知项目工作量是103人天,假设开发人员成本参数=480元/人天,则内部开
小计
31 26 10 31 1 1 1 1 1
发成本=480元/天×103天=49440元。
(b) 加上外包外购部分的软件成本5000+3000+3000=11000元,则开发成本
=49440+11000=60440元。 步骤3:计算管理、质量成本
由于任务分解的结果主要是针对开发任务的分解,管理任务和质量任务成本可以通过计算开发任务成本得到,因此根据以往的经验,管理任务和质量任务成本=开发任务成本×20%=12088元。 步骤4:计算直接成本
直接成本=开发成本+管理和质量成本=72528元。 步骤5:计算间接成本
(a) 间接成本包括前期合同费用、房租水电、培训、员工福利、客户服务等。 (b) 根据以往经验,采用公式:间接成本=直接成本×25%=18132元。 步骤6:计算总估算成本
项目总估算成本=直接成本+间接成本=90660元。 步骤7:重新评估项目的报价
重新评估一下项目报价的准确性,当然这时候,项目的合同已经签署了,报价是不能更改的,但是通过再次的评估可以进一步明确企业的项目运作和利润情况等。
如果项目的风险利润是30%,其中风险基金10%,利润15%,税费5%。则项目的总报价=90660×1.3=117858元。应该说项目报价还是比较合适的。
另外,可以采用简便的算法进行估算,企业的报价可以通过开发规模的估算直接得出,例如如果成本系数为2.5万元/人月,项目规模103人天,一个人月22人天,则项目报价=25000×103/22=117045元。
(3)项目成本预算
在编制项目计划中考虑到:2个开发人员是全职在这个项目中,而项目经理、质量保证人员和配置管理人员不是全职在这个项目中,他们同时还在管理其他的项目,进行成本估算的时候,应该根据项目人员付出的时间进行成本预算。人力资源费率见表2。
表2:人力资源费率
项目成本预算如表3所示,预算总成本为75160元,与估算的成本基本持平。这样75160元可以作为项目的成本控制参考。
表3:项目成本预算
标识号 任务名称 1 校务通管理系统 2 软件规划 3 项目规划 4 计划评审 5 需求开发 6 用户界面设计 7 用户需求评审
修改需求、修改用户
8 界面 9 编写需求规格说明书 10 需求验证 10 设计 11 概要设计
数据库ER图编制、建
12 库 13 设计评审 14 实施 15 通用功能-增量1 22 招生管理-增量2 28 学生日常管理-增量3 34 教务管理-增量4 43 教师辅助功能-增量5 48 聊天室/论坛-增量6 52 系统集成 53 系统集成测试 54 环境测试 55 提交 56 完成文档 57 验收、提交
开始日期
2003-4-10 2003-4-10 2003-4-10 2003-4-11 2003-4-14 2003-4-14 2003-4-15 2003-4-16 2003-4-16 2003-4-18 2003-4-17 2003-4-17 2003-4-21 2003-4-22 2003-4-22 2003-4-22 2003-5-1 2003-5-8 2003-5-13 2003-5-26 2003-5-30 2003-6-3 2003-6-3 2003-6-4 2003-6-5 2003-6-5 2003-6-6
结束日期 预算成本(元) 2003-6-6 75160 2003-4-11 3320 2003-4-10 1200 2003-4-11 2120 2003-4-18 6240 2003-4-14 1120 2003-4-15 2120
1120
2003-4-16
2003-4-17 560 2003-4-18 1320 2003-4-22 4120 2003-4-18 1120
560
2003-4-21
2003-4-22 2440 2003-6-6 54640 2003-4-30 12520 2003-5-7 9000 2003-5-12 6600 2003-5-23 16040 2003-5-29 5800 2003-6-2 4680 2003-6-4 2920 2003-6-3 1120 2003-6-4 1800 2003-6-6 3920 2003-6-5 1480 2003-6-6 2440
;
软件项目开发总结报告实例
软件项目总结报告范文
1引言
1.1编写目的
XXX公司业务管理系统的开发已经基本完成。写此项目开发总结报告,以方便我们在以后的项目开发中来更好的实施项目的订制开发; 让我在今后的项目开发中有更多的有据的资料来规范我们的开发过程和提高我们的开发效率,从而创造更多公司效益。
1.2背景
项目名称:XXX业务管理系统
软件名称:XXX业务系统
客户:XXX
用户:XXX员工
1.3参考资料
项目开发文档:
1.软件开发数据模型:PDM_OperationSystem20070831.pdm
2.数据库开发文档: XXX业务管理系统数据库设计说明书2.0.doc
3.软件业务流程参考:XXX业务管理系统流程说明.doc
4.软件使用手册参考:XXX业务管理系统功能说明3.0.doc
5.软件业务流程参考:XXX业务管理系统流程说明.doc
6.软件中使用到的第三方控件:ComponentArt Web.UI 2006.1252 for asp.net2.0.rar
7.软件中使用的安全Ikey驱动:Ikey Driver.rar
以上参考资料是截止2007-08-31是最新的资料文档。如有修改,即使修改此处的参考文档名称。
2开发工作评价
2.1对生产效率的评价
1. 系统开发已历时快1年的时间了
2. 开发的反复性比较多。
3. 对客户的需求理解不是很透彻。
综合以上,此项目的开发效率不是很高,相反有相当一定时间的浪费。
2.2对产品功能的评价
经过我们公司各位同事的共同努力协作,XXX业务管理系统已经很好的完成了客户的业务流需求。经过对客户使用过程的观察,此项目开发的还是比较成功,但是还是存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户使用过程中提出的新问题和存在的debug。总的来说,此系统的功能开发还是一个比较成功的案例。
2.3对技术方法的总结
在此项目中使用到技术和工具:
1. 使用代码生成器:使用代码生成器 [动软.Net代码自动生成器],此工具在很大程度上提高了编码效率,从而加快了项目的开发进程。在以后的项目中,我们要尽量的来使用一些类似的工具来在最短的时间内完成工作。在今后的项目开发中,我们最好是能开发出适合自己的代码生成工具,更大限度的节省开发周期和开发费用。
2. 使用数据库建模工具;PowerDesigner 工具来建立系统数据库模型,以方便程序员很好的理解业务流和掌握系统架构者的架构思想,更好的满足客户的功能需求。在今后的项目开发中,我们要更好的来完成系统的前期数据库模型的建立,最大的来优化系统功能。
3. 使用第三方控件:此系统中使用了ComponentArt Web.UI 第三方控件。此控件在很大程度上满足了客户对软件界面的需求,从而也给软件的操作带来了方便。本项目中只使用了ComponentArt Web.UI一种第三方控件,在今后的项目开发过程中,要继续使用第三方的控件。这样以来,无论是针对软件界面的美观性、友好性来说、易操作性而言,还是针对系统开发效率而言,这都是很好途径。但需要意的是:在是使用第三方控件时,要谨慎的选择一些网络中的比较常见的第三方控件。
4. 使用自定义控件:此系统中使用了自定义控件(GhdGridView),此自定义控件可以很好的统一系统中的所有信息显示表格样式。如客户对数据显示样式有什么新的意见,我就不需要修改每一个页面的表格样式,我们只需要修改GhdGridView控件的样式,系统中的所有继承自GhdGridView的表格样式都可以改变。
5. 系统开发框架:此系统的框架使用的是简单三层结构,此框架在开发一些中小软件是比较实用的。但是我们要是可以开发出自己的框架,把一些通用的功能开发到框架中。这样以来,在以后的系统开发中,针对系统中一些通用的功能就不需要再开发,从而也可以很好的提高我们的开发效率;减少很多维护费用。使我们的技术不断的更加成熟。
6. 系统安全加密:此系统中针对客户提出的系统安全问题,我们采用了Ikey加密硬件钥匙来验证客户端登陆客户的合法性,此Ikey钥匙可以绑定到一个系统使用用户,也可以让多个用户来使用一个加密钥匙来验证登陆系统的合法性。这样以来,即使用户的密码不慎丢失,或者被不法人员取得(不法人员他也是无法登陆到我们的系统中来),这样就最大的提高了我们系统的安全性。Ikey加密钥匙是很好的加密B/S架构软件的硬件工具,在以后的软件安全方面可以借鉴。
3项目经验总结
3.1签定合同
一个项目的开发成败或者说项目开发带来效益的大小,在很大程度上是受项目合同签定的影响的。往往,很多一部分公司与客户签定的项目合同都是很模糊的,也很难签定的比较清楚,这样以来就会导致在项目的开发后期,工作两会越来越大,影响项目的竣工周期;而且,项目的开发费用一般是不会变的。这样以来,我们就大大的降低了我们的开发效益。虽然需求范围很难签定的明确,但是我们在签定合同时,要尽量的去把合同功能边界和添加新功能的条件签定。
3.2开发团队
在项目确立后,要尽快的建立起项目开发团队。
项目团队成员的团结合作、相互沟通是非常重要的,团队成员之间要相互学习彼此的优点和技术,使团队的能力不断的提高。这样,在项目的开发过程中,团队才不会被难题困住不动。另外,团队中要有一个项目负责人,这个人无论是在与客户的沟通上,还是在技术上都要是很出众的人,此项目负责人要能很好的沟通客户与开发成员之间,以此来更好的理解客户的功能需求。人的记忆力总是有限的,所以就要求开发团队成员要尽量的书写一些开发文档,这些文档往往是我们在项目开发后期要用到的可寻资料。项目团队士气是项目成功的一个因素,我们需要不断的来培养我们的团队气势,使我们的团队不断的壮大。
3.3需求的调研
在项目确立后,就到了需求调研分析阶段。
1. 项目组对客户的整体组织结构、公司有关人员的关系、职责等如果没有一个很好、足够的了解掌握,这样项目组就无法很好的完整的整理到客户的需求、或者说客户真实的功能需求,如此以来我们就为自己埋下了地雷,影响项目的开发周期,这就要求我们要与客户搞好无论是工作上的还是生活上的朋友关系,要深入的去了解客户需求。
2. 我们要尽量的让客户也参与到项目的开发团队中来,也就是说我们要使客户把自己也纳入到项目的开发团队中来,如此一来,我们掌握客户需求的真实性、可靠性就会大大的提高,也就不会为项目的后期功能开发埋下陷阱
3. 在需求调研过程中,如果缺乏足够用户参与,这样的需求调研也是失败的。很多程序员不愿参与到客户的需求调研中去,为什么呢?很简单,与客户沟通不如与代码沟通容易有意思。尽管这样,我们还是必须用足够多的时间去和客户进行沟通,了解他们真实的需求。很多用户也是如此,他们自己也不愿意参与到项目的需求调研中来,为什么呢?需求调研有出去和朋友一块烂漫对吗。。。虽然现状如此,我们还是要努力的使客户参与到需求的调研中来。
4. 模糊需求,也就是模棱两可是需求规格说明中最为可怕的问题。一是指诸多客户对需求说明产生了不同的理解;一是指单个读者能用不止一个方式来解释某个需求说明。针对对这种情况,就要求我们的调研人员要能够从多个角度来分析客户的不同需求,整理出最终的需求与客户确认,定出最终真实可靠的需求,我们绝不能凭借我们自己的单面理解来定立客户的最终需求。
5. 在一个项目的开发中,文档的书写是极为中要的一项工作。因为,某些文档就是我们在开发后期与客户沟通的可寻依据、也是我们程序员在编码过程中要用到的重要文档。我们绝对不能认为,凭借我们的大脑来记录所有的开发需求。。。;即使,你说你是天才,你要用你那颗爱因斯坦的大脑来记录所有的开发需求,那也是不可能的,人的精力总是有限的。这就要求我们在需求调研中做好需求文档的记录和整理。
6. 需求调研工具选择,客户一般对图形还是比较感兴趣的,所以我们在调研过程中,我要尽量的采用图形化界面来和客户沟通需求。比如可以采用Rose工具,把客户的意思转换为用例图、时序图、协作图、状态图、类图等,使表达的意思更加直观。这样客户会更快的进行问题的实质。
3.5做好开发计划
在项目确立后,我们就需要做好项目开发计划,需求调研用时,开发用时,测试用时,实施用时,维护用时。在我们做好了计划后,我们要随时的跟踪计划任务的完成进度,从而使我们的项目进度掌控在我们的开发周期范围之内,今日计划、行动,明日成功。
3.5很好的沟通
在其他行业中,人与人的之间的沟通只很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。
3.6做好工作总结
在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其它方面,都会对我们有很大的提高,在长期的积累后,无论是我们个人能力,,还是我们的团队能力都会有很大的提高。
软件开发项目案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件工程项目案例、软件开发项目案例的信息别忘了在本站进行查找喔。