什麼是產物審查 (Artifact Review)?

品質優良的軟體始於程式碼審查 (code review),但品質不僅止於程式碼本身。文件與各種產物 (artifact) 同樣需要適當的關注,才能確保沒有任何環節被忽略。若要確保軟體品質,就必須對程式碼審查過程中所留下的軟體產物 (software artifact) 進行審查。

如果說程式碼審查 (code review) 是像吃蔬菜一樣不那麼吸引人的任務,那麼產物審查 (artifact review) 就像是每天走滿一萬步。兩者也許都不那麼有趣,但對您(和您的軟體)健康都有長遠的好處,只要持之以恆。

那麼,該審查哪些產物呢?如果您造訪我們的《2021 軟體品質現況|程式碼審查》專題網站,就會看到產物審查涵蓋的範圍相當廣泛。除了最基本的程式碼,這些產物還可能包括需求文件(最常見)、測試案例、User story、設計文件等。

上圖為受訪者所審查之軟體產物的統計圖
資料來源:State of Software Quality|Code Review 2021

如圖所示,除了「示意圖(schematics)」維持相對穩定外,其餘所有產物的審查比率皆呈現上升趨勢。特別是「需求」的顯著成長並不令人意外,因為連續第三年,受訪者皆指出「需求變更」是他們準時交付版本的最大挑戰

那麼,為何像「需求」這類產物會如此關鍵並帶來巨大影響呢?因為進行高品質審查需要清楚的審查準則,而這也關係到程式碼的品質。隨著軟體各領域的交付節奏加快,審查流程中的需求也必須不斷重新檢視與定義,以確保準時交付。

此外,還有許多因素也在發揮影響力,例如地理分布分散的團隊、遠距工作趨勢、產業變化等。從事程式碼與文件審查的團隊需要一套同時支援「產物審查」的工具,以免忽略如需求這類至關重要的要素。

如何評估一套審查平台

在理想的情況下,單一平台應能同時完成三大核心任務:程式碼審查 (code)、文件審查 (document) 與產物審查 (artifact)一個整合式的同儕審查 (peer review) 平台能全面涵蓋這些重點,確保在審查流程中不遺漏任何關鍵內容。

審查流程因企業甚至不同團隊而異。具備可自訂的同儕審查工作流程,能依據團隊與組織需求建立清晰的稽核軌跡,妥善地掛載與追蹤軟體產物的驗證過程。這能提升準確性、降低錯誤,並簡化整體流程。您的產物審查將能從一開始就驗證並完成需求,且有完整稽核紀錄可供查閱。所選用的同儕審查工具必須具備這些功能,才能有效維護團隊問責機制並達成上述目標。

此外,開發人員應具備撰寫與維護高品質應用程式需求的能力。準確的需求能帶來更少的程式缺陷、更清晰的測試案例,也能讓軟體交付過程省時省力。同時保留過程中的版本紀錄,也將是一項極具價值的資產。

Collaborator 的角色

Collaborator 的設計初衷在於推動實質的團隊協作,同時建立簡便的稽核軌跡。這是一套針對文件與原始程式碼審查所打造的客製化解決方案,能讓您根據 SDLC 定義出最佳實務的審查流程。無論您希望設定固定的簽核人數、涵蓋特定職能人員,或其他客製化需求,都可靈活設定。更進一步,它可與 Jira 等外部工具整合,具備良好延伸性。

由於 Collaborator 能同時處理文件與程式碼審查,許多組織已選擇將其作為 SDLC 審查平台的首選工具。他們希望透過單一工具,整合程式碼、文件與產物審查,同時支援多個團隊與系統的串接。

Collaborator 在行政管理面也帶來助益:團隊無需學習或管理兩套工具,整體環境更簡化。工具越簡單,越容易實現統一的流程與單一供應商合作帶來的好處。

最後,對許多團隊而言,從審查過程中產出的報告是衡量成效的關鍵。團隊是否在同儕審查中達到預期成果?是否減少缺陷?是否蒐集到符合法規的資料?「成功」的定義可因組織而異,Collaborator 提供的彈性,可協助組織依自身需求進行報告管理。

延伸學習資源

「產物審查」是完善程式碼審查與同儕審查流程不可或缺的一環。一套符合團隊標準、能簡化流程、具備資料儲存與稽核軌跡功能的工具,將能進一步提升團隊協作效率與整體效能。

若您想深入了解,歡迎造訪我們的資源中心,或觀看隨選網路研討會,瞭解 Collaborator 解決方案的更多細節,以及如何透過文件審查提升軟體品質。

您也可以閱讀最新研究報告,瞭解業界同儕對程式碼、文件與產物審查的看法,請參考《State of Software Quality|Code Review 2021》調查報告。該研究由近 800 位軟體專業人士參與,內容涵蓋審查頻率、使用工具與程式碼品質的洞察。

若您已準備好導入一套協作式的同儕審查工具,並希望進一步討論 Collaborator 如何協助您的組織,請立即與我們聯絡

文章來源: What is Artifact Review? SmartBear, 2022