軟體開發競賽與協同作業

自從Google宣佈了Android 平台並懸賞1000萬美元做為Android平台上的軟體設計比賽獎金, 身為程式設計好手的你想必也是摩拳擦掌,躍躍欲試, 或是呼朋引伴組一個團隊一起參加比賽為程式設計生涯留一個美好的回憶. 如果你有時間也有一些志同道合的夥伴, 我很鼓勵你們去參加這樣的比賽, 最主要的是Google舉辦的這個比賽跟我們以往所見到的程式設計比賽有許多不同, 我大致摘要如下:
  1. 沒有年齡限制: 所以只要你會寫程式(最好寫過Java)都可以參加.
  2. 不是採用圍場的方式: 所以你可以用最輕鬆的方式寫程式, 穿著睡袍, 躺著,臥著,趴著 ....
  3. 沒有限定題目: 只要在Android可以跑就可以, 所以Google建議的Topic最後一條是 Whatever you're excited about! 任何讓你感到興奮的題材都可以, 只要你爽就好:-)
  4. Google是目前唯一可以挑戰微軟的國際級軟體公司, 當你的軟體進入決賽, 除了Google的巨額獎金, 同時你與你的團隊也受到全世界的關注.
看到這裏您的熱血開始沸騰了嗎? 不過Google有限定的交件日期, 從2008/1/2~ 2008/3/3, 算起來剩下3個多月的時間. 所以如何在這3個多月的時間內與你的夥伴更有效率的一起合作以贏得這項比賽? 我在這邊有些建議與想法
  1. 使用既有的OpenSource協同作業平台例如JavaForge, OpenSource@JavaWorld, SourceForge, Google Code , 因為當你的團隊是分散在各地的情況跟OpenSource開發模式是非常相似的,運用協同作業平台讓軟體文件分享例如UML, 或是Idea透過Forum來討論與溝通都非常的方便,而且這些協同作業平台對於OpenSource專案都已經得到許多成功經驗.
  2. 儘量使用Eclipse 內建的團隊協同工具, 例如Mylyn 做工作管理,可以縮短你工作被中斷並再Warm up的時間, 而且Mylyn可以與JavaForgeOpenSource@JavaWorld 中的Tracker做很好的整合, 詳細功能請看這裏
  3. 使用版本控制如SubVersion, CVS. Eclipse跟SubVersion, CVS的整合相當好, 團隊協同開發如果不採用SubVersion或是CVS,當每個團隊成員要merge code時會花掉許多整合與測試的時間
  4. 使用Auto Build做Daily Build, Android的文件中也有提及可以使用Ant 來Build Android的Application, 使用Auto Build有一個好處, 可以讓你的測試人員每天檢視build好的application,有問題馬上回報,或是當build失敗時, 隔天馬上檢查build失敗的原因, 這樣可以讓開發更敏捷,與縮短整合測試的時間. 如果你是使用JavaForge或是OpenSource@JavaWorld, 可以看這篇Howto 了解如何使用Auto Build.
接下來進入工商時間, 據可靠消息, 未來不久, 台灣也會有一家硬體大廠推出他們最近相當熱門產品的開發平台, 我推測他們也會舉辦與Android一樣的程式設計比賽, 其中的開發工具Eclipse也列在其中, 所以如果你的創意趕不上Google Android Challenge , 不要氣餒, 趕快學習Eclipse+Java與熟悉協同作業開發模式吧! 如果你的團隊還不習慣將Source Code Open, 再次內舉不避親, 可以到http://www.esast.com 登記下載15個人沒有時間限制的免費CodeBeamer(也就是JavaForge與OpenSource@JavaWorld所採用的協同作業平台)安裝在你的Server快速建立你的團隊專屬協同作業平台, 為你的團隊及早做好準備. 未來有許多機會等著你讓你與你的夥伴躍上國際舞台.





留言

匿名表示…
Hi 我是同人,

有個問題想問很久了,您是我認識的 Jeff 或點空間的財務總管郁慧小姐嗎?
maoyang寫道…
Hi 同人:
沒錯! 我們還活著, 我常去看你的Blog,寫的相當不錯, 有空來我們新辦公室坐坐

Jeff (我現在叫M.Y.)

這個網誌中的熱門文章

使用 AI 專門幫公司內部的流程做最佳化,這個團隊的角色會越來越重要

使用 New Bing 的 Chat 功能來當作閱讀 PDF/網頁文章/程式碼的輔助工具

我的Kindle 2支援中文顯示了