在訪談過程中發現多位專家提及的共通點是,「軟體開發的複雜度日益提升,但最根本的軟體開發知識,例如 OO 物件導向、系統分層的觀念,以及開發標準或團隊開發流程的建立,仍是軟體開發人員要持續精進的不變準則。

開發環境及標準對軟體開發團隊來說是相當重要的基礎,一個好的開發工具除了最基本的程式碼編譯功能,同時也能夠提供偵錯、測試、架構及模型設計工具、甚至是程式碼範例等。李智樺強調,「一套完整且符合企業需求及未來延展性的開發環境,不但能夠讓軟體開發更具一致性,後續開發維護才容易上手,像是微軟 Visual Studio 及開發技術就是很好的例子,所有的版本都具有其延續性,不管是版本更新或是教育訓練,都能夠有效地銜接,避免投資與資源的浪費。」 Visual Studio 不單單只是 IDE 開發工具而已,與 Team Foundation Server (TFS) 整合,也提供了軟體開發生命週期 (Application Lifecycle Management, ALM) 所需的流程範本、標準及管理工具,讓開發團隊掌握開發能見度,更重要的是,確保軟體的開發品質。開發環境對軟體與服務來說是相當重要的基礎,一套好的開發環境不但具備各種適當的開發工具,同時也能夠提供偵錯、壓力測試甚至是範例等項目。

胡百敬表示,「常輔導一些正在開發新系統的企業,建議可趁著建立新系統時順便將開發制度建立,因為比較沒有包袱。可以先從容易且最重要的先做起,例如建立版本管控及程式碼撰寫標準是最基本的,並同時導入軟體生命週期管理平台」「例如 TFS 已內建了近 200 個開發規則,從最基本的程式碼命名規則到安全性的檢查,如 SQL Injection,都可以透過 Visual Studio Ultimate 的程式碼分析 (Code Analysis) 自動找出不符合規則的程式碼,慢慢地這個團隊建立了一定成熟的開發文化後,後續再進階導入工作單管理或自動化測試也會較容易。」

另外與專家訪談的過程中也提到了如何選擇適當的開發平台問題,李智樺提到了一個有趣的觀念,叫「兜兜哲學」。意思是指現在許多開發者要找一些現成的開發模組、library 或是工具,往往都是先上網搜尋,然後不知所以然也不管其品質就用了,因此系統可能不少程式碼都是這樣兜出來的。「兜兜哲學不是不對,但是要怎麼兜才是技巧所在,兜起來看似簡單,但是後面的品質管制及版本維護才是難」。「開放源碼固然可以提供各式各樣免費的工具,但是相對而言也很難找到一組可以提供統一版本及維護機制的團隊,

具有一致性與延續性的開發環境,對軟體開發人員來說也相當重要,因為在企業中所有已經開發或即將開發的軟體應用,都不需要額外花費時間學習,同時也可以在前輩的經驗上持續累積,讓軟體開發團隊的能量可以越積越多,也越來越精萃。 黃保翕也提及,「選擇某種平台技術,有時像是一種信仰。但我主要看的關鍵點還是看技術資源哪邊多。ASP.NET 的資源品質都有一定的水準,例如技術文件及技術論壇都可找到相關資源,如果從企業開發的角度來看,這是相當重要的。」

胡百敬也指出,「如果想要有品質,從開發、測試、建置到佈署過程,都應該要能完整的自動化串連,有些研發團隊可能用了多套的單一工具,例如 source control 一套,bug tracking 一套,工作管理一套,彼此只能透過客製化程式去串連,很容易因為人員離職而全部流失,」胡百敬強調,「一致且具有完善維護性的開發平台對開發人員是有幫助的,不但是經驗得以累積延續,透過標準化流程也可以降低軟體開發的風險,溝通上也會更有效率。」
 

.