学习日志之software engineering(12)——项目管理

在项目管理过程中有很多东西需要我们去量化,从而达到对项目进度代码质量的把控和预测估计。在iinception过程中也需要很多的参数对整个开发过程进行估计从而给买家提供信息。
对于开发过程主要有以下指标:
- time
重点在于一个calendar time。其中就包括了一个相对时间和绝对时间的表示,相对时间一般对时间的把控比较松散,适用于计划之中,而绝对时间大多用于对整个过程的把控上。
- effort
员工用来完成工作所用的时间,用Person hour(ph)来衡量,这是一个工作总量的概念,其可以和员工的花销(cost)相互转换,公式如下:
Staff cost = person hours * cost per hour
例如有6ph的工作量
学习日志之software engineering(12)——项目管理
- cost
项目的花销根据参与者而言主要有两方面,一方面是vendor的花销,另一方面是user的花销
对于vendor主要的开支在员工开销,软硬件开销上,而对于user而言其要为自己的所有权和购买的服务花钱,其衡量指标为TCO(total cost of ownership),其中有一项叫做acquisition cost这个玩意如果软件使用的年限越久一般这个就会越不重要。大多的花费可能会在维护上,或者购买耗材之类的东西上
- productivity(产量)
=output/effort
其中output可以用LOC来表示,而effort就是前面说的时间。output还有其余多种形式例如FP(function point)或者object points等。
在考虑产量的同时还要考虑产品的质量,于是引申出了Failure和Fault的概念。
Failure可能是由系统的Fault引起的,需要通知给User,是一个外部的概念
而fault是一个系统内部的概念,其发生在软件的内部。
对于产品的性能指标主要如下:
- size
软件的大小有很多度量方式,在代码层面来看用LOC(line of code),在文件的层面上来看用number of pages\words\characters etc。一般用得比较多的是LOC.
- prize
产品的价格和cost有关但是也不是那么紧密,其还存在其他的影响因素
学习日志之software engineering(12)——项目管理