軟件工程之美8講——怎樣平衡軟件質量與時間成本範圍的關係?

軟件工程之美8講——怎樣平衡軟件質量與時間成本範圍的關係?

什麼是軟件項目管理金三角?

軟件項目中,也有一個類似的平衡關係,就是
軟件質量(產品的質量,客戶的滿意度)與
範圍(需要實現多少功能)、
時間(多久可以完成)、
成本(花多少錢)四個要素之間的平衡。

瀑布模型和敏捷開發如何平衡時間成本範圍的關係?

除了可以將“金三角”的知識應用在軟件項目中,還可以應用它來理解和應用軟件工程中的開發模式,尤其是瀑布模型和敏捷開發這兩種典型的開發模式。瀑布模型有嚴格的階段劃分,有需求分析、系統設計、開發和測試等階段,通常在開發過程中不接受需求變更,也就是說,我們可以認爲瀑布模型的範圍是固定的,其他兩條邊時間和成本是變量。
所以使用瀑布模型開發,如果中間發現不能如期完成進度,通常選擇的方案就是延期(加班),或者往項目中加人。我們再來看敏捷開發,敏捷開發中,是採用固定時間週期的開發模式,例如每兩週一個 Sprint,團隊人數也比較少。
所以,在敏捷開發中,時間和成本兩條邊是固定,就只有範圍這條邊是變量。這就是爲什麼在敏捷開發中,每個 Sprint 開始前都要開 Sprint 計劃會,大家一起選擇下個 Sprint 能做完的任務,甚至於在 Sprint 結束時,沒能完成的任務會放到下個 Sprint 再做。這時候再想想文章開頭我們提到的問題:聽說迭代模型很好,你也嘗試使用迭代模型,但是每次迭代時間到了還是完不成,只能把迭代時間延長,最後又做回傳統的瀑布模型了。你現在是不是就明白了:如果不能固定“時間”這條邊,就會導致時間也成了變量,迭代自然無法正常推進。

如何平衡好軟件質量與時間成本範圍的關係?

那麼怎麼樣才能平衡好軟件質量與時間成本範圍的關係呢?前面我們說日常生活中“多、快、好、省”最多隻能選兩樣,其實如何平衡好軟件質量與時間成本範圍的關係也是一樣的道理,我們只能最多選擇兩樣,然後在另一邊或者另兩條邊去尋找平衡。所以第一件事就是:從時間、成本和範圍這三條邊中找出來固定的一條或者兩條邊,再去調整另一條邊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章