《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-06 项目成本(Cost)管理

  1. 云栖社区>
  2. 博客>
  3. 正文

《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-06 项目成本(Cost)管理

异步社区 2017-05-02 17:52:00 浏览1448
展开阅读全文

本节书摘来自异步社区《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》一书中的第2章,第02-06节,作者 邱毅凌,更多章节内容可以访问云栖社区“异步社区”公众号查看。

02-06项目成本(Cost)管理

screenshot

企业组成项目团队来执行项目绝对是为了公司利益,所以在规划阶段必须仔细估算项目成本,除非有更大的利益,否则,执行没利润的项目是毫无意义的。

嵌入式系统开发有很大部分是软件工作,而软件开发大部分是脑力工作,所以很难预估软件系统的开发成本及其真正价值。举例来说,当我们对客户报价时可能会说:‘我们会指派5位工程师,3个月full time做这个项目,根据业界软件开发项目的行情,台湾地区工程师一个人月是4000~5000美金,所以我们的软件报价是……’。

这个算法看似有道理,但5位资深工程师与5位菜鸟工程师创造的价值完全不会在同一个水平,即便是同样薪资水平或工作年资的工程师,其单位时间产出的差异可能达数倍之多。就算只看个人表现,对这个领域的熟悉程度也会影响其产出,甚至工程师当时的情绪或生活状况,都可能会使其产出不一致。

所以业界用人月来计算软件的成本或‘售价’,其实是无计可施之下的办法。也许你会问,那我们不要用工时来计算软件开发成本,直接计算最后交付给客户的‘软件价值’,然后乘上一个该赚的比例不就好了?

然而软件价值估算是一件更麻烦的事情!一个方法是用程序的行数来计价,同一个模块,工程师A用100行完成,但工程师B只用50行完成,且性能更好。请问,这个模块到底该如何计价?嵌入式系统里的一行程序和网络程序里的一行程序,价格又该如何区分?

软件价值估算是一个专门的学科,其中有许多复杂的数学模型。幻灯片中有个表格,说明了在某项评估软件开发成本的模型中,它包含一项公式,你会发现嵌入式系统的乘数与指数因子都高过其他种类的软件开发项目。这只说明嵌入式系统里的某个模块,应该比其他软件系统中功能类似的模块要来得贵,但软件系统种类这么多,怎么可能就这么简单区分为3种价格?

这个世界上没有多少人搞得懂教科书里的软件价值模型,所以软件报价与软件开发成本估算,一直是项目经理心中的痛。在嵌入式系统中,硬件与生产部分的成本较容易估算,而软件的成本估算还是只能基于WBS与资深软件人员的经验,毕竟分别对多个小任务进行估价,总是比直接评估整个项目要容易。

看吧!我们又碰到WBS了, WBS真的很重要!

screenshot

从幻灯片中的表格可以看出,工作被切割的越细致,所估算出来的成本就越准确。但实际上,根本等不到项目团队把项目需求弄清楚、把WBS做出来后才对客户报价,通常就是用这张幻灯片所提到的人月估价法(实际运行时,根本就是心里已经预算了一个总价,换算成人月后,再设法做个表格说明各个工作项目、需要多少人做多少个月,因此,这个项目总共需要多少人月,基本上就是一个凑答案的做法)。表格里显示出这种报价法的误差可达25%~75%,现在你们应该知道这个75%是怎么来的了。有一本很有名的项目管理书籍叫做《人月神话:软件项目管理之道》,极力推荐所有从事软件开发的同事们细读此书。

也就是说,嵌入式系统开发项目的合约价格通常和实际价格有段差距,所以这个价格拿来参考就可以了,千万不可以当作项目运行期间成本管控的基础。项目经理还是应该根据WBS重新评估开发成本,并在项目执行期间,监督预算的使用状况。

screenshot

台湾地区信息界其实是明显的硬大软小,许多系统厂家还是有‘买硬件送软件’的business model—意即客户只要最后将产品交由该公司生产,则该公司只会收取一些软件开发费,甚至真的是软件免费,只要能在大批量生产时赚回来就可以了。

就算对客户的报价中不包含软件的金额,真正项目在运行时,软件开发不可能毫无花费,因此,项目经理还是要把‘实际’的预估成本算清楚,以确保项目不会超支。

screenshot

成本管理的主要目的就是避免超支,通常一般工程人员不需操心预算的问题,但如同进度落后会导致项目失败一样,预算控制不当,也可能导致项目断炊,一样会使得项目失败。而项目经理存在的目的就是尽所有的努力,使项目往成功之路迈进。因此,项目经理除了要监控进度外,也要控制项目‘烧钱’的速度。

换句话说,只用进度来描述项目目前的状况是不够的,还必须同时考虑成本的使用状况。项目管理知识体系提供一个已广为采用的方法—挣值管理。挣值管理主要用于项目成本和进度的监控,它将目前为止所完成的工作,与项目计划里的估计值进行比较,这会提供一个关于‘项目距完成还有多远’的估量。通过从已经完成的工作量推算,项目经理可以得到距离项目完成还需要花费多少资源的估计。

挣值管理是一个很有用的工具,除了可以告诉你目前项目的进度、成本花费以及与项目计划间的差异之外,更重要的是从曲线图中可以看出项目的趋势。虽然趋势表明项目可能会delay或超支,但不代表项目就真的会 fail,但趋势向下无疑是个警告,此时项目经理必须提早 do something,以阻止状况恶化。

挣值管理并不复杂,实际上我们也不需要自己按计算器,项目管理软件会帮忙计算出所有的进度与成本指标。对挣值管理有兴趣的朋友可以翻阅PMP的书,直接找个案例来看,今天我就不详述了。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注