關於接案服務的這件事

前言

最近六角學院即將推出新的服務,而這個服務本身就與我目前所做的事情有點關係,所以就寫一篇文章來談談即將推出的新服務吧!

接案服務

Hex School

六角學院其實之前就已經在透漏即將提供接案服務給學生嘗試接案,而這過程的第一個白老鼠就是我(誤)~

我是在 2019/07/29 開始正式接觸接案,第一個合作的廠商是 Fable 這間公司,Fable 是一間很特別的公司,本身並沒有聘請自己的工程師,公司全部都是 PM,所以開發團隊都是來自各地唷~

那 Fable 本身是一間專門在接外包專案的公司,所以開發團隊其實也很龐大,在裡面你可以看到後端團隊、文案團隊以及 UI 團隊等,而我就是位於前端團隊(廢話),通常會比較常與後端開發人員有所接觸以及溝通,畢竟要跟後端拉取資料 & 傳送資料,至於文案與 UI 呢?這就比較沒有機會接觸。

後面會介紹一下接案過程中使用的溝通工具、前端團隊協作方式以及遇到的問題。

溝通工具

前面有講到 Fable 並沒有聘請自己的工程師,所以開發團隊都是來自各地的人才,團隊在與 Fable 合作都是採用遠端協作開發,那溝通工具呢?溝通工具就是使用是 Slack,所以我個人會建議一定要會使用 Slack 這個溝通工具,以我自己經驗來講,至少有 2 間科技公司都是使用此軟體來協作溝通,而且在討論程式碼上是真的滿方便的,所以我也提供我先前寫的 Slack 基礎操作 文章給與參考。

加入外包團隊之後 Fable 會將你拉近他們的 Slack 私密頻道中,裡面就會有許多人,例如 Fable 的 PM、前端團隊、後端團隊等等,當然裡面也會有外包專案業主的 PM(所以請不要頻道內亂幹譙)。

協作方式

由於其他團隊的協作方式我並不清楚,所以我這邊就僅講我在前端團隊這邊的協作方式,目前我所待的前端團隊只有我跟另一位前端負責人,而負責我的就是這一位 ↓

Roy 表示不要趁機會黑我

實際專案開發過程中,基本上我都是聽 Roy 的命令來作業,例如預計明天要做什麼、下禮拜要做什麼還是要協助什麼測試等等,除非現階段可能要等業主那邊給資料,還是後端那邊還在開發中,那我就會告知 Roy 我先處理一些比較非進度緊急上的事情。

開發系統過程我個人也會習慣在每一次 commit 之前告知 Roy 我稍後會 commit 什麼東西上去,這樣子才能讓團隊負責人明白你今天做了什麼,稍後你準備上傳什麼,另一方面也方便團隊負責人當被業主詢問目前進度而好回報 ↓

這是在開發帳號驗證的部分

那如果開發上遇到問題,還是需要協助測試,其實也是會提出來互相討論看看該怎麼幫助彼此開發 ↓

驗證帳號的系統出問題彼此無奈中 QQ

那專案開發的時程呢?這個專案在開發上是有一個時程表,主要是使用 Google 試算表來協同紀錄開發時程,但是這部分我就無法提供圖片,因為裡面有包含許多商業機密。

那版控呢?版控是使用 GitHub,然後是採用 Git flow 模式來開發,簡單來講要開發什麼就從 develop 開一個 feature 分支出來就對了 ↓

分支開免錢的

最後 Roy 看過程式碼沒問題後就會將 feature 給 merged 回去 develop,基本上是不會碰到發送 Pull requests 的部分。

遇到的問題

問題

接案其實大家最在乎的還是業主需求明不明確的問題,過程其實我也是有遇到這個問題,一開始我剛加入前端開發團隊時,需求環境是要求在 Laravel 底下開發 Vue,但是後來業主因為要有 SPA,所以我們又把專案改成 SPA 模式,最後因為後端那邊開發的系統會與我們前端的系統衝突,所以又只好將前端專案遷出來獨立一個前端。

遷出來之後當然是有好處的,好處是可以更明確的前後端分離,如果你有做過 Vue.js 電商最終作業 想必會相當習慣這個環境,可惜好景不長(咦?!),業主後來又說系統要做 SEO,所以又將系統改成 Nuxt.js。

所以我加入該團隊大概兩個禮拜就變了三次系統架構,從 LaravelVue > Vue Cli > Nuxt.js,此時有些人一定會覺得 「這樣子開發時程不就會趕不上?而且難道開發成本不會拉很高嗎?」,其實關於開發時程這個問題 Fable 那邊是會替我們與業主談,所以開發時程是不會有太大的問題,畢竟架構都變了三次,那這部分最主要是因為業主還在尋找一個商業模式,所以架構在變動上是很合理的。

以我自己為例子,我本身並沒有接觸過 Nuxt.js,更不用說 SSR,所以你說開發成本會不會拉很高?對我來講一瞬間是真的拉滿高的,因為不能拿原本既有的 Vue 觀念去看 Nuxt.js,如果你拿原本的 Vue 觀念去寫 Nuxt.js 真的會撞得滿頭包,所以心態上必須當作去學一個新的東西,所以我也花一段時間去學習 Nuxt.js 以及惡補一下 SSR。

目前專案還在持續開發中,過程還是會遇到一些 Nuxt.js 的奇奇怪怪問題,可是這過程獲取到的經驗是無法取代的,而這些就是許多人所想要的實務經驗。

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
當然你也可以成為 讚賞公民 每個月請我喝一杯咖啡,又或者是 一次性金額抖內

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