關於接案服務的這件事

前言

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

接案服務

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 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你可以也可以請我「喝一杯咖啡(Donate)」。

Buy Me A Coffee Buy Me A Coffee

Google AD

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