二、合理的预算基于科学的预算方法与工具
由于软件项目的复杂性、多变性,要做出合理的预算不可能依赖历史或者个人经验。要作出合理的预算,首先要保证估算的相对准确性。一般来说,依靠历史或个人经验的规模估算方法都有一定的局限性。原因是很难在项目分析和计划阶段就对软件的规模进行相对准确的估算。因为估算是依靠评估人员的经验,所以对评估人员的能力要求比较强,并且难以由第三方对评估人员的工作偏差作出修正。另外,不同软件项目使用的技术不一样,这一点也非常影响到软件规模的估算。例如同一个功能,使用JAVA语言和使用Ruby语言所涉及的代码行相差数十行,甚至数百行。即使同为JAVA语言,使用不用的框架所需要编写的代码行也不一样。项目管理论坛
估算是建立在客观事实上对未来可能发生的事情的一种合理性预测。估算本身的不确定性,决定了它不可能是百分之百准确无误的,但是依据某种方法进行合理估计显然比瞎猜好得多。软件估算方法有很多,大致分为基于技术分解模型和基于经验模型两大类。目前基于技术分解模型的方法有:功能点估算法、LOC估算法、MARKII等;基于经验模型的方法有:IBM模型、普特南模型、COCOMO模型等。目前基于技术分解的常用方法是FP功能点估算法和LOC代码行估算法。还有许多其它的估算方法。不同的方法适用于不同的具体环境,有些方法虽然很好但并不一定适合当前的任务。因此,建议至少使用两种方法进行规模估算,不要依赖于任何一种方法。只有量体裁衣,具体问题具体分析,才能得到尽量合理的规模估算。
三、合理的预算基于预算的弹性与韧性
合理的项目预算应该与目标计划相关联,并且需要同时兼顾质量目标与进度目标。而由于需求变更的反复出现与项目不可控因素的切实存在,我们在做项目预算时必须要保证预算的切实可行还要留有一定的弹性空间。另外项目预算其本质上也是一种约束控制机制。项目管理人员或者高层管理人员可以在不同范围内充分利用这一调节工具来控制项目质量与项目进度。项目管理者联盟文章
四、合理的预算依赖良好的成本控制与过程跟踪
项目预算强调选取实现目标的最佳途径,也就是要对各种可能的方案进行费效分析。因为规划中的失误是不能通过其后的计划和预算来弥补的。所谓费效分析,是对不同方案实现目标的效果和所需的费用进综合的对比分析,然后根据一定的标准来选取最佳方案。选择的标准可能是:以最少的费用实现一个既定目标,或以现有的资源实现最大的效果。因而,项目规划阶段的成本控制很重要,几乎起到决定性的作用。
预算的合理与否更依赖于项目实施过程中的成本控制与过程跟踪。无论项目前期作了如何完美准确的预算,项目实施过程中如果缺乏有效地监控,所有的付出将都毁于一旦。项目实施过程中需要监控的对象有范围、成本、进度、资源、质量和风险,在此不作赘述。
综上可以看出,想做出合理的预算并不是很容易的事。必须对行业有深刻理解对技术要有准确的把握,同时还要有足够的项目管控能力才能够做出尽可能准确的项目预算,从而保障项目的高效成功。
推荐阅读:
更多内容进入: