




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、減低開發過程中的變動依賴項目范圍管理作者:黃紹良來源:希賽網摘要:在上世紀70 年代后期,系統分析師、系統設計師,和其他從事軟件工程的專業人員一直爭取希望能夠有一個國際公認的資格,類似會計師、律師、建筑師等專業的地位,但到了80 年代中期,這個議題已經不再存在,主要的原因是軟件工程內包含太多專業,除了軟件和硬件兩大類之外,還漸漸包括網絡,通信,數據庫等多方面。在上世紀70 年代后期,系統分析師、系統設計師,和其他從事軟件工程的專業人員一直爭取希望能夠有一個國際公認的資格,類似會計師、律師、建筑師等專業的地位,但到了80 年代中期,這個議題已經不再存在,主要的原因是軟件工程內包含太多專業,除了軟
2、件和硬件兩大類之外,還漸漸包括網絡,通信,數據庫等多方面。計算機從業人員開始體會及認識到本身的工作與會計師、律師、建筑師等專業資格可以在考核及認證后授予一定的權責,和建立一套環球衡量標準的模式是不一樣的。其實軟件工程比較像藝術家,大部份的軟件是模仿別人的成果加以個別的應用需求進行個性化的結果,把思維轉變成交付成果的一門專業。過去數年常聽到一些軟件從業人員的投訴包括:“他們(客戶)基本上不知道自己的需求,怎么做他們都不滿意,功能不斷增加,如何能夠完成他們的系統建設?”“他們(客戶)上周說要這個功能,今天說要這個功能,為什么不全告訴我們,讓我們可以不用在開發過程中不斷更改!”一些類似的投訴只說明我
3、們的軟件從業人員基本上沒有明白到范圍建設的重要性,而且未能在項目啟動前把項目范圍建立起來。范圍與功能的分別在“如何把握不存在的需求”一文中,已經說明范圍是有效管理需求變更的唯一方法。有明確的項目范圍,我們才能夠學習及分析范圍內的作業流程,建立系統的功能需求,并在開發過程中當客戶要求變動的時候有效管理我們的工作范圍,才能夠有機會按照預算在指定的時間內完成項目的交付。軟件開發項目從開始到今天,一直以來客戶都不能夠告訴我們需要哪些功能,他們只能告訴我們系統需要完成哪些目標。回顧“如何把握不存在的需求”一文中的第一個例子,20世紀70 年代的客戶需要把庫存管理進行自動化,收到的指示會像下例:“建立一套
4、庫存管理系統取代目前的人工作業流程”。這一句指示是唯一任務說明。系統分析員在接受這個任務后第一個工作是建立項目的Term of Reference (ToR)。系統分析員會進行初步調查,通過簡單的訪談,與庫存部門負責人明確理解他們工作的開始點和終結點,得出的結果可能像下例:“從貨品(包括原材料,半成品及制成品)進入倉庫開始,到貨品因應生產或銷售申領要求離開倉庫為止,其中包括貨品存入量的統計,存放位置記錄,總庫存量統計,申領數目,檢貨,提取貨品,準備出倉,最后更新貨品存量統計等工作過程”。這是所謂的Term of Reference,也是我們今天所認識的項目范圍。在用戶及管理層認同上述的ToR
5、后,這個項目的負責人便需要估計需要對多少人進行訪談,需要多久時間進行訪談,需要多少時間對訪談結果進行分析,多少時間建立項目需求,編寫需求說明書,需要多久進行系統設計,多少程序員及多少時間進行程序編寫,如何進行測試,編寫系統文檔,編寫用戶手冊,什么時候在倉庫安裝終端,如何連接主機,什么時候進行用戶培訓,如何讓系統取代目前的人工作業等等有關工作計劃及時間表。在系統分析員完成訪談后,便需要依據訪談結果進行分析,理解什么時候知道有貨品進入倉庫,什么時候更新有關數據,如何更新,采用哪些表單,倉庫人員如何決定貨品應該存放在哪里,如何記錄有關信息,如何知道需要檢貨,什么時候進行數據更新,如何分別哪些貨品要去
6、生產部門或者直接送到客戶指定地點等等信息。這些信息便成為系統在不同過程中所需的功能需求。從上述的開發過程說明中可以體現功能需求并不是客戶或用戶提供,是系統分析員在理解目前的人工作業后分析出來的結果。在系統移交到倉庫中運行前,倉庫中的工作人員需要對系統的操作進行學習及測試。要知道當時倉庫的工作人員并不是針對系統的功能進行測試,是對系統能否滿足他們的工作過程進行測試。基于這批工作人員對人于工作業的過程十分理解,如果系統未能提供一些他們操作過程中的日常工作,他們會要求技術人員對系統進行修改。這個過程讓我們誤會用戶是對功能需求進行測試,這個誤會一直到今天讓我們把系統開發的焦點錯誤地放在功能上,而不是系
7、統的最終交付上。而系統的最終交付是否能夠滿足ToR 的要求是當時項目成敗的主要指標。系統集成的范圍及需求20世紀70 年代的項目多以部門單獨運營為主,自動化的目的是提升部門本身的運營效率進行系統建設。到80 年代,企業高層開始體會企業中的數據分散在不同的部門或子公司的部門中。哪些數據是最新的?哪些是最準確的?應該采用哪個部門的數據做決定呢?如何整合這些數據,如何獲得即時的數據,如何利用當時的區際網絡(AreaNetwork),客戶/服務端(Client/Server),遙程存取(RemoteAccess)數據庫(Data Base)等科技來更有效提升企業的運營效率呢?這些問題提供軟件開發項目進
8、行系統集成及數據分享的工作,最終的目的還是環繞原來自動化提升企業(不單是70 年代提升部門)的整體運營效率為主要目標。這個時候,簡單的ToR 已經不能夠說明項目的范圍,但可以采用多個ToR 來加以說明。工作說明(Statement of Work)在這個時候誕生,開始取代ToR 成為項目范圍的主要工具。一個項目可能有多個Statement of Work(SOW)才能夠有效說明項目包含的范圍。例如要建立一個 “訂單管理系統(Order Processing System)”的時候,這個系統可能包括銷售部門,庫存管理部門,會計部門,運輸部門,生產部門等,這些部門也可能分布在不同的地區。項目負責人
9、首要是建立這個“訂單管理系統”的范圍,保證能夠提供訂單管理的的全部工作,所以會首先進行初步調查,理解一張訂單從不同業務點如何把訂單傳送回銷售部門,銷售部門如何把訂單信息轉進倉庫,如何結合現有庫存管理系統,如何通知會計部門有關銷售,如何通知運輸部門需要送貨,或者如何通知生產部門需要進行生產等內容。在與個別部門負責人完成初步訪談后會,理解訂單在各個部門的進入點和輸出點后才建立這個項目的工作說明(SOWs)如下:SOW1: 連接業務點各終端到銷售系統,建立當天的銷售記錄。SOW2: 連接銷售系統與庫存管理系統,容許銷售部門查詢倉庫管理系統中有關貨品庫存量。SOW3: 容許銷售部門在庫存系統中預訂貨品
10、數量以便運送到客戶指定地點。SOW4: 容許銷售部門指示庫存工作人員進行檢貨,并通知運輸部門有關訂單的運送要求。SOW5: 在銷售部門計算有關訂單的總金額,運送費及保險費用,并生成發票送交客戶。SOW6: 自動更新倉庫貨品儲存量,如有關貨品低于最低數時,建立貨品生產通知單并傳送到生產規劃部。SOW7: 自動通知業務點有關訂單發貨日期。SOW8: 有關發票內容自動轉發會計部門,建立有關應收賬款記錄。SOW 并不是我們所說的系統功能,是在項目完結后這個系統所應該提供的最終目的。以上的SOW 說明了這個項目的范圍,包括的有關部門及現有系統的連接。在客戶確認后每一個SOW 將當作一個ToR處理,這個T
11、oR 便成為整個系統建設項目中的一個子項目(也是子項目名稱的起源)。如何才知道我們建立的SOW 已經包含整個系統的各個部門,如何保證這個范圍能夠有效地提供一套“訂單管理”的系統,這需要項目負責人對行業有一定的理解,同時為保證開發過程中能夠控制范圍的變動,在有關文檔中明確說明SOW 所包含或不包含那些工作。利用“包含(Inclusive)”和“不包含(Exclusive)”的說明來牢牢地建立一個固定項目范圍。在項目規劃完成后,系統分析師便按照被分派的SOW 采用ToR 的調查方式進行深入調查,對有關工作進行訪談,理解有關SOW 的工作流程后對有關流程進行分析,并找尋初步的解決方案。如何利用科技取
12、代電話咨詢庫存量,利用科技取代傳真把訂單從業務部門傳送回銷售部門,或取代傳真送貨通知單到運輸部門,取代內部文件傳送發票副本到會計部門等等工作,什么時候需要進行數據收集,需要進行數據更新,需要打印發票或其它有關報告等工作便成為項目的功能需求。如果在開發過程中,用戶認為需要貨品在運送完畢后,收貨單應該自動確認有關應收賬款的作業流程,或者需要增加萬一退貨后的訂單處理操作流程時,我們便可以依據原SOW 來控制項目的范圍變動,因為這兩項操作流程并沒有在項目的SOW 中說明。如果用戶認為一定需要增加這兩個操作流程,那么項目的范圍會變動,帶出額外的工作量,額外的開發時間,額外的投資預算,修正系統的架構,增加
13、軟件模塊,追加人力資源等等因應的后果。有能力的項目負責人會盡量說服客戶把有關工作在目前的系統建設完成后才進行處理,避免延誤項目的進度和交付日期。這個系統集成的項目再一次說明如何從項目范圍中建立有關功能需求。建立功能需求是軟件從業人員的責任,不是客戶或用戶能夠提供的內容。在完成人工操作過程分析訂立系統的功能需求后,更要進一步考慮如何讓科技提升企業的運營效率。也許在設計過程中發現當時的貨品運送流程是從倉庫直接送到銷售部門,再由銷售部門安排貨品連同發票一起送到客戶的指定地點,設計師可能考慮是否可以直接從倉庫把貨品運送到客戶指定地點,銷售部門另外把有關發票直接送交客戶?這個改變會為企業帶來多大效率改善
14、?有了確實的構思后便需要說服用戶這個系統如何能夠更有效地完成有關貨品運送的過程,要說服用戶這些功能可以提升貨品運送的效率和客戶滿意度,讓銷售部門和運輸部門可以體會未來的工作流程將有所改變。決定最終解決方案及用戶認可后依據分析師的建議建立有關系統的功能,交由系統設計師對有關功能進行模塊組合及邏輯設計。到這里,我們可以清楚知道系統建設不是依據客戶的需求而建設,是依據如何達到項目最終目的和項目的最終交付而建設。需求不是客戶或用戶提供,是我們作為一個專業人員依據我們要開發的項目目標(如何達到)和項目的最終交付而制定出來的結果。沒有項目范圍,我們便不能建立有關系統的功能。沒有項目范圍,我們便不能控制任務
15、的工作量,不能預估完成日期并按時完成。從上述兩個例子中可以看到,功能需求與業務流程直接相連的,理解了業務流程,便能夠建立有關的功能需求,利用科技完成有關工作,提升運營效率,減低業務部門有關工作量和工作人員的需求。軟件工匠和軟件工程師如果我們需要客戶提供有關功能或需求才能夠完成軟件開發,那么我們便淪為軟件工匠。一個工匠,如木匠、泥水匠等都是依據客戶的需求去完成任務的技術人員,這個工匠可以把工藝做到很好,很精,很細膩,成為一個很優秀的木工或泥水工,但永遠不會成為大師,因為他們沒有創思,沒有溝通能力去說服客戶如何能夠更有效地達到客戶的投資目的。希賽顧問團首席顧問張友生博士認為,一個專業的技術人員需要
16、理解本身的專業能力,理解客戶投資的最終目的,理解如何更有效地達到客戶的最終目標而建議客戶應該如何進行建設或改良,才有可能成為這個行業的大師。目前我國充斥著很多軟件工匠,如果我們要把自己打造成為一個軟件工程師,我們便需要放棄以前的思維,不用老是抱怨“客戶不明確本身的需求,所以我們不能夠完成項目的交付”。我們需要思考如何才能夠把握項目的最終目標,建立系統的功能需求。從20世紀90 年代中期開始,計算機在企業中已經從自動化的時代進入信息化的時代,從科技的應用提升企業的運營效率,轉變成科技應用所能帶出來的價值,讓企業能夠減低運營成本,改善產品,提供增值服務,開拓市場,增加利潤等成為軟件開發的主要目標。
17、客戶在決定投資一套軟件系統建設的項目前,本身很明確知道希望這套系統能夠帶來什么價值,但對于如何能夠利用科技來達到目標則一概不清楚。希望透過軟件工程師的專業知識來告訴他們如何才能夠滿足他們的愿景,客戶希望透過人工智能(AI)去理解顧客的采購習慣,背景,行為和對現有產品的反饋對產品進行改良;他們希望透過企業資源規劃(ERP)來減低生產或運營成本,提升資源對企業的價值;希望透過客戶關系管理(CRM)軟件的應用來保留顧客對企業品牌的忠誠,增加顧客對企業的滿意度。這些都是透過科技應用所希望帶出來的普遍價值和投資愿景。但技術人員仍然停留在科技應用的層面上,希望客戶能夠告訴他們需要那些功能來達到這個愿景,讓
18、他們能夠利用技術完成客戶的系統建設。這些構思型或愿景型的項目如何進行交付,是上世紀末期開始對軟件行業的一大挑戰。在這種情況下,技術人員如何能夠滿足客戶的愿景,客戶如何能夠告訴技術人員有關這個投資項目的功能需求,變成項目在實施過程中不斷進行修改,不斷延誤的主要原因。如何解決這個困境是當時急迫需要處理的難題。所以計算機行業新增加了一個崗位,叫做業務分析師(Business Analyst 或簡稱BA),業務分析師應該有深厚的行業知識,透過BA對行業的理解,對愿景項目進行流程分析及建設,然后讓技術人員對有關流程進行分析,建立功能需求,設計有關模塊,為這些構思型或愿景型項目提供所需的基本信息。但可惜行
19、業知識與技術知識兩者還是有相當大的距離,BA 未能發揮應有的效益。美國PMI 也是在這個時候訂立項目贊助人(Sponsor)及項目干系人(Stakeholders)的角色,在項目開發過程中,項目贊助人需要確認BA 的流程建議,需要取人系統建設每一個階段的交付。項目干系人需要確認流程及系統功能不會影響部門的正常操作,兩者要確保整個項目能夠達到預期的交付愿景和目的。應用系統。希賽顧問團需求工程首席專家徐鋒認為,這些工具和方法誤導了這個行業的技術人員,讓他們在項目啟動的時候便把重心放在把握功能需求,而不是建立項目范圍,直到今天,很多軟件工匠在項目起動時便盡量希望能夠把握項目的功能需求,一些學者更把如
20、何把握需求當作教育重點來讓我們不斷培育軟件工匠。讓技術人員忘記了建立范圍的重要性,讓技術人員未能發揮本身的智慧,為客戶建立所需的解決方案,讓這些工匠不能夠有效地考慮如何利用科技來提供客戶期盼的價值,發揮本身的創作力和創思。智能讓技術人員不斷跟著客戶后追尋那些不存在的項目需求。軟件工程在21 世紀的挑戰在20世紀90 年代中期,互聯網與Windows開始進入個人及企業的空間。當時,筆者被任命為澳大利亞墨爾本市的一家百貨公司建立一套網絡銷售系統。當時我對互聯網的認識相當膚淺,如何完成這個任務對我及整個交付團隊是一個考驗。我花費大量精力及時間與客戶溝通,希望理解他們建立這套系統的背后目的,在過程中我們共同建立了一套假設的業務流程,因為雙方都不清楚顧客在網絡的另一端在過程中會有些什么反應,所以我們依據不同的反應建立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年環境科學綜合素質考試題及答案
- it工程師面試題簡答題及答案
- 2025年物流管理與供應鏈考試試題及答案
- 素質能力測試題庫及答案
- java面試題及答案練習軟件
- 2025年建筑工程管理相關知識考試試題及答案
- 軟件設計師考試時間管理試題及答案
- 軟件設計師考試學習資源與試題答案
- 項目管理師的跨部門協作技巧試題及答案
- 西方政治參與模式的革新試題及答案
- 中考數學-規律探究型問題(2種命題預測+17種題型合集+專題訓練)(含答案)
- 建筑與環境設計專題知到智慧樹章節測試課后答案2024年秋寧夏大學
- 2025年全球及中國電池包用防爆閥行業頭部企業市場占有率及排名調研報告
- 遼寧省沈陽126中學2025屆中考生物考前最后一卷含解析
- 4S店燒烤活動方案
- 《大氣輻射學》課件
- 新課標(水平三)體育與健康《籃球》大單元教學計劃及配套教案(18課時)
- 產品數字護照(DPP)技術發展報告(2023年)
- 2025高考數學專項復習第三章 函數與基本初等函數第1節 函數的概念及其表示含答案
- 2023-2024學年廣東省深圳市深中共同體聯考八年級(下)期中地理試卷
- 大學生創新創業基礎(創新創業課程)完整全套教學課件
評論
0/150
提交評論