项目时间——你会讨价还价吗?

我想大家都遇到过这种情况:

需求不是很明确而且肯定会变化;

还没有开始做分析设计,对工作量心里没谱;

上面给了最后期限,却不给资源……



这种情况下,你心里知道风险极大,却必须接受这个工作;

但由于没有前期准备的时间,所以对工作量自己心里也没谱。



记住,你是开发人员,你的本分是系统实现——你只应该承担开发的风险。

怎么样更好地“坚守本分”,不干预你职责外的风险呢?

其实有很好的办法,本文给出一些建议。





1. 关于工作量

工作量是一个概率!

对于每个工作项,其完成所需的工作量(人天)都是一个概率分布

有最小值(但概率几乎为零)

有可靠值(最可能的情况,概率在80%左右)

没有最大值(最大值为无穷,其概率同样为零)



如果估算工作量时只估算了最小值,并且把这个值最为依据,那么对不起,你死定了——大家根据这个值盯着你的工作,而你按照这个时间表完成的概率几乎为零。那么项目延期的风险完全由你承担。



2. 关于累计工作量

关键路径上概率的累计是每个工作项概率相乘!

比如关键路径上有3个认为,其最可能完成的工作量和概率分别为(10人天,70%),(15人天,80%),(9人天,75%)

则使用10+15+9=34人天整个完成的概率是:70%×80%×75%=42%!

通常关键路径上会有10个以上的工作项,即使每个工作项按照概率90%来估算工作量,整个完成的概率也只有0.9^10=53%!

3. 概率来自哪里?

概率来自风险!

风险主要来自需求变化!

4.如何应对

工作量的估算不是简单的数字!

工作量的估算还要考虑风险。最简单的办法是定一个风险系数。风险系数取决于需求不明确,需求可能变化,开发人员会生病等等。

比如,

情况 风险系数

========================

需求不明确 0.5

需求可能发生很大变化 1.5

需求会增加很多 2--3



等等。因为让你报工作量的时候通常没有给你充分的时间,所以可以只从需求的确定程度来风险系数。



最终,最可能的工作量为最小工作量×(1+风险系数)





整体工作量要加保险系数。

由于概率累乘,整体风险还是很大。如果要保证85%以上的可靠性,还要在整体上进行调整。

比如,最后汇总的工作量为200人天,而关键路径上计算出的概率为50%,为了保证总体有85%的概率,则

需要的工作量还要增加一个保险量,大体上是(å可靠值-å最小值)×0.8

(根据概率分布曲线导出,不是很精确,也没必要精确)。

5.注意事项

使用人天作为工作量的单位

2人月很可能被砍到1人月,但40人天通常被砍到30人天。

记住每个月只有22个工作日。遇到法定假日更少。

单个工作项,工作量估算一定要客观。

单个工作项的工作量很容易估算,不要让别人挑出问题。

如果有问题在风险系数上做文章。

工作量估算和项目计划要随时更新

已完成的工作项,不再存在风险,同时实际完成时间已经确定。

需求在逐步确定,风险在逐步降低。

有新需求时,加上新的工作项。

随时估算新的风险可能。







6. 讨价还价

上面在工作量上讨价还价时,其实是在帮我们逐渐确定需求,减少风险。

比如,

甲:这个为什么要用这么长时间?

乙:如果需求能够确定,那么用的时间还是很少的,但是现在不确定,风险系数比较高。

甲:是吗?我看看,嗯,这个功能我们就不做了。

乙:这样啊,风险系数降低到XXX,最可能完成的工作量是XXX。这个功能不做了吗?我们签字确认一下?



7.实例

以后有时间给出一个实际的例子。包括快速分析设计,工作量估算表模板,实际进度中对工作表的更新等等。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GBK-means聚类算法是一种基于讨价还价游戏的K-means算法的改进。它是一种用于数据聚类的算法,主要用于将数据集分成若干组,使得每组内的数据点相似度较高,而不同组之间的相似度较低。该算法通过不断地迭代调整数据点的类别分配,以达到最优的聚类结果。 在这个存储库中,包含了GBK-means聚类算法的源代码实现。通过该代码,可以对给定的数据集进行聚类操作,并得到聚类结果。源代码还包含了与两个其他论文中的算法进行比较的实验结果,以验证GBK-means算法的性能优势。 引用:可疑分析matlab源代码GBK均值聚类算法 欢迎。 该存储库包含基于 matlab 的“GBK-means 聚类算法:基于讨价还价游戏的 K-means 算法的改进”的实现。 在这个存储库中,介绍了 GBK-means 聚类算法的源代码及其与两个...。 引用:王海洋,李珂,张承慧,马昕.基于主从博弈的社区综合能源系统分布式协同优化运行策略[J].中国电机工程学报,2020,40(17):5435-5445.DOI:10.13334/j.0258-8013.pcsee.200141. 🌈4 Matlab代码实现。 引用:%热储能 H_storage_max=1500; h_n=0.98;h_charge=0.98;h_discharge=1;%热储能容量/自损/充热/放热; %电储能 E_storage_max=2000; e_n=1;e_charge=0.95;e_discharge=0.95;%电储能容量/自损/充电/放电; bggin=1000;%%电储能 for i=1:24 B(1,i)=bggin Pcharge(1,i)*e_charge-Pdischarge(1,i); % 0.98为转换率 bggin=B(1,i); end begin=1000;%%热储能 for i=1:24 L(1,i)=begin*h_n h_charge*Hti(1,i)-Hto(1,i);%%%热储能容量 begin=L(1,i); end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值