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元額度的零食,讓程式設計師可以隨時補充能量。