關鍵字:開發環境
軟件開發可以分為「前端」與「后端」兩部分!盖岸恕怪傅氖需求、分析、設計、測試等工作階段,「后端」則指貫穿整個開發流程的管理工作!盖岸恕购苤匾,因為由它們負責制造產品,為公司帶來營收;「后端」雖然不屬于生產性的工作,但它的重要性也不容小覷,因為它可以避免「前端」白費功夫、白花時間、或白白浪費大把銀子。 簡言之,后端管理的主要目的,就是為了建構一個確保前端順利運作、使錯誤減到最低的開發環境。這樣的環境可由以下這些條件構成。
版本管理
許多人可能都經歷過這樣的情形:在產品開發過程中會產生各種版本,而且這些版本不僅出現在最終產品,也會在各種中間型、模塊型、子系統型產品中不斷出現;測試人員明明測了 C 系統的 0.112 版,程序人員卻去修改 D 系統的 0.121 版,結果大家雞同鴨講、越改越糟。
此外,即使彼此溝通的版本正確,也不代表修改正確。因為修改第 100 行的程序代碼之后,可能影響第 50 行的程序代碼運作;或是修正后的獨立組件 A 卻導致組件 B 的運作錯誤。而且,當系統越龐大、分工越細、開發小組數目越多時,這種版本亂象愈發惡化。
事實上,「版本混亂」可說是所有開發者最頭痛的問題,所以它是建構完美開發環境所必須解決的一大問題。解決這個問題只有兩種方法:一是非常地細心,二是利用自動化版本管理工具。你可以要求每位開發成員都「非常非常細心」,也可以藉助工具;何者比較可行,高下立見。
多點分工管理
由于系統運作環境日趨多元、項目計劃也趨復雜,軟件分工的情況十分常見,因此目前軟件項目大多由不同小組合作完成,所以完善的分工管理也是建構完美開發環境的要件之一。
除了同一地點的小組分工外,目前還有一個趨勢是「多點分布式分工」,就是切割一個項目成好幾部分,分別交給不同小組,在不同地點同時進行開發,最后予以整合。這種分工法的優點是可以培養不同專長的開發小組,避免 double efforts ,失去分工意義,同時也可以節省總開發成本。
「多點分工」的情形已經越來越普遍,如果再加上前述版本混亂的問題,可能會讓管理者一個頭兩個大。唯一的解決方法就是建立一套考慮到所有細節的「標準作業規范」,然后嚴格要求所有成員都切實遵循,沒有通融空間;蚴抢霉ぞ邔ⅰ笜藴首鳂I規范」定型為所有開發成員的「工作環境」,而且是處于自動執行的模式,如此一來,大家就會在潛移默化下自然而然的遵循了。
瑕疵追蹤管理
軟件開發過程中一定會出現各種小錯誤、 bug 及許多無解的問題等,這些東西通稱為瑕疵。我們無法要求瑕疵永遠不發生,而是應該做到追蹤管理瑕疵,使它不至于影響開發過程與結果。
追蹤瑕疵要從發現源頭開始。一般而言,瑕疵的「回報」可能來自各個地方,包括經程序人員發現、測試發現、客戶發現、最終使用者發現等。瑕疵從發現到最后修改完畢,可能透過許多工具或各種程序。
例如,客戶打電話抱怨一個程序問題,客服人員在「口頭」上了解與接收問題后,將狀況寫成一張「便條紙」交給客服經理,客服經理再用「文書軟件」把它整理成「文件」, Email 給項目經理,項目經理用「電子表格軟件」填好一份電子表格再交給分析人員 ….. 。以此類推,結果最終是完全變質。
這就是用不同平臺(紙張與計算機)與不同工具(文書、郵件與電子表格)處理同一件事的情形。它會造成兩個現象:一是很容易在轉換過程中出錯,因而制造出新的問題;二是這個過程根本無法有系統地加以追蹤與管理。這些都不合乎標準作業。
正確的方法應該是讓「瑕疵追蹤管理」成為貫穿開發流程的環節之一,而且它應該與開發工作處于相同平臺,并且可以自動比對與驗證產品。例如,當客服人員接收一個問題后,就應該進入上述系統,跟著開發流程一起走,才能進行追蹤與管理。
安全管理
在軟件開發過程中,每個階段都會制造各種類型的產出物(包括文件、程序代碼、執行檔、報告等),這些產出物有不同層級的保密或安全顧慮,所以需要嚴密的管理。
安全管理分成內部層級管理與外部層級管理兩種。內部管理主要針對不同成員與不同數據的存取權限進行規范與管理,此處應該留意二件事:一是設定正確的修改與只讀屬性,防止數據破壞;二是妥善管理不同項目之間的數據存取,避免機密漏洞。
外部管理則分成二種,第一種是與協力廠商、供貨商或委外開發者的存取管理,這些廠商需要讀取你的檔案,也會制造各種產出物,所以當然要管理存取權限。第二種則是與客戶之間的存取管理,其中數據保密尤其重要;客戶對關于他的資料都會要求保密,特別是牽涉到智慧財產權時,對保密的要求更高。所以項目管理人員在開發過程中必須設計一套能令客戶信任放心的作法。
建立自動化的開發環境
后端管理與前端「生產」工作不同,后端管理存在目的主要是要解決問題,尤其面對五花八門的「人為問題」。所以最好的方法,應該是讓后端管理達到最大可能的「自動化」,使他們隨著前端工作的進展「自動執行」,為前端工作提供一個完美的開發環境。
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/