怎样估算软件项目周期

求婚策划师Kiki 2024-05-17 02:01:54
最佳回答
项目是指以一定的成本在一间内取得预期收益的系列活动。项目的生命期是管理项目的重要指标,而对项目周期的估算则是管理项目的重要一环。本期项目管理介绍对软件项目周期进行估算的技巧。   估算是软件开发中很重要的一个环节:项目周期估算过短会造成人力低估、成本预算低估、日程安排过短,最终人力资源耗尽,成本超出预算,为完成项目不得不 赶工,影响项目质量,甚至导致项目失败;项目周期估计过长表面看来影响不大,但是实际上也会带来成本估计过高、充分效率低下的后果。周期估算如同盖楼房中 打地基,是后续工作的基础,它的影响会贯穿整个项目。  但软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等不同的子过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素对估算产生的影响不尽相同。在进行软件估算时(包括利用工具辅助估算)必须考虑到这些方面,否则估算结果就会和实际结果有很大的偏差。下面,我们对几个常见的因素做一些探讨。软件规模是项目估算的基础  软件规模通常指的是软件的大小,可以通过程序代码行的长度、功能函数的数量、数据库中表的数量、数据库的大小等要素来描述软件规模。一般而言,软件规模越大,所花费的开发周期就越长。但这并不是一个简单的线性函数关系,也要考虑代码重用问题。比如一个模块代码很长,但是可能包含了很多公用函数,那么在估算时就应适当减少代码行数量。   软件项目中包含的功能模块越多、越复杂(或者说软件越大),开发周期越长。这个时间绝不是模块开发时间的简单叠加,因为模块功能数量的增加直接带来了软 件模块间相互关联度、复杂度的成倍增加,这导致了在需求、设计等阶段需要花费更多的时间,比单独考虑一个模块复杂得多。另一方面,对于产品化程度高的项目 开发,随着模块数量增加,开发周期的增加却不是特别明显。这是因为相当数量的模块可以完全重用,实际开发量大大减少。  所以,在实际进行软件开发周期估算的时候,软件规模肯定是首先考虑的因素。具体估算时,在考虑软件规模时要去除可重用的部分。另外,软件功能之间的关联所造成的复杂性也必须足够重视。风险影响周期  任何一个项目都或多或少存在风险,软件项目开发过程中也避免不了这种情况而且有自己的特点。最常见的风险来自于:技术、客户、项目人员等方面。开发周期估算时项目风险应该适当考虑,尤其是技术风险和客户风险技术风险技 术风险主要来自于软件本身的技术难度。对于一套成熟的产品,定制开发的技术风险相对非常小,因为重要的技术已经成型,客户也很少有新的、能带来高难度技术 问题的需求,这种风险较小。但是对于完全重新开发的项目,或是研发类的项目,技术风险必须特别重视。以开发**为例,开发**必须适合本项目所涉及的软件 开发、满足最终的需求,**的错误选择将导致庞大的开发工作量,即便满足了用户需求也可能造成系统效率低下、扩展性差的致命问题,软件可能会很快被淘汰。  在实际估算中,建议将技术难度分为十级,每一级在初次估算的代码行上增加10%,  最终估算代码长度=初始估算代码长度×(1+0.1×n)  假设模块a的初次估计代码行为15000行,但考虑技术难度高的风险,设定技术难度级别为二级,最终代码行的估算数量为15000×(1+20%)=18000。  由于技术风险的分析是一项技术性很强的工作,要求做技术风险分析的人必须是技术专家,在相关技术领域有着丰富的经验。对重大技术风险的分析结果必须要经过评审,保证准确性。客户风险客户风险存在于客户化项目中,客户行业特点不尽相同,技术、理解水平也相差甚远。在我经历开发的项目中,80%的项目延期是由于客户方的原因,而且这种风险可控性很低,对项目影响超过技术风险。   在开发周期估算前,项目经理要仔细分析客户的具体状况,包括客户方的计算机水平、管理水平、可沟通程度,在此基础上结合以往的经验综合判断是否会对开发 带来明显的影响,可以按照上述的技术风险的方式将客户分级,最终确定开发周期。在这个过程中,项目经理的经验极其重要,对客户的分析基本上要依赖经验做判 断,要求管理人员有大量的客户经验和行业分析能力。项目团队影响速度  对于软件开发项目来说,人力资源是核心力量。人力资源对估算的影响表现在技术水平、理解能力、沟通能力等几个方面。项目技术人员编程水 平、工作效率、团队适应性、沟通能力等素质,都会对开发进度产生影响,其中技术水平是最关键的因素。评价程序员的技术水平可以从编程熟练程度、编程速度、 解决技术问题的能力等几个因素考虑:编程熟练程度指的是程序员使用编程工具实现软件的功能的熟悉程度;编程速度指的是完成某个功能的速度;解决技术问题的 能力可以反映程序员的技术功底如果以100%作为总和,这三个因素分别占的合适比例为70%、15%和15%。  软件开发周期估算前,应对开发人员定级,建议按新手、初级程序员、中级程序员、高级程序员来划分,每一级人员再评定上述三个因素。初次估算时可以假定开发人员为中级程序员,然后依据项目组实际人员的水平做修正,这样结果的准确度能大大提高。宝贵的经验  依据历史数据估算软件开发周期是一种比较常见的方法,这种方法以历史软件开发周期为依据,在估算时把当前软件项目的情况与历史数据加以对比,从而得出最终结果。   按照历史数据估算开发周期的准确度还是相当高的,但这种方法只适用于对某类软件的开发,比如某个行业业务系统的开发。当要估算的软件与历史软件相差太 多,比如开发工具完全不同、或者项目类型完全不同,就不能再依赖这种方法,最起码应该辅助使用其它估算法。如果没有历史数据或是开发一种新领域软件,可以 使用代码行或功能点估算法,在此基础上再通过其它方法校正。  在实际使用历史数据估算法时,建议项目经理建立一个历史项目数据库。在库中 包含以前所有项目的开发周期、项目规模、开发人员状况、客户状况等详细数据。当估算时根据当前项目的状况在库中寻找最类似的历史项目,然后再比较两个项目 之间在项目规模、项目风险、人力资源之间的区别,我们假定历史项目开发周期为a,当前项目的周期可以依据下列公式得出:  估算项目周期 = a×(2×s+r+p+2×c)/6  s:代表软件规模 r:代表风险 p:代表人力资源 c:代表客户  (以上值均指当前项目与历史项目的比率)  实际的比较因素应该不止这些,但软件规模、风险、人力资源及客户状况是其中最重要的,对软件开发的影响也最大,所以这个公式中只考虑了这些因素。其中软件规模和客户两项占的权重最大,这也是根据项目管理经验得出的,在实际使用历史数据估算法时还可以灵活加入其它因素 20210311
汇率兑换计算器

