Proxy预测项目开发时间
2022-04-22 企企科技 移动报销 事项会计 项目管理 协同办公

  两天前,一个朋友打电话给我,问我如何估计项目的开发时间。我很惊讶,问他他们以前是怎么估计的。他说,过去,都是开了一次会议,谈论他们自己的意见。最后,负责人拍了拍头,给了我一个时间。然而,这次我遇到了一个非常严肃的客户,他不仅要估计项目的开发时间,还要明确说明具体的基础和估算方法。我阅读了一些数学统计和项目估计信息,并告诉他如何使用一元线性回归来分析和估计软件项目的开发时间。


  问题的定义和数学模型


  在这里,我们只考虑一个相对简单的一元回归问题,即的方式Proxy预测项目开发时间。这是什么意思?Proxy。Proxy称为代理变量,简单地说,它是估计项目开发时间的数学基础。直率地说,我们总是有一个基础来预测开发时间,如需求中的用例数、概要设计中的物理数、数据库中的表数等。Proxy为x,项目开发时间为y,所以可以得到y=f(x),学过初等数学的人都能理解,也就是说,开发时间是Proxy如果我们知道新项目的函数x,又知道函数f,那么y就出来了。可惜天下哪有这么好的事,我们现在既不知道f,又不知道x,别说x我们甚至不知道该用哪个。Proxy做x。


  但是,没有必要悲观。经过以上分析,我们至少明确了奋斗的方向:


  1、找出候选的Proxy。


  2、选择最合适的Proxy作为x。


  3、得到x的值。


  4、确定函数f。


  5、得出y。


  让我们一步一步地解决所有的问题。


  找出候选的Proxy


  虽然一个项目有很多特征,但不是任何特征都可以作为Proxy的。要成为Proxy,至少要满足以下四个条件。


  1)Proxy值应与工作量密切相关。


  不需要解释这个,也就是说,Proxy的值和y值要有相关性。这里先定性说一下相关性的概念,定量分析后再说。


  2)Proxy应该是能明确得出值的,没有二义性。


  这是说Proxy对应一个明确的值,一是一,二是二,不能取好、多这个值。


  3)Proxy可以在项目开始阶段得到或准确估计。


  在这个初始阶段,最迟的设计不应该晚于总体设计,因为估计是在开始时进行的,所以Proxy一定要在初始阶段得到,否则项目结束后谁还会做估算,实际值就会出来。


  4)Proxy对不同的实施方案很敏感。


  也就是说,当开发方法、开发过程等因素发生变化时,Proxy应该具有一定的敏感性。


  经过以上分析,我想选择什么?Proxy每个人心里都有点谱。一般来说,估计往往被视为Proxy需求分析中的用例数量、需求分析中的功能模块数量、概要设计中的物理数量和数据库设计中的数量。当然,您也可以根据上述要求选择自己Proxy。在本文中,我们暂时选择三个用例数、实体数和表数Proxy作为候选。


  选择最合适的Proxy作为x


  这里所谓的最合适,在数学上意味着和开发时间y相关性最强。那么什么是相关性呢?直观地说,两个变量之间的相关性是指两个变量之间的密切关系,可以在数学上用相关系数来表示。相关系数计算公式如下:


  至于为什么这个公式能反映两个变量的相关性,可以参考高等数理统计的相关资料,本文不再赘述,顺便说一句,r的范围在-1~1绝对值越大,相关性越强。如果是正值,则表示两个变量正相关,否则为负相关。知道了这一点,我们这一步的目的是找出候选人Proxy中与y最大的相关系数x。




企企科技第二届用户大会
    相关文章

立即开启企业高效运营和持续增长之旅

使用AI驱动的企企服务业ERP实现业务、财务、决策一体化管理