軟體開發:告別技術精英時代 工程化管理(1)(轉)
沒有規則的軟體開發過程帶來的只可能是無法預料的結果,這是很多專案管理者在親身經歷了一次次的專案失敗之後,逐漸領悟到的道理。儘管有人依然懷念日漸遠去的技術精英時代,但隨著軟體專案的規模不斷加
大,參與人員的增多,對規範性的要求愈加嚴格,告別個人英雄主義的開發模式成為必然,基於軟體專案管理的、工程化的軟體開發時代已經來臨。
軟體專案管理的作用一方面是提高質量,降低成本,而另一方面則是軟體的工程化開發提供保障。
依賴軟體技術精英的時代已經一去不會返了。很多專案管理者在實際開發中,經歷了多次可怕的夢魘:一次次的失敗,一次次的返工。比如,不少專案管理者紛紛提到軟體需求變更帶來的可怕影響。但是正如完整的法律體制不能制止犯罪,沒有完整的法律體制犯罪會更加猖獗一樣,頻繁的軟體變更固然可怕,而沒有一個完整的專案管理對應機制,我們無法相像專案最終會是一個什麼樣子。運用專案管理的經驗和方法是軟體專案成功的前提和保證,這已是今天的軟體業內人士的共識!
軟體專案管理的定義
專案普遍存在於人們的工作和生活中,如何管理好這些專案就是一項需要研究的任務。例如商品採購、生日聚會等專案,事前在心裡(或者紙張上)有個計劃,專案實施過程中在有意識地控制這個計劃,這其實就是在進行專案管理。另外,設想一下,讓你負責字處理系統軟體這樣大的專案,這樣的系統需要非常高的穩定性、良好的人機互動介面。顯然,這個專案不是幾個人幾天就可以完成的,有上百人年、甚至上千人年的工作量,需要很多子系統組合在一起,完成一個相互關聯的系統,還要考慮系統的架構、安全性、如何協同工作、誰做什麼、哪個部分先做哪個後做、如何關聯等,出現風險如何處理等等。同時,一個管理者不可能瞭解所有的事情,認識所有的人,如何保證所有的專案人員不疲倦,永遠有幹勁兒。這一切都要從系統工程的角度進行管理,這就是軟體專案管理產生的主要原因。
軟體專案管理是組織為了實現其目標,利用各種有效的手段,對軟體專案各階段工作進行計劃、組織、協調、指揮、控制,以取得良好經濟效益的各項活動的總和。為了滿足甚至超越專案有關人員對專案的需求和期望,專案管理會將理論知識、技能、工具和技巧應用到軟體專案的活動中去。
要想滿足或超過專案相關人員的需求和期望,我們需要在下面這些相互間有衝突的要求中尋求平衡:
1. 範圍、時間、成本和質量
2. 有不同需求和期望的專案干係人員
3. 明確表示出來的要求(需求)和未明確表達的要求(期望)
軟體專案是一種特殊的專案,它創造的惟一產品或者服務是邏輯載體,沒有具體的形狀和尺寸。它提供的產品或服務是邏輯的,具有獨特性、臨時性和週期性的特點。軟體開發不同於其他產品的製造,軟體過程更多的是設計過程(沒有製造過程)。另外,軟體開發不需要使用大量的物質資源,而主要是人力資源。並且,軟體開發的產品只是程式程式碼和技術檔案,並沒有其他的物質結果。基於上述特點,軟體專案管理與其他專案管理相比,有很大的獨特性。
從概念上講,軟體專案管理是為了使軟體專案能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動,軟體開發專案管理是以最合理、最有效、最經濟的手段保證軟體開發專案的成功完成。[@more@]
大,參與人員的增多,對規範性的要求愈加嚴格,告別個人英雄主義的開發模式成為必然,基於軟體專案管理的、工程化的軟體開發時代已經來臨。
軟體專案管理的作用一方面是提高質量,降低成本,而另一方面則是軟體的工程化開發提供保障。
依賴軟體技術精英的時代已經一去不會返了。很多專案管理者在實際開發中,經歷了多次可怕的夢魘:一次次的失敗,一次次的返工。比如,不少專案管理者紛紛提到軟體需求變更帶來的可怕影響。但是正如完整的法律體制不能制止犯罪,沒有完整的法律體制犯罪會更加猖獗一樣,頻繁的軟體變更固然可怕,而沒有一個完整的專案管理對應機制,我們無法相像專案最終會是一個什麼樣子。運用專案管理的經驗和方法是軟體專案成功的前提和保證,這已是今天的軟體業內人士的共識!
軟體專案管理的定義
專案普遍存在於人們的工作和生活中,如何管理好這些專案就是一項需要研究的任務。例如商品採購、生日聚會等專案,事前在心裡(或者紙張上)有個計劃,專案實施過程中在有意識地控制這個計劃,這其實就是在進行專案管理。另外,設想一下,讓你負責字處理系統軟體這樣大的專案,這樣的系統需要非常高的穩定性、良好的人機互動介面。顯然,這個專案不是幾個人幾天就可以完成的,有上百人年、甚至上千人年的工作量,需要很多子系統組合在一起,完成一個相互關聯的系統,還要考慮系統的架構、安全性、如何協同工作、誰做什麼、哪個部分先做哪個後做、如何關聯等,出現風險如何處理等等。同時,一個管理者不可能瞭解所有的事情,認識所有的人,如何保證所有的專案人員不疲倦,永遠有幹勁兒。這一切都要從系統工程的角度進行管理,這就是軟體專案管理產生的主要原因。
軟體專案管理是組織為了實現其目標,利用各種有效的手段,對軟體專案各階段工作進行計劃、組織、協調、指揮、控制,以取得良好經濟效益的各項活動的總和。為了滿足甚至超越專案有關人員對專案的需求和期望,專案管理會將理論知識、技能、工具和技巧應用到軟體專案的活動中去。
要想滿足或超過專案相關人員的需求和期望,我們需要在下面這些相互間有衝突的要求中尋求平衡:
1. 範圍、時間、成本和質量
2. 有不同需求和期望的專案干係人員
3. 明確表示出來的要求(需求)和未明確表達的要求(期望)
軟體專案是一種特殊的專案,它創造的惟一產品或者服務是邏輯載體,沒有具體的形狀和尺寸。它提供的產品或服務是邏輯的,具有獨特性、臨時性和週期性的特點。軟體開發不同於其他產品的製造,軟體過程更多的是設計過程(沒有製造過程)。另外,軟體開發不需要使用大量的物質資源,而主要是人力資源。並且,軟體開發的產品只是程式程式碼和技術檔案,並沒有其他的物質結果。基於上述特點,軟體專案管理與其他專案管理相比,有很大的獨特性。
從概念上講,軟體專案管理是為了使軟體專案能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動,軟體開發專案管理是以最合理、最有效、最經濟的手段保證軟體開發專案的成功完成。[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-957577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體開發:告別技術精英時代 工程化管理(2)(轉)
- 軟體開發:告別技術精英時代 工程化管理(3)(轉)
- 軟體開發:告別技術精英時代 工程化管理(4)(轉)
- 軟體開發:告別技術精英時代 工程化管理(5)(轉)
- 軟體開發:告別技術精英時代 工程化管理(6)(轉)
- 軟體技術的森林時代 (轉)
- 軟體的工程化管理(二)(轉)
- 出租房管理(1) - 開發背景 - 軟體開發環境 - 採用技術開發環境
- 軟體開發技術問答
- 軟體開發的管理和控制 (轉)
- 軟體開發的專案管理(轉)專案管理
- 小軟體專案開發的管理 (轉)
- 小軟體專案開發的管理(轉)
- 軟體開發中的專案管理(轉)專案管理
- 軟體開發專案的風險管理(轉)
- 技術輕工行業內軟體應用發展崛起的時代行業
- 行軟體開發中的專案管理 (轉)專案管理
- 管理軟體開發專案關鍵風險 (轉)
- 我是否適合學習軟體開發技術?
- iOS開發ARC記憶體管理技術要點iOS記憶體
- 2007年軟體開發技術預測集錦-Java,軟體開發,AjaxJava
- 軟體開發質量管理層次模型(二)(轉)模型
- Pi派幣挖礦系統開發軟體技術
- 雲算力礦機系統開發軟體技術
- 泰山眾籌智慧合約軟體開發技術方案
- 軟體開發中的資料庫測試技術資料庫
- 2006年軟體開發技術預測
- 應用版本控制軟體管理軟體開發
- 敏捷開發——網際網路時代的軟體開發方式敏捷
- 書評《自適應軟體開發》(一)--.com時代的遺物 (轉)
- 《書評《自適應軟體開發》(二)--.com時代的遺物 (轉)
- 不懂技術的管理者,給你們掃盲軟體開發的基本常識
- 軟體開發人員需要的不僅是技術,也不是文件,也不是管理,而是……
- 國內應用軟體開發管理的探討 (轉)
- 軟體開發進度管理的四個問題(轉)
- 軟體開發中專案管理的注意事項(轉)專案管理
- 軟體配置管理中的基線技術
- 雲技術是軟體技術,並非硬體技術