软件项目成本的核算通常涉及多个方面,以下是一些主要的核算方法:
开发人员工资
开发人员的工资是项目成本的基础,根据工作年限、经验和水平决定。
包括产品经理、UI设计师、前端工程师、服务端工程师、客户端工程师等不同角色。
时间成本
软件开发过程中,程序员写代码的时间越长,成本越高。
成本常以每日为单位进行估算。
识别活动和分解工作成本
在项目前期,需识别软件开发的相关活动项,并进行工作分解,确定每个活动项的前后依赖关系。
估算人员角色及数量
活动项确定后,逐个评估活动项执行所需要的资源,根据交付成果评估所需人员,开发相对应的软件。
每种软件所要求掌握的技能不同,角色和级别也不同。
直接成本归集
对于各部门直接发生的成本费用进行直接归集,如领用的办公用品、发生的员工工资等。
共同承担费用分配
对于各部门共同承担的费用,如房租、水电管理费、电话费、清洁费等,按合计总工时进行分配到各部门。
辅助部门成本分配
辅助部门发生成本费用的分配标准采取按某直接生产部门本月工时数占所有直接生产部门工时合计数的比例进行分配。
项目工时统计
对于某项目的所花工时,则按工作报告形式进行统计。
硬件成本
硬件成本涵盖了开发全过程所需的各类设备,如计算机、服务器、存储设备等。
硬件需求会因项目规模和复杂程度的不同而有显著差异。
管理成本
包括项目管理所产生的费用,可通过定量方式发放给项目管理者,或者依据项目管理所耗费的时间来核算。
风险成本
包含项目需求调整、人力调整、难点技术攻关以及工作量超期导致的加班等产生的成本。
通常依据项目的体量和难度来核算,如果无法做到精细计算,可采用人力成本乘以一定比例系数的方式来估算。
交付实施成本
包含交付环节的多种费用,如各种文档编写、系统部署实施以及对相关人员的培训成本等。
经营成本
涵盖了团队经营过程中必不可少的房租、福利、水电、网络等费用。
这些成本需要按照一定的分摊方式计算到项目中,体现了团队运营的基础成本。
违约成本
涉及软件开发方延期交付所面临的违约扣费情况,也包括需求方延期支付或逃避支付尾款所产生的成本。
成本估算方法
包括自顶向下、自底向上和差别估算法。自顶向下的方法是对整个项目的总开发时间和总工作量做出估算,然后把它们按阶段、步骤和工作单元进行分配;自底向上的方法是分别估算个工作单元所需的开发时间,然后汇总得出总的工作量和开发时间;差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。
成本估算模型
成本估算模型是一种数学模型,基于项目的特定参数和历史数据来估算项目成本。
例如COCOMO(Constructive Cost Model)模型考虑了项目规模、复杂性、开发团队的经验等因素。
专家判断和历史数据分析
依赖于有经验的专家来估算项目成本,同时基于以往项目的数据和性能指标,使用统计方法来估算项目成本。
通过上述方法,可以对软件项目的成本进行较为全面和准确的核算,从而为项目的预算管理和成本控制提供有力的支持。