讀書的一點點總結吧,關于軟體開發管理方面的知識,雖然可能以後工作中用不到,但是至少了解自己的角色。
這章主要問題就是:造成項目滞後的最主要原因是缺乏合理的進度安排。幾個可能的原因有:
一、對估算技術認識的缺乏,制定的時候基于一種假設——一切都将運作良好。
造成這種問題的原因大多是因為思路的不完善性,假如文檔寫的天衣無縫,程式寫的盡善盡美,估計會和理想預期的一樣。
二、采用的估算技術隐含地假設人和月可以互換,錯誤的将工作量與進度混淆。
人和月不可以互換的原因,大概有一下幾個:
1.人員溝通需要成本,大的項目,肯能會一直開會~
2.有的任務無法分解,例如一個算法,可能不能拆成幾個部分來做
3.即使任務可以分解,那麼與時間的關系也不是線性的,是1/x的樣子的。而且如果關系過于複雜那麼會出現人越多消耗時間越長的現象。
三、沒有持續性的對項目估算。
四、對進度缺少跟蹤和監督。
這兩點這章沒有詳述,我感覺和靈活開發中的回報意思差不多。
五、進度偏移時,下意識的增加人力。
如果增加人力,那麼新來的要教育訓練,需要消耗時間,人多了溝通多,消耗時間而且溝通中會有錯誤,子產品多了內建時候錯誤就會多。項目的時間依賴于順序上的限制,人員的最大數量依賴于獨立于任務的數量。從這兩個數值可以推算出進度表,該表安排的人員較少,花費的時間較長(唯一的風險是産品可能會過時)。相反,分派較多的人手,計劃較短的時間,将無法得到可行的進度安排。是以一個項目不是人越多做的越好越快,每個項目可能都有一個最佳的人員配置,最佳的進度安排。