首页 > 编程知识 正文

软件工程各阶段工作量占比,软件工程岗位数量

时间:2023-05-03 16:14:10 阅读:262194 作者:4077

当一项工作延误的时候,人们最早想到的方法就是就是增加人员,有时候这是一个简单而有效的方法.那么在软件开发的时候如果工期耽误的情况下增加软件开发人员是否可以有效地缩短开发工期.很多人员都认为是理所当然的事情.而令人奇怪的这个理论有时候会产生很好的效果,有时候却会导致项目的延期加剧,甚至这个项目的失败.这到底是为什么?
    软件工程有一个很著名的理论就是:在软件项目延期的时候,盲目地增加开发人员不但不会加快项目的开发速度,而且可能导致项目的延期程度的加剧,理由很简单,软件开发的一个特点就是需要大量的人员之间的交流,而这些交流时间随着开发人员的增加会急剧增加从而延误开发,举一个例子,一个开发组如果只有3个开发人员,每人年的开发代码量为1万行,每两个人之间交流浪费的开发时间为1千行,则一年的实际开发量应该为:
1万行*3-1千行*(2+1)=2万7千行,如果项目增加7个人,(其他参数不变),1万行*10-1千行*(9+8+7+6+5+4+3+2+1)=5万5千行,在10个人开发组,人员增加到原来的3.3倍,但效果只增加到原来的2倍.如果是人员增加到15人,则项目组实际开发结果为15-11.25=3.75万行,从这里可以看出,在继续增加人员,工作效果会越来越低(每年的开发代码量越来越少).从这个公式代入不同的人员数目可以看到如下的数据:
   开发人数    工作效果   人员交流浪费的时间   实际工作效果(单位的千行代码/年) 生产率
        1         10                 0                     10                    100
        2         20                 1                     19                     95
        3         30                 3                     27                     90
        4         40                 6                     34                     85 
        5         50                 10                    40                     80 
        6         60                 15                    45                     75
        7         70                 21                    49                     70
        8         80                 28                    52                     65
        9         90                 36                    54                     60
       10        100                 45                    55                     55
       11        110                 55                    55                     50
       12        120                 66                    54                     45
       13        130                 79                    51                     38.4
   从这组计算结果看一看出一些结果:
1随着人员的增加工作效率逐步降低
2在人员非常少的情况下,增加1-2名人员产出下来过增加比较明显.
3随着人员的增加.效果越来越小.在10人左右的时候达到一个最大的峰值
4在达到一个最大峰值的时候,再增加人员,不但不能提高产出量,而且产出量会越来越低.
5在人员增加的一定时候(13人以后),产出的效果(代码行),工作效率都急剧下降.

这就是软件工程中如果项目延期,采用增加开发人员的方法会降低项目开发效率,加强延期甚至导致项目失败的理论依据.那么在项目延期的时候,我们就没有任何办法可以采用了吗?也不是,让我们试着将这个公式加以改变,看看效果.
1首先来说,我们要保证人员的开发效率,个人认为单个人的开发效率在60左右就很不错了.其次要保证整个项目组的产出量.如果我们才用小组开发体制就可以很好的解决这个问题,一个项目如果比较大,要划分成若干子项目组,一个子项目组的成员的人数大约在4-7人之间(这个人数保证产出代码行和工作效率都是比较高的).如果一个组以4人计算,年产出代码行为34千行,工作效率为 85%.如果小组之间的交流损失为2千行/年,则在4,8,12,16,20人的情况下,产出的情况为
人数  小组数  工作效果   交流浪费的时间   实际工作效果(单位的千行代码/年) 生产率
   4        1               40                        6                            34                                          85
   8        2              80                       14                           66                                       82.5
  12       3           120                       24                           96                                          80
  16       4           160                       36                         124                                      77.5
  20       5           200                       50                         150                                         75
从这里可以看出,在20人,分成5个开发小组,每个小组4人的情况下,可以保证一年的开发量为15万行,平均每人为7.5千行.而如果是20人的开发组,开发行数是1万行.相差15倍,工作效率的差别就更大了.
从这组数据中可以看到开发结构的合理变化可以极大地改善开发组织的开发效率保证开发的效果.所以说在项目工期延误的时候可以采用增加人员的方法提高,但一定要考虑在人员增加的情况下对项目实际产出的影响.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。