在《AI 助力產品規劃與市場洞察的應用》一文中,我說明了產品開發階段中涉及「揣摩上意」、「集思廣益」以及「市場分析」的部分。而在《透過 AI 進行商業模式與市場份額的分析》一文中,我進一步探討了如何展開「商業模式」與「市場份額」的分析,並以 AI 工具輔助的實例作為說明。本篇文章將進一步聚焦於產品開發過程中的功能規劃與系統結構設計,說明如何有效與開發團隊協作,並最終成功完成產品的開發與上市。
◎團隊角色與分工
在網路平台服務的開發中,團隊通常包括以下角色:產品負責人/專案經理、系統分析師/功能企劃者、UI/UX 設計師、前端開發者、後端開發者、SRE 工程師、QA 工程師。如果產品還包含 APP 或資料分析功能,則還需 APP 開發者與資料工程師參與。對於規模較小的公司,一人身兼多職的情況並不少見。
無論組織規模大小,各有其優劣,但保持高效能與競爭力的關鍵在於團隊內部的協作。我在《逐步打造高效開發團隊的經驗談》中有提到,團隊分工與協作是一個長期且需不斷滾動優化的重要課題。
當產品從商業規劃轉向技術實作,就像建築設計產業中,從需求溝通到結構圖繪製的過程,以及最終由工班完成整個建築結構與內裝設計工程。系統分析師和功能企劃者的角色,類似於建築師和室內設計師;SRE 工程師則如同結構技師;後端、APP、前端開發者及 UI/UX 設計師則像是各類型的工班;QA 工程師則負責驗收成果;產品負責人則是協調整個項目的管理者。
◎流程與文件的重要性
產品開發的第一步通常是撰寫產品規格書,內容涵蓋功能結構文件與產品架構圖。這些文件會在啟動會議中進行討論,以確認功能可行性,並細化成可執行的工作任務與工時規劃。工時分配包含規劃、開發、測試、修正、驗收五個階段。
有了產品規格書後在細部設計階段,UI/UX 與前端開發人員負責功能頁面的規劃,並與後端及 APP 團隊同步協作。功能企劃者則需負責在交付產品規劃的同時,也定義驗收標準,由 QA 工程師執行測試並反饋問題,確保最終成果符合需求。
下圖是我以 ChatGPT 生成 Mermaid 格式的語法,然後再透過 Draw.io 輸出的開發流程圖,原則上多數開發團隊應該都是以類似的模式在進行。
附帶一提,我曾遇到一些團隊忽略文件的重要性,僅以簡單的思維圖與不斷的會議討論進行需求傳達與確認,但過程缺乏完整的會議記錄僅憑與會者各自的記憶,這進一步導致在驗收階段 QA 無法有效測試,也不清楚驗收的真正標準。這種模式有時會被以敏捷開發的名義掩蓋,甚至轉而批評文件化流程浪費時間。我贊成功能需求變化過大的開發,可以省略很多文件規劃的步驟,畢竟有可能規劃剛做完需求又改變。而另一種是在開發的程式語言其架構、註解與歸檔都做的很好的狀態下,也可以省下一些不必要的文件,這些都可以讓時間更有效的運用在開發本質上。但我不認為什麼都不留紀錄,只留在每個開發者的腦海裡這一件事,會是一個妥當的開發模式。
我認為敏捷開發應注重需求切割與快速迭代,而非完全放棄文件的存在。快速迭代是為了跟著市場的變化來進行開發,但市場的真實需求變化其實沒那麼快,最大的問題是我們需求作業沒有到位,而這跟有沒有文件化完全是兩回事。