类似问答
  • 一个初创公司项目估值怎么算?
    • 2024-05-17 20:24:53
    • 提问者: 未知
    一个初创公司项目估值怎么算?一般关心公司项目估值,基本上要么就是想要从事这个行业,要么是想要拿融资资金,所以项目的估值主要跟市场前景,和创始人在做这:-初创,估值,怎么,项目
  • 工程项目管理的软件有哪些?
    • 2024-05-17 08:13:17
    • 提问者: 未知
    ① 创建eps:企业项目结构(enterpr**e project structure),属于企业级数据,反映企业内所有项目...3,从项目、资料、现场、分析四个维度打造智慧监理部,实现数字化管控。...
  • 项目经理个人使用的项目管理软件有哪些?
    • 2024-05-17 21:28:48
    • 提问者: 未知
    cornerstone 基石协作 是专业的企业级项目组合管理解决方案,能够支撑企业全面完整的业务流程和项目全生命周期管理...方便管理者了解项目分布、进度计划、质量风险等,并从中...
  • 软件项目中的风险有哪些呢?
    • 2024-05-17 21:29:17
    • 提问者: 未知
    (1)需求风险 ①需求已经成为项目基准,但需求还在继续变化;②需求定义欠佳,而进一步的定义会扩展项目范畴;③添加额外的需求;④产品定义含混的部分比预期需要更多的...
  • 项目生命周期的特点
    • 2024-05-17 16:31:41
    • 提问者: 未知
    项目的特点:新颖性、性、定性、严格性;建立质理体系的原则:坚持以本的原则、坚持质量第一的原则、坚持预防为主的原则、坚持质量标准的原则、坚持全面管理的原则;项目经理:是企业法人代表在建设工程项目上的委托代理人。合同又称契约、是指双方或者多方当事人,包括自然人和法人。项分析的内容主要是:工期、质量和成本。解决施工合同纠纷的主要四种方式协商、调解、仲裁和诉讼;按索赔要求分类可分为—工期索赔、费用索赔;。...
  • 项目计算期怎么算公式
    • 2024-05-17 16:25:21
    • 提问者: 未知
    银行在发放中长期项目贷款时,建设期利息的计算是按贷款是否当年投放分别计算利息的。(1)当年投入的贷款按投放金额的1/2计息,不考虑是在什么月份投放。(2)上年结转...
  • 免费项目管理软件
    • 2024-05-17 13:40:19
    • 提问者: 未知
    可以对工程中发生的备用金、预付款、垫付款、押金、保留金的资金使用进行高效的管理,同时对分包商、供应商、租赁商、服务商及其它相关合作单位的资金往来进行实时的监管。这是项目管理的 我们还有适合你们用的预算软件 有需要的话联系我,头像上有联系方式的。
  • 国外项目投资估算的阶段划分是怎样的?
    • 2024-05-17 21:35:26
    • 提问者: 未知
    国外项目投资估算的阶段划分 在国外,英、美等国把建设项目的投资估算分为以下五个阶段:第一阶段:是项目的投资设想时期。对投资估算精度的要求允许差大于±30%。第二...
  • 在大型软件项目中工作,和小项目有什么区别?
    • 2024-05-17 09:40:15
    • 提问者: 未知
    目前在小公司,只参加过几个人的小项目,用http://asp.net做单位内网的系统。我想知道大型软件项目,在其…
  • 软件项目风险评估报告
    • 2024-05-17 01:06:44
    • 提问者: 未知
    本文主要针对软件开发涉及到的风险,包括在软件开发周期过程中可能出现的风险以及软件实施过程中外部环境的变化可能引起的风险等进行评估。在文中对所提到的风险都一一做了详细的分析,并提出了相应的风险回避措施。 由于风险是在项目开始之后才开始对项目的开发起负面的影响,所以风险分析的不足,或是风险回避措施不得力,都很有可能造成软件开发的失败。风险分析是在事前的一种估计,凭借一定的技术手段和丰富的经验,基本能...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。