本環(huán)節(jié)后交給下一環(huán)節(jié)就了事了,而應該繼續(xù)與下一環(huán)節(jié)的人員共同作戰(zhàn)、相互影響、不斷進行同步完善,及時地解釋和調整上一階段的成果。如果上一階段與下一階段的負責人是同一個人,就沒有這方面的問題,但是在實際工作匯報時要考慮到在某個階段可能進行著前一個階段或后一個階段的工作。
8、資源需求沒有經過較為周密的估算
軟件開發(fā)項目的資源因為因為其自身的特點和受到各種因素的影響,很難做到“精確”。盡管如此,還是應該盡可能地做到“周密”。需要重點考慮的軟件開發(fā)項目的資源主要是人力資源,沒有盡可能足夠詳細精確地估計整個項目的每個階段所需要的人時(或人日、人月)數;這是因為對軟件開發(fā)的工作量沒有進行精確的估算。為了估算軟件開發(fā)項目的工作量和完成期限,首先需要根據較為完整的需求來預測軟件規(guī)模。度量軟件規(guī)模的常用方法有、代碼行估算法和功能點估算法。這兩種方法各有優(yōu)缺點,應該根據軟件項目的特點選擇適用的軟件規(guī)模度量方法。根據項目的規(guī)??梢怨浪愠鐾瓿身椖克璧墓ぷ髁浚覀兛梢允褂靡环N或多種技術進行估算,這些技術主要分為兩大類分解和經驗建模。分解技術需要劃分出主要的軟件功能,接著估算實現每一個功能所需的程序規(guī)?;蛉嗽聰?。經驗技術的使用是根據經驗導出的公式來預測工作量和時間??梢允褂米詣庸ぞ邅韺崿F某一特定的經驗模型。精確的項目估算一般至少會用到上述技術中的兩種。通過比較和協(xié)調使用不同技術導出的估算值,我們可能得到更精確的估算。軟件項目估算永遠不會是一門精確的科學,但將良好的歷史數據與系統(tǒng)化的技術結合起來能夠提高估算的精確度。
9、遺漏重要的假設或約束條件
如一些政府機關的管理信息系統(tǒng)軟件開發(fā)項目隱含的需求是必須遵守一系列的國家和行業(yè)標準,但由于沒有考慮到這些要求,致使項目計劃失敗,開發(fā)出某些功能、性能或數據不符合國家和行業(yè)標準的軟件,造成返工。所以應當盡可能地將將任何設想和約束編入文檔。做項目計劃時應該盡可能地把假設條件和約束條件考慮清楚,這些假設和約束可以是樂觀的、悲觀的或者是最可能的估計。例如,可以假設能夠及時獲得應用程序服務器的新發(fā)行版,或可以得到熟悉項目正在采用的技術和技巧的開發(fā)人員;還可以假設,項目能在一些約束下工作,如影響計劃的強制截止期限或資源限制等等。應該把這些假設和約束條件編入計劃文檔中,在項目的實施過程中,當項目計劃需要細化和調整時,就應該考慮到這些約束條件,而不是以一種“無限資源”的方式做計劃。一般來說,假設、約束和風險的區(qū)別是假設、約束是一些比較明顯、明確、已經發(fā)生或肯定會發(fā)生的情況,而風險這是不一定會發(fā)生的,具有不確定性。
10、項目計劃沒有突出重點
軟件開發(fā)涉及到方方面面的工作,有些是主要的,有些是次要的,項目計劃應當反映有價值的工作任務、環(huán)境條件。項目計劃不能寫成一個大雜燴,也不能寫成一個包羅萬象的百科全書。在項目計劃中要簡潔精確地反映對項目有價值的事情、任務和活動,避免羅嗦。項目管理的理論方法、成功的項目管理經驗都是在實施項目時應該參考的。但是,每個項目是特殊的,具有“唯一性”的,一次需要為每個項目做專門的計劃,選擇適合的項目,適合的團隊的方式和方法。
11、工作任務的分解不便于人員分工
在確定了系統(tǒng)構架之前應該考慮在編寫文檔的同時是否有些其他基礎性的工作可以先做,如是否在需求分析的同時進行部分的系統(tǒng)概要設計;是否可以先進性技術預研,環(huán)境架構搭建、后臺數據庫框架搭建、軟件系統(tǒng)框架搭建等等。迭代法使得在上一階段的部分任務完成后,下一階段的對應工作就可以投入進行。在確定了系統(tǒng)構架之前之后