close

IT人甘苦談:用文件協助軟體專案管理的祕訣

文/林郁翔 2009-05-29

原文轉自:http://www.ithome.com.tw/itadm/article.php?c=55205

經歷多項大型專案的羅珮尹認為,臺灣的程式開發人員素質都不差,大部分人缺乏文件製作規範與養成,特別是在上游工程的分析文件。 


IT人物─羅珮尹

NEC系統事業群企業System部企業二課主任


●工作內容:CRM系統、會員紅利集點系統、財務系統、零售業ERP需求分析、系統規畫與專案管理。 
●學經歷:國際商業專科學校觀光科畢業,曾任柳沼工業成本會計人員,後擔任NEC系統導入需求分析專員。曾參與統一超商二代POS系統會計系統規畫及開發,夢時代、阪急百貨會員紅利集點系統,以及CRM系統整體規畫與建置。
 

NEC系統事業群企業System部企業二課主任羅珮尹累積多種商業實務經驗,以需求分析的角色進入軟體工程的協同開發環境,並落實嚴謹文件製作態度,完成多項大型專案 

曾經參與統一超商二代POS系統開發,NEC系統事業群企業System部企業二課主任羅珮尹,目前正負責G-STORE自助加油站系統規畫與專案管理。在軟體專案開發工作十多年,她最初接觸這個領域的機緣相當特別,是先擔任需求訪談專員,而非像多數軟體專案經理人,是由程式開發工作起家的。 

歷經各種職務歷練,累積專案開發能力 

羅珮尹最初踏入開發這個新世界,是由需求分析等上游工程開始的,這發展的途徑很不一樣。事實上,當時剛從學校畢業的她,先在柳沼工業擔任廠長助理,而該工廠主要的產品是馬達外殼。在柳沼,所面對的問題都是工廠第一線的狀況,後來適逢進出口業務的人員請產假,她轉任該工作,等原來負責的人員回到工作崗位後,羅珮尹就被調到會計部門,擔任成本分析的工作。 

因緣際會在製造業轉了一圈,讓羅珮尹接觸該行業的各部門,因此了解許多整體流程,而擔任會計職務,也是她初次進入商務電腦系統世界的契機。羅珮尹說,當時擔任會計時,公司引進NEC的N5200主機,透過NEC工程師指導,她就開始利用系統上的試算表工具製作帳務,以往人工計算要好幾天,改由電腦計算當天就能完成了,也因此開始對電腦系統產生興趣。 

在柳沼任職2年後,由於對於製造業的商務流程頗為熟悉,羅珮尹就憑這樣的經歷進入一家軟體公司,主要的工作,就是到第一線與廠商訪談,以了解客戶對於系統的功能需求,輔助系統開發人員製作系統,這也是她接觸軟體開發的起點。之後經由朋友介紹,進入NEC任職訪談專員。 

進入NEC後,羅珮尹訪談之餘也會接觸系統開發,她此時才開始真正在實務運用上撰寫程式,當時使用的程式語言為COBOL,但這對她來說並不特別陌生,因為當時的商科均有開設相關學程,所以早在專科4、5年級時,她就已經學會這套程式語言。羅珮尹回憶,當時長官交付給她的第一支程式,是要具備多行建檔的功能,還要支援跳頁。開發這支程式對於COBOL來說,難度相當高,羅珮尹說,生平第一支程式,花了她整整兩個星期,期間看書、請教其他同事,並找其他功能相似的程式來參考,好不容易才完成。此後她撰寫程式的能力就大幅提升,接手功能較單純的程式,就覺得難度不高,有時候一天甚至可以完成3支基本維護的程式。 

雖然自己是先接觸上游工程,之後才回頭撰寫程式,羅珮尹認為專案開發最好還是從程式撰寫開始,畢竟程式撰寫才是訓練系統開發邏輯的不二途徑,有了清楚的邏輯之後,才能建構程式規畫。對於想投入專案開發的資訊人,羅珮尹建議用約1到2年的時間寫程式,且期間要一直投入專案程式開發,久而久之邏輯能力就會提升。她覺得,程式開發其實沒什麼訣竅,重點就是細心、耐心與嚴謹,而這三點不論從基礎程式開發,到專案上游的需求分析工程都一樣重要。 

用書面文件反覆確認需求,避免事後功能變更頻繁 

臺灣的程式開發人員素質都不差,但經歷多項大型專案的羅珮尹認為,大部分人缺乏文件製作規範與養成,特別是在上游工程的分析文件。在開發POS系統時,由於跟其他外包廠商合作,她發現他們大多缺乏製作完整說明文件的習慣,而且在跟客戶確認需求時,工程師可能透過一通電話,聽了客戶描述的狀況,就開始著手撰寫程式了,而沒有規格文件與客戶進一步確認,等到彼此再會談時,大概都是功能開發完成,確認驗收的階段,而客戶也都是在這個時候,才發現寫好的系統功能與先前的需求認定之間,有很大的落差。 

這種情況下產出的系統,常常會跟對方想要的式樣不同,也因此客戶都會提出系統功能調整。而在這時候修改程式,牽涉到的關聯問題,如函式呼叫或資料庫連結等,比初始規畫時還複雜,往往改了又改,非但沒有符合客戶需求,還會因此產生許多Bug。 

在完成一開始的需求分析後,就應該要依照其結構與功能開發,要避免在系統開發過程中調整需求。羅珮尹說,在了解需求時,應該要反覆確認,並以書面文件記錄會議過程或協商內容,才能確認業務流程的正確性,並確定系統開發的範圍,以免認知上有灰色地帶。 


留下詳細文件供後人維護,是每個開發團隊應負起的責任 

除了在需求確認要有詳細文件記載外,程式開發過程還需要在每個環節,充分製作文件記錄,如編撰機能設計書,確認系統整體結構呈現。如果在開發過程中,有詳實的結構文件輔助,就能於功能調整中,找出各個程式間的關聯,日後修改時就可以針對這些異動一起調整,減少程式連帶產生的問題。 

在系統開發過程中,若是沒有詳細結構文件,要修改功能非常麻煩,羅珮尹在承接某個POS系統時,就曾經遇到類似情況。當時廠商要將自行開發的系統委外管理,並於系統上增加一些新功能,不過由於先前的開發團隊,並沒有留下相關文件,只有原始程式碼,而且當時的開發人員們皆已離職。 

面對這種狀況,羅珮尹只能先讓團隊藉由程式碼回推原本系統架構,然後於新功能開發出來後,逐一與每支程式測試,花了將近3個月才將系統調整至最佳化,而整個系統全面穩定運作,花費約1年的時間。 

在每個開發環節製作完善開發文件,並與客戶重覆確認,對於系統問題釐清有很大的幫助。有時候系統運作出了狀況,若從技術層面來看,其實是個小問題,只要稍稍調整就能修正,但這個問題可能會在商務系統運作時,產生不可預期的鉅量損失。羅珮尹說,如果軟體開發過程不夠嚴謹,就很容易發生上述情況,當系統出現這類狀況時,客戶會完全否定之前團隊付出的所有努力,若在每個開發環節上,都有充分的文件資料可參考,在內部驗收前就能及早發現這些小疏失,以免讓小問題讓開發人員的苦勞付諸流水。文⊙林郁翔 


用專案製作的精神帶小孩 

和許多職業婦女一樣,身為兩個孩子的媽,羅珮尹也曾經為了照顧小孩,離開職場成為全職家庭主婦。那段期間雖然已經沒有接觸資訊相關活動,但她並沒有中斷自我充實,羅珮尹在照顧小孩期間,依然會看看商務雜誌與IT雜誌,避免與職場環境脫節。此外,她還接觸許多幼兒教育書籍,並將這些方法實踐到自己的小孩身上。羅珮尹開玩笑的說,帶小孩就好像一個專案製作,你要花很多時間規畫如何教育他,只不過這個專案相對於系統開發,執行時間長了許多。 

充實的主婦生活長達6年,她後來又回到專案開發的原有崗位上,這點和許多婦女離開職場,就此完全脫節的情況很不一樣。羅珮尹說,是因為適逢系統開發正值轉換期,當時正好處於封閉式系統及COBOL,轉換至VB的時期,對於許多開發人員來說,剛好是個學習新工具的時機,因此降低重返職場的差異,讓她順利二度就業。文⊙林郁翔 

公司檔案 
台灣NEC 

●網址:www.nec.com.tw 
●成立時間:1982年 
●營業項目:電腦系統與電信系統相關設備銷售與維護

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 unix 的頭像
    unix

    程式開發ㄅㄆㄇ -歡迎光臨 Inuiüni 幼稚園

    unix 發表在 痞客邦 留言(0) 人氣()