T客邦除了有文字編輯小組和PChome、電腦王、手機gogo、DIGIPHOTO、打電動的編輯支援之外,讓整個網站維持運作的就是技術部。技術部不但要讓伺服器維持正常的運作,同時還要開發各種功能。在T客邦各種複雜交錯的專案之中,要如何管理這些工作流程和工作的分配呢?下面就來大公開技術部的秘辛。

六人技術團隊

T客邦技術部目前的主管就是網路上有名的XDite,下面有三位程式設計師、一位網管、一位網頁設計師,另外還有不在這個區域的兩位活動企劃,算是人數不多的小組的開發團隊。另外順便置入一下,技術部目前還有在徵程式設計師網站社群行銷主管專案企劃專案經理,有興趣的可以一起來組隊打怪(誤)。

▲三位坐一排的就是技術部的2位程式設計師和1位網頁設計師,負責開發T客邦的各種功能。

▲這兩位也是程式設計師,其中一位還身兼MIS(更精確的說法是 SA)。XDite表示桌子太亂不給拍照(誤)

公司郵件:Google Apps

雖然我們公司有資訊部門,也有公司配發的e-mail。不過技術部和我們T客邦編輯部都是採用Google Apps來當信箱工具,因為人數不到50人,所以也還不用付費。其中比較特別的運用是會利用Groups的功能,透過一個公用的信箱,會寄送每天的報表給各位主管。或是有什麼事要通知的時候,也會利用這個公用的信箱來廣播。

▲利用Groups的公用信箱來派送每日的流量追蹤和流計報表。

流量分析:Google Analytics

T客邦是做網站,流量分析當然是一個很重要的日常工作。分析的工具目前主要還是依靠著Google Analytics,新上線的功能都會追蹤上線後的效益,有什麼問題就可以馬上檢討。除了每日統計、追蹤流量報表之外,還利用比較進階的使用方法,在程式碼裡面插入trackPageview(可看Google說明),這樣就可以在Google分析中直接追蹤到像是討論區個別討論板的流量狀況。

▲在網頁中直接插入trackPageview,之後再利用Google Analytics來追蹤各板的流量。

專案管理:Redmine

有不少程式開發團隊在指派任務的時候,都會用口頭指示。這樣有個很大的缺點,可能前後說法不一,聽到的指示不一定是正確的,容易產生出不少責任、時程控管的問題。T客邦技術部採用的是Redmine專案管理系統,每項工作都會利用開票的方式來說明工作內容,同時會記錄時間、討論內容、進度,而且還可以直接把工作指派給相關的人。這樣在後續執行出問題的時候,可以很容易就知道責任是在誰身上,主管也可以很明確的知道目前的工作進度。

這套系統我們編輯也會用到,像是遇到T客邦有什麼Bugs,或是需要開發新功能的時候。就可以開一張票(有點像開一個討論串),再把票指給XDite,之後身為主管的XDite就會把工作分派給部門的同仁來處理。而開發成員收到票之後,如果有問題就可以利用Skype,或是直接走到同事身邊來討論。

▲Redmine可以很清楚地描述工作內容,還可以記錄誰經手過這項工作。

<後面還有Wiki、IRC、Stand up會議、開發工具>

知識管理:Collaboration Wiki

程式開發是團協作性很高的工作,像是同一組程式碼會有許多人經手,如果每個人的程式寫法都不一樣的話,會造成日後維護的困難,所以共同的知識庫當然也是很重要的一部分。把知識和作業流程保存下來,這樣遇到問題的時候只要看Wiki就知道要怎麼處理,要找誰處理等等。

不只是技術文件要存檔,像是網站企劃、行銷、編輯等等都應該要建立知識庫,這樣就算是在人員交接的時候,也不會出太多問題。

▲新進員工只要閱讀Wiki就可以學習慣團隊的工作方式,不會造成知識不同步的狀況。

▲除了程式設計之外的工作也都應該要有相關的知識庫。

溝通工具:Skype / IRC、Stand up會議

不只是技術部,我們整個T客邦都是採用Skype來交換資訊或是討論工作。因為Skype可以設定不同群組,而且不像別的IM離線就會消失。在早上的時候,技術部就會利用Skype來指派或是討論工作內容,讓早上的指派只要坐在電腦前就可以完成,不用花太多時間。

在每天的下午五點的時候,技術部會站起來開會,也就是Stand up會議。每個人會報告今天的工作內容,還有遇到的問題,接下來的工作是什麼。這個會議很快就可以結束,不會有太多時間壓力。會採用這種開會方式,主要是因為在公司工作的時候,其實很容易失去式向感,抓不到主管給你的工作方向,或是遇到什麼問題無法解決就會鑽牛角尖,但如果把問題分享出來,有時候同事反而可以很快地幫你解決這個問題。

另外還有一個自動化的工具,利用程式自動把票和Server的Log打到IRC上,只要打開IRC就可以完整看到目前整個專案的狀態。

▲利用IRC可以完整看到目前專案的進度。

▲一些專案的意見也會進到IRC之中,連誰編輯了Wiki也會顯示。

分享工作畫面:CloudApp、showoff.io

還有用到的協同工具軟體是CloudApp,這個服務可以讓你分享Mac上截取的圖片,而且會上傳到網路上,同時給一組網址。這讓常常要處理畫面問題的網頁和程式設計師之間,能有一個更好的溝通平台。

showoff.io這個服務呢,則是讓外部網路能直接連到個人的本機伺服器。不管中間有什麼防火牆還是在NAT之下,不同的網段都可以連到你的localhost,對於在開發中要分享程式運行的畫面給別人,尤其是像客戶、主管討論的時候非常好用。運行之後,會得到一串網址「https://you.showoff.io」,只要把你的專屬網址傳給對方,就可以連到你的localhost。INSIDE有寫過簡單的介紹,有興趣可以看看。

開發工具

  • Issue Tracking: Redmine
  • Database : MySQL
  • Framework : Ruby on Rails / SCSS  ( Compass)
  • Text Editor : Textmate  (Pay) / VIM
  • Version Control : Git (Host on Github)  (Pay)
  • DNS : Amazon Route 53
  • Mail System : Amazon SES  (Pay)
  • Search Engine : IndexTank  (Pay / Free)
  • Backup : Amazon S3  (Pay)
  • Monitoring : Pingdom  (Pay) / ScoutApp  (Pay)
  • Performance Monitoring : New Relic RPM (Pay)

技術部採用的開發、技術支援工具大部分都是有付費的,單項約在5~50美元左右,像是Amazon的服務就用了不少。會租用第三方技術服務主要是因為「養RD」很貴,而租用金額不高的服務來滿足網站開發、營運的需求,可以減少許多成本。

關於硬體方面,技術部每個人都配了一台MacBook做為程式開發之用,不過也有人會帶自己的MacBook Pro來,而XDite則是自己帶iMac 27。同時還會配上一台Dell 22吋螢幕,對於程式開發來說,大螢幕也是必需品。另外因為開發程式會耗費大量腦力,所以也有一個月2000元額度的零食,讓程式設計師可以隨時補充能量。

延伸閱讀:

T客邦網站開發實務 – 網站開發時,不做會死的工作。

T客邦 當自強!我家也有超豪華辦公室