累積多人協作經驗、接軌業界網頁開發,你需要 scrum 模擬專案!

你自學程式一段時間、自認具備一定的技術能力,但仍困惑所學究竟能否勝任軟體工程師?是否符合業界標準?AC 在觀察數百名有基礎的學生後發現,學生其實已經有所累積,但缺乏應用場景、發揮實力。故 AC 結合「業界要有多人協作能力工程師」的需求,為進階學生設計「多人協作專案」,幫學生累積經驗、接軌業界,在畢業前就點好求職準備。

多人協作能力多重要?AC 怎麼幫學生累積?

網頁開發是團隊工作,軟體工程師要能與 PM、UI/UX 設計師等角色密切合作,才能完成任務。故業界工程師的標準之一,便是具備多人協作能力。

但對自學程式的人來說,累積多人協作的能力與經驗,是相對較困難的事。在過程中,自學者能自己累積技術知識,也能應用所學做出作品集,但要累積多人協作經驗,則要去找場景或創造機會,才能達成。例如,要去社群找夥伴做 side project、或去機構實習等。為幫助有這樣需求的學生,AC 在全端網頁開發課程中設計了「Twitter 專案」,提供場景讓學生鍛鍊多人協作能力、累積團隊經驗。

後端工程師如何與團隊其他成員協作?聽聽 AC 校友怎麼說!

AC 如何帶學生進行多人協作?

「Twitter 專案」參考業界流行的開發流程 scrum,擷取適合學生的元素組成。透過清楚的階段目標設定與過程,確保學生能逐步完成任務,最終完成專案。Scrum 是敏捷開發的一種方法,核心精神是小步快跑、在較短的時間內完成目標、再快速迭代,以幫助團隊完成複雜且困難的工作。進一步瞭解 scrum,請參考〈什麼是 Scrum?認識 Scrum 的做法與它的限制〉這篇文章。

下面說明「Twitter 專案」如何進行,帶大家一窺 AC 如何帶學生累積多人協作經驗。

模擬專案如何讓你累積多人協作能力

「Twitter 專案」是一個 3-4 人的小組專案,學生要在 14 天內,完成專案設定的目標。專案中有 3 個 sprint,每個 sprint 進行 3-4 天。AC 會有助教導師,密切協助與掌握每個小組與同學的狀況。

「Twitter 專案」進行流程

看 AC 學生如何用 scrum 完成多人協作專案,打造「美食預定平台」

名詞說明

  • Sprint:短跑、衝刺,意指用相對短的天數完成目標
  • Showcase:技術主管在每次 sprint 後,會與小組 demo 目前的進度。
  • 技術主管:由有業界經驗的前輩擔任,以業界標準與期待要求學生,也協助團隊產出符合業界流程與標準的成果,並教授業界經驗與素養。

Sprint #1:確認任務與分工

Sprint #1 重點是「確認任務與分工」。透過 3 份文件,確認成員都有正確的專案需求認知、與對交付任務與時程的共識。

  • 系統分析文件:專案的系統架構、流程與功能文件,可能用圖形化方式呈現,幫成員快速理解與掌握專案需求內容。
  • Acceptance criteria (驗收標準):將專案規格需求轉換成 acceptance criteria (驗收標準) 與 definition of done, DoD (完成指標) 的文件。具體內容有:完成程式碼的標準、驗收/測試的標準等。
  • Task list (任務清單):為了順利進行任務分工與執行的文件。其中會將任務細節化,拆分成可讓一個成員負責的最小單位,最後製作成 task list。基本上,每個任務的執行時間不超過 3 天,所以會利用 trello 或 notion 等生產力工具,幫助團隊成員一起掌握各個項目的進度、執行狀況與可能風險,便於隨時討論與確認。

Sprint #2:確認進度在預期上

Sprint #2 是專案的中間階段,目標是確認進度有沒有在預期進度上,有沒有任務需要調整和釐清。 在 scrum 中,這個階段稱為 refinement 或者 grooming。詳細來說,會確認成員手上的任務是否符合「目前需求」,包括最初訂下的規格,還有是否符合在 Sprint #1 定義的驗收標準與完成指標 。

這個過程也是為了能順利「提前驗收」,能一併評估與規劃如何處理專案的下半場可能要解決的問題。具體任務會有:手動驗收 acceptance criteria、執行自動化測試、先銜接前後端介面等。另外,在分工安排上,也可以視是否有成員進度超前、能支援其他待完成任務。調整結果會更新在任務清單中。

Sprint #3:交付成果前確認

最後的倒數 48 小時的目標,便是要交付可執行的產品、並確認能否將產品順利 deliver 給用戶。在專案情境中,用戶是指評審與助教。

其中,有上線準備、Demo 等過程。上線前的準備,包括:根據 acceptance criteria (驗收標準) 進行驗收、確認前後端的部署。Demo 則是會評估完成度、有無遭遇困難的問題、最後的時間除了規劃交付前任務外,還需要做什麼運用。

總結

「Twitter 專案」的意義,是 AC 提供鍋具和食材,幫學生做出準備成為工程師的第一道菜。在專案之中,AC 歷屆已經有許多學生完成專案,成功累積了多人協作經驗。透過專案,學生從能寫 code、到能與多人協作,最後逐漸清楚與知道如何接軌業界需求。

8 週給自己機會成為軟體工程師,參與接近業界實踐的課程,有效完成技能與求職準備