軟件項目管理應該遵循的7條基本原則

美國著名軟件工程專家勃姆(B.W.Boehm)在總結軟件工程準則和信條的基礎上,於1983年提出軟件工程的7條基本原則,也是軟件項目管理應該遵循原則。勃姆認爲,這7條原則是確保軟件產品質量和開發效率的原理的最小集合,相互獨立但結合得相當完備。
  1.用分階段的生命週期計劃嚴格管理。統計表明,不成功的軟件項目中約有一半左右源自計劃不周。本原則意味着,應該把軟件生命週期劃分成若干階段,相應地制定出切實可行的計劃,然後嚴格按照計劃對軟件的開發與維護工作進行管理。勃姆認爲,在軟件的整個生命週期中應該制定並嚴格執行6類計劃,即項目概要計劃、里程碑計劃、項目控制計劃、產品控制計劃、驗證計劃、運行維護計劃。不同層次的管理人員必須嚴格按照計劃各盡其職地管理軟件開發與維護工作,絕不能受顧客或上級人員的影響而擅自背離預定計劃。
  2.堅持進行階段評審。軟件的質量保證工作不能等到編碼階段結束之後再加以實施,其理由爲:第一,大部分錯誤始於編碼之前;第二,錯誤的發現與修改時間越晚,需要付出的代價就越高。因此,本原則意味着,在軟件開發的每個階段應該進行嚴格的評審,以便儘早發現軟件開發過程中的錯誤。
  3.實行嚴格的產品控制。軟件開發過程中不應隨意改變需求,因爲改變一項需求往往需要付出較高的代價;但是軟件開發過程中改變需求又在所難免,基於外部環境的變化而出現改變用戶需求的情況是一種客觀需要,而且迅速應對客戶的需求變更是顧客本位的內涵之一。在這種情況下,只能依靠科學的產品控制技術來順應這種要求。當改變需求時,爲了保持軟件各個配置成分的一致性,必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審後的軟件配置成分(各個階段產生的文檔或程序代碼)。基準配置管理也稱爲變更控制:一切有關修改軟件的建議,特別是涉及到對基準配置的修改建議,都必須按照嚴格的規程進行評審,獲得批准以後才能實施修改。避免開發人員對軟件隨意進行修改。
  4.採用現代程序設計技術。從提出軟件工程的概念開始,人們一直把主要精力用於研究各種新的程序設計技術。從60年代末提出的結構程序設計技術到最近的面向對象技術,人們不斷創造先進的程序設計技術。實踐表明,採用先進的技術既可提高軟件開發的效率,又可提高軟件維護的效率。
  5.結果應能清楚地審查。與其他有形產品不同,軟件是看不見摸不着的邏輯產品。軟件開發人員的工作進展情況可見性差,難以準確度量,從而使得軟件產品的開發過程比一般產品的開發過程更難以評價和管理。爲了提高軟件開發過程的可見性,更好地進行管理,應該根據軟件開發項目的總目標及完成期限,規定開發組織的責任和產品標準,從而使得所得到的結果能夠清楚地審查。
  6.開發小組的人員應該少而精。該原則意味着,軟件開發項目的組成人員的素質應該好,而人數則不宜過多。開發小組人員的素質和數量是影響軟件產品質量和開發效率的重要因素。素質高的人員的開發效率比素質低的人員的開發效率可能高几倍至幾十倍,而且素質高的人員所開發的軟件中的錯誤明顯少於素質低的人員所開發的軟件。此外,隨着開發小組人員數目的增加,因爲交流問題而造成的溝通成本也急劇增加。因此,構建和維持少而精的開發團隊甚至標杆團隊是軟件工程的一條基本原理。
  7.承認不斷改進軟件工程實踐的必要性。遵循上述6條基本原則,就能夠按照當代軟件工程基本原理實現軟件的工程化生產,但是,僅遵循上述6條原則並不能保證軟件開發與維護的過程能趕上時代前進的步伐,能跟上技術的不斷進步。因此,勃姆提出應把承認不斷改進軟件工程實踐的必要性作爲軟件工程的第七條基本原則。按照這條原理,不僅要積極主動地採納新的軟件技術,而且要注意不斷總結經驗。
  威格的成功軟件項目管理祕訣
  過程影響(Process Impact)公司的首席諮詢顧問卡爾。威格(Karl E.Wiegers)在其《成功項目管理祕訣》(Secrets of Successful ProjectManagement)一文中總結了成功項目管理的20條祕訣:
  構築基礎
  1.定義項目成功標準;
  2.識別項目的驅動、約束和自由度;
  3.定義產品發佈標準;
  4.協商承諾。
  規劃工作
  5.製作計劃書;
  6.將任務分解成較小的里程碑;
  7.爲共通的大任務開發計劃工作表;
  8.計劃在質量控制活動後實施修改;
  9.爲過程改進安排時間;
  10.管理項目的風險。
  估算項目
  11.根據工作量而不是日曆估算;
  12.不要爲項目人員安排超過其80%的時間;
  13.將培訓時間納入計劃中;
  14.記錄估算以及如何達致估算;
  15.利用估算工具;
  16.尊重學習曲線;
  17.考慮意外事件的緩衝。
  追蹤進展
  18.記錄實績與估算;
  19.只有當任務百分之百完成時,才認爲該任務結束;
  20.公開而誠實地跟蹤項目狀態。
  麥克康奈爾的成功軟件項目十大要決
  史蒂夫。麥克康奈爾(SteveMcConnell)在《成功軟件項目的十大要決》(10 Keys to Successful SoftwareProjects)中闡述了成功軟件項目的十大要決:
  1.清晰的願景;
  2.穩定的、完整的、書面的需求;
  3.詳細的用戶界面原型;
  4.有效的項目管理;
  5.精確的估算;
  6.兩階段預算;
  7.注重質量;
  8.聽取技術專家的意見;
  9.積極的風險管理;
  10.記住:軟件來源於人。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章