軟體專案的十大特殊之處-轉載
原文:http://www.mypm.net/journal/pmwt/20031112/Notices&papers&Reports_1.htm
MW: 人們自願花時間完成的記錄他們實踐經驗的文件,往往是非常有價值的。注意,我強調的是“實踐”。
JB: 軟體是一種與眾不同的東西。軟體和其他種類專案的成果最大的區別是:它不是物理的。軟體由想法、設計、指令和公式構成。創造軟體的過程幾乎都是感知活動。我們只能從程式碼檔案中看到並衡量它(用一系列機器能夠讀懂的隨機符號來代表相對真實的東西,這多驚奇啊)。他們通過另外一種方式代替著現實世界。但是,軟體只有在看起來象某些真實的東西時才有價值,即使它僅僅只是一條在電腦螢幕上的彩色波浪線那樣真實。軟體的獨特挑戰之一就是維持思想存在與現實存在的聯絡。
MW: 是的,我們都願意認為自己獨有的特性是“與眾不同”。事實上,在很多方面,它們確實與眾不同的,否則它們就不會被稱為“特性”。但是,對於專案經理來說,相對於其他型別的專案例如JIM提到的那些,軟體專案真的那麼與眾不同嗎?讓我們更深入的探討一番。
人們容易掉進的第一個陷阱就是他們沒有區分技術的管理和專案進度的管理。其實,管理如何放置水泥板和在軟體開發中如何在計算機螢幕上放置介面模組是有很大的不同。但是就專案範圍、質量、時間、費用、風險等來說,這些不同對專案的管理有多大的影響呢?你可以看到兩者,即使你可能無法看到兩者後面隱藏的技術過程(從來有誰坐在那裡看著水泥如何硬化呢?)。反過來說,即使確實存在差別,但是這些是同所使用技術的複雜性和工程所需的人員相關的。比如,當軟體開發是 “最新的、技術先進的”時候,人們就認為構架已經建好了。但是,從這方面說,這不是獨特的。
下面讓我們對Jim的觀點逐一探討。
JB:1-通常,軟體專案的成果不像其他專案那樣可見或者容易理解。由於你不能像踢一捆磚頭那處理一堆軟體,你必須想方設法去確定軟體的存在。在軟體專案中最困難的工作通常是進度跟蹤。有些大型軟體專案的失敗是由於初期工作比如設計不是按照預想的方式進行。比起軟體設計,我們更清楚一個工廠的藍圖是否正確、完備和有用甚至時髦。一些所謂的脆弱專案的失敗是因為它們沒有一個倉庫或者臨時湊合的東西。軟體專案的生產透明性需要我們擁有與建築專案所沒有的兩樣東西。第一,我們需要不可見的思維的替代品,然後,需要對替代品的狀態進行監控。也就是說,使進行中的東西一致並可見。為每一個子項設定一個客戶,並檢查每塊“磚”都滿足操作標準(Donesss?)。增量提交和早期測試可以加強對專案進行過程中的模組和藍圖狀態的可見性。
MW: 恩,第一部分都是關於技術而不是關於專案管理的。如果我們將軟體專案同建築專案進行比較,也是出於腦力工作的需要而不是勞動的需要。而且,人的管理需要使用特別的方法。但是,我要說,對於研發而言兩者都是同樣重要的。
JB: 2 – 與其它專案相比,軟體專案的最終狀態通常更具有不確定性。有時候我們對我們想要的東西最多有個朦朧的概念。有時候,我們的概念很清楚但是我們忘記告訴其它人(通常是隱含的需求)。在專案進行的過程中我們經常改變主意。因為軟體是一個相對較新的領域,軟體專案幾乎總包含著新藝術
- 不可見性(不夠直接,不易感知進度,不易監控)
- 不確定性(範圍不確定,目標模糊)
- 多樣性(很難有通用方法和最佳實踐可複製)
- 在修訂中計劃(漸進的計劃)
- 豐富多彩的開發方法(條條大路通羅馬)
- 額外的工作(方法,工具和技術)
- 沒有純粹的軟體專案(不要忘記了目標)
- 積累和運用(技術積累和複用)
- 工具的製作和改造(方法,工具和技術)
- 聘用軟體專案經理
MW: 人們自願花時間完成的記錄他們實踐經驗的文件,往往是非常有價值的。注意,我強調的是“實踐”。
JB: 軟體是一種與眾不同的東西。軟體和其他種類專案的成果最大的區別是:它不是物理的。軟體由想法、設計、指令和公式構成。創造軟體的過程幾乎都是感知活動。我們只能從程式碼檔案中看到並衡量它(用一系列機器能夠讀懂的隨機符號來代表相對真實的東西,這多驚奇啊)。他們通過另外一種方式代替著現實世界。但是,軟體只有在看起來象某些真實的東西時才有價值,即使它僅僅只是一條在電腦螢幕上的彩色波浪線那樣真實。軟體的獨特挑戰之一就是維持思想存在與現實存在的聯絡。
MW: 是的,我們都願意認為自己獨有的特性是“與眾不同”。事實上,在很多方面,它們確實與眾不同的,否則它們就不會被稱為“特性”。但是,對於專案經理來說,相對於其他型別的專案例如JIM提到的那些,軟體專案真的那麼與眾不同嗎?讓我們更深入的探討一番。
人們容易掉進的第一個陷阱就是他們沒有區分技術的管理和專案進度的管理。其實,管理如何放置水泥板和在軟體開發中如何在計算機螢幕上放置介面模組是有很大的不同。但是就專案範圍、質量、時間、費用、風險等來說,這些不同對專案的管理有多大的影響呢?你可以看到兩者,即使你可能無法看到兩者後面隱藏的技術過程(從來有誰坐在那裡看著水泥如何硬化呢?)。反過來說,即使確實存在差別,但是這些是同所使用技術的複雜性和工程所需的人員相關的。比如,當軟體開發是 “最新的、技術先進的”時候,人們就認為構架已經建好了。但是,從這方面說,這不是獨特的。
下面讓我們對Jim的觀點逐一探討。
JB:1-通常,軟體專案的成果不像其他專案那樣可見或者容易理解。由於你不能像踢一捆磚頭那處理一堆軟體,你必須想方設法去確定軟體的存在。在軟體專案中最困難的工作通常是進度跟蹤。有些大型軟體專案的失敗是由於初期工作比如設計不是按照預想的方式進行。比起軟體設計,我們更清楚一個工廠的藍圖是否正確、完備和有用甚至時髦。一些所謂的脆弱專案的失敗是因為它們沒有一個倉庫或者臨時湊合的東西。軟體專案的生產透明性需要我們擁有與建築專案所沒有的兩樣東西。第一,我們需要不可見的思維的替代品,然後,需要對替代品的狀態進行監控。也就是說,使進行中的東西一致並可見。為每一個子項設定一個客戶,並檢查每塊“磚”都滿足操作標準(Donesss?)。增量提交和早期測試可以加強對專案進行過程中的模組和藍圖狀態的可見性。
MW: 恩,第一部分都是關於技術而不是關於專案管理的。如果我們將軟體專案同建築專案進行比較,也是出於腦力工作的需要而不是勞動的需要。而且,人的管理需要使用特別的方法。但是,我要說,對於研發而言兩者都是同樣重要的。
JB: 2 – 與其它專案相比,軟體專案的最終狀態通常更具有不確定性。有時候我們對我們想要的東西最多有個朦朧的概念。有時候,我們的概念很清楚但是我們忘記告訴其它人(通常是隱含的需求)。在專案進行的過程中我們經常改變主意。因為軟體是一個相對較新的領域,軟體專案幾乎總包含著新藝術
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15027599/viewspace-421173/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體專案的“管理之癢”(轉)
- 軟體專案的過程評審(轉載)
- 小軟體專案的管理(經典轉載)
- 軟體專案管理之系統思考(轉)專案管理
- 專案外包軟體專案管理之我見(轉)專案管理
- 忽略特殊檔案(轉載)
- 軟體專案中測試人員的考核(轉載)
- 軟體專案的“管理之癢”
- 軟體專案成功的要素(轉)
- 解析軟體專案管理(轉)專案管理
- 軟體專案管理心得(轉)專案管理
- 軟體開發的專案管理(轉)專案管理
- 淺談專案管理軟體(轉)專案管理
- 軟體專案質量管理(轉)
- 專案管理與軟體工程(轉)專案管理軟體工程
- 小軟體專案開發的管理 (轉)
- 對軟體專案管理的探討 (轉)專案管理
- 小軟體專案開發的管理(轉)
- 軟體開發中的專案管理(轉)專案管理
- 軟體專案管理的實質(一)(轉)專案管理
- 軟體專案管理的實質(三)(轉)專案管理
- 軟體專案管理中的“敏捷流程”(轉)專案管理敏捷
- 軟體工程專案管理的任務(轉)軟體工程專案管理
- 對軟體專案管理的探討(轉)專案管理
- 軟體開發專案的風險管理(轉)
- 軟體專案計劃的制定方法(轉)
- 軟體架構師之特殊視角架構
- 管理研發專案的關鍵之處(轉)
- 共享軟體的十大殺手 (轉)
- 企業業務軟體工程專案和商業軟體產品專案上專案需求管理的不同(轉)軟體工程
- 專案管理軟體之範圍管理專案管理
- 軟體專案管理之文件化程式專案管理
- 軟體工程專案之攝影App軟體工程APP
- 處理檔名內含有特殊字元的檔案 (轉)字元
- 軟體專案管理的質量保證(轉)專案管理
- 行軟體開發中的專案管理 (轉)專案管理
- 做好軟體專案管理的要點分析(轉)專案管理
- 軟體專案管理的10個誤區 (轉)專案管理