軟體專案的十大特殊之處-轉載
原文: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 忽略特殊檔案(轉載)
- LinkedHashMap的特殊之處HashMap
- 2020十大最佳專案管理軟體推薦專案管理
- 專案管理軟體之範圍管理專案管理
- 下載Project 2021專業版專案管理軟體Project專案管理
- 在建設專案中使用專案管理軟體有什麼好處?專案管理
- 工程建設專案管理軟體的之我見專案管理
- 處理需求變更:軟體專案管理的必備技能專案管理
- 20100420專案管理沙龍專題:軟體工程在軟體專案中的位置專案管理軟體工程
- 專案管理軟體的春天專案管理
- 關於Codigger之軟體專案體檢Software Project HealthCheckProject
- 軟體專案管理 8.4.軟體專案質量計劃專案管理
- 《Gartner十大安全專案之“基於風險的弱點管理專案”》
- 軟體專案管理 9.2.軟體專案配置管理過程專案管理
- 企業基於雲的專案管理軟體有什麼好處?專案管理
- 專案管理軟體給企業帶來了哪些好處專案管理
- 專案管理軟體有哪些?多個行業專案管理軟體大全專案管理行業
- 總體設計(軟體專案)
- 如何為專案選擇合適的專案管理軟體專案管理
- 專案管理軟體的應用分析專案管理
- 專案管理軟體中日曆的作用專案管理
- 軟體開發專案文件系列之十五如何撰寫專案結項報告
- 比較專案計劃軟體或專案排程軟體哪個好用?
- OKR管理體系持續落地,飛書OKR有何特殊之處?OKR
- 在大型軟體專案中如何處理錯誤和異常
- 專案管理軟體推薦專案管理
- 專案管理軟體有哪些?專案管理
- 國內外幾個專案管理軟體的比較之我見專案管理
- (轉載)手工搭建webpack+vue專案WebVue
- 專案與專案群管理:主要區別和相似之處
- 開源的NAS軟體專案儲存
- OmniPlan for mac(強大的專案管理軟體)Mac專案管理
- 使用專案管理軟體的必要性專案管理
- 最好的且免費專案管理軟體專案管理
- 使用distillery 構建專業的 phoenix 專案軟體包
- 專案範圍管理的最佳實踐:避免軟體專案膨脹
- 企業專案經理用的專案管理軟體怎麼選專案管理
- 軟體專案管理 7.5.專案進度模型(SPSP)專案管理模型
- 軟體專案管理 4.1.軟體需求管理過程專案管理