Ship it! A Practical Guide to Successful
 Software Projects

 Jared Richardson、William A Gwaltney /著
 Pragmatic Programmers出版
 售價:29.95美元
 Amazon四顆半星


軟體專案要成功已經是IT專業人員渴望的目標,難道做一個成功的軟體專案真的這麼難嗎?前一陣子也有雜誌媒體用心良苦,遠從國外請了許多號稱大師級人物來臺演講,將其在國外著名軟體公司的豐富軟體專案經驗與國內的專業同好們分享,從該研討會的與會盛況看來,開發人員一直被軟體專案凌虐,已是長久以來不可磨滅的事實。

相信大家對許多軟體工程方法論也耳熟能詳,但仍然有絕大多數的專案開發者,對於如何將這些理論落實在專案進行中,一直無法掌握到其精華,這也是很多人至令仍尚未接納這些方法論的原因。而本書作者有鑑於此,排除大家常見的理論灌水篇幅,而改以在實際專案運作的建議做為主要內容。作者本身也是開發人員出身,所撰寫的內容均為經過多個專案的實戰經驗得出的寶貴結論,以做為讀者的建議。

基礎建設、管理技術與開發流程三者環環相扣
在本書開宗明義即勾勒出軟體專案管理的藍圖,從該圖你便可清楚體會軟體專案需要成功,一些基本元素是無可避免的。它分成基礎建設(Infrastructure)、管理技術(Technique)、開發流程(Process)三大領域,彼此環環相扣缺一不可。有了這完整的規畫,可以提升專案團隊的執行力,清楚且明確地將客戶的需求完成並及時交付。

只要是軟體專案,一些基本機制是必備的,即在軟體工程理論中所談到的組態管理(Configuration Management),像是版本控管、自動及連續建構腳本程式、測試程式撰寫、錯誤及問題追蹤等,這些機制可讓軟體專案在建構階段具備較高的可管理性,節省無謂的時間,讓你的專案團隊效率更高。

本書也介紹了一些搭配上述機制的工具,通常是各位耳熟能詳的開放源碼軟體,但重要的是在使用這些工具時,作者歸納了不少在實務上需要考慮的要點,以及建議的實作步驟和可能避免的錯誤,讓你在使用時更能發揮該工具的優點,有效提升工作效能。

在藍圖中,專案管理技術亦是不可忽視的範圍,在這裡作者列出了幾項較為實用的建議方法,像是利用一些管理表格來進行團隊管理,如:待辦事項、任務及功能完成度等,藉以有效掌控專案內容;另外作者也強調技術經理角色(Tech Lead)的重要性,每日適當利用會議針對特定要項進行有效溝通、針對每個開發成員撰寫的程式碼進行審查(Code Review)、發布程式碼變更通告讓每個成員知道等。當然這些管理技術亦可輔以一些已經發展成熟的工具,讓管理不會因為這些繁瑣事項而模糊焦點。

曳光彈式開發著重於前期骨架的搭建
軟體專案中,開發流程的選擇常常是決定專案成敗的重要因素之一,有別於過往各位常聽到的RUP、XP等製程方法,作者提出了曳光彈開發方式(Track Bullet Development,TBD),基本精神與Java創始企業Sun所提出的AM(Architecture Methodology)類似,強調開發流程先以快速建構雛型系統的方式,搭配Mock Object及介面設計的使用,在專案初期便確保軟體架構面上的風險降到最低,再進行後續各功能項目的開發工作。

在筆者認為相當精彩的第五章,作者歸納了18個在軟體專案進行中常見的問題,每個問題都針針見血,你會發現這些建議並不是先前常常讀到,又臭又長的理論式解答,而是作者自己親身經驗後所提出的想法,內容相當吸引人。你在閱讀本章時,必然會回想到自己曾經遭遇的類似經驗而發出會心一笑。像是接手別人寫的程式碼還要增加新功能時,你該如何快速上手?當客戶看到你日以繼夜完成的嘔心瀝血之作,卻仍覺得不甚滿意時,你要如何面對?當沒有專責的測試人員時,好的測試程序應該如何進行?

而附錄章節則提供了關於專案進行時常會使用到的工具及相關技術,做為實作時的參考,像是自動構建腳本的撰寫、原始程式碼管理機制等。本書適合專案經理、技術經理、開發人員等不同角色閱讀,以多維角度來思考成功軟體專案的必備條件。不同於其他專案管理書籍的設計,本書重實務而非拘泥於枯燥理論,加上篇幅不多,相信你可以得到不錯的閱讀經驗。

《作者簡介》陳宏一
交通大學資訊管理研究所碩士。目前任職於某數位行銷公司技術經理,曾任職於南亞科技資訊部工程師、資迅人網路研發副理、艾群科技產品研發部經理,專精於OOAD、 J2EE 相關技術、Open Source、資料庫設計、軟體開發流程及專案管理等;取得SCJP、SCWCD、SCJD、SCEA、ITIL等認證。曾經歷大型社群及電子商務網站、 WAP/3G行動加值服務、CTI/CRM客服系統架構規畫設計等。

熱門新聞

Advertisement