開發者體驗:現代企業架構的關鍵一環

Seal數澈發表於2023-03-01

在之前的文章中,我們詳細介紹了平臺工程的基本內容,文中指出平臺團隊應該採用產品的方法構建內部開發者平臺,即 Platform as a Product。
 

內部平臺面向的使用者則是企業內其他部門的開發人員,因此如果要充分體現平臺及平臺團隊的價值,那麼打造優質的開發者體驗(Developer Experience,即DevEx)是必不可少的一環。本文將介紹開發者體驗的相關指標以及最佳化方法。
 

什麼是開發者體驗?

開發者體驗是使用者體驗(UX)的延伸,其重點是受技術方面影響的使用者,例如工具、語言和工作流程。當談論使用者體驗時,通常指的是外部人員如何與我們開發的軟體或網站互動,以及產品的易用性、簡單性和直觀性。但 DevEx 遠不止是“開發人員的使用者體驗”:它意味著確保開發人員能夠輕鬆地理解並利用 API 來實現他們自己的應用和用例。
 

開發者體驗對每個組織都很重要,內部平臺的優質體驗可以幫助組織留住優秀的工程師。然而,通常情況下隨著組織的規模越來越大,技術越來越先進,技術棧不斷擴大,開發者體驗通常被削弱。為瞭解決這一問題,許多企業開始重視內部開發工具/平臺的開發者體驗,將敏捷性作為其重要衡量指標之一。
 

開發者體驗的衡量指標

為開發者提供良好的體驗具體體現為可以讓程式設計師快速上手,並將挫折感降到最低。劣質的開發者體驗則是一場無休止的戰鬥,開發人員需要耗費大量時間和精力弄清楚程式碼應該做什麼,如何讓它執行起來,這在某些情況下會造成優秀工程師的流失。當一家公司內部的程式碼十分折磨人時,一個有才能的開發者就會選擇手中其他的優質機會離開。
 

在改善開發者體驗之前,企業需要確定能夠準確衡量開發者體驗優劣的指標,正如著名的管理顧問德魯克所言“如果不能衡量它,那麼就無法管理它”。
 

交付時間

在軟體開發中,交付時間是指從專案開始到最終程式碼交付的所需時間。理解開發團隊的交付時間有助於瞭解該指標的評價標準。此外,如果交付時間縮短且最終程式碼交付質量很高,這說明開發團隊的效率提升,也可以從側面反映內部開發者平臺擁有良好的使用體驗。
 

自動化程度

自動化和協作是提升效率和加速交付的關鍵。優秀的 DevEx 需要合理的架構設計以及工具來實現,包括儘可能的自動化。
 

擁有才能的開發人員不應該把他們的時間和精力浪費在瑣碎的任務上,而應該在工作流程中充分利用自動化,從而讓他們把更多的時間專注在開發過程中。具體而言,這個指標可以衡量某一時期內實施的自動化流程的數量。
 

開發速度

開發者速度反映了一個開發者在特定的時間範圍內能完成多少工作。企業可以利用開發者速度指標來瞭解開發者的工作量。 在大多數情況下,開發速度是交付一個最終功能或產品所需的全部活動和努力的總和
 

觀測開發者速度可以幫助團隊瞭解消耗他們時間的常見障礙,包括缺乏持續整合和部署、上下文切換、工作分心以及流程中存在的障礙等。使用速度指標可以確定需要最佳化的領域。
 

衡量開發者體驗的3大支柱

與使用者體驗類似,開發者體驗也包含多種客觀和主觀的衡量標準,使用者體驗的三大支柱: 可用性可尋性可信度,也是衡量開發者體驗的標準。
 

可用性

可用性測試是指開發者使用程式碼、檔案或其他相關工具及產品的簡易程度。透過一個內部調研收集反饋可以更充分地瞭解開發者使用這些元件時是輕鬆的還是困難的。內部調研問題示例如下:

  • 對你來說,使用程式碼庫是否容易?
  • 我們提供的工具是否為你的工作提供了支援?
  • API 是否為你提供了你所需要的資訊?
  • 你是否適應我們的程式語言或框架?
     

可尋性(Findability)

可尋性是指軟體工程師可以輕鬆地找到他們在工作需要的資訊、系統或工具。要構建一個優秀的 DevEx 包括讓基本資訊有跡可“尋”,以提供最佳的使用者體驗。 這包括提供符合邏輯和上下文的搜尋結構和功能、有邏輯的檔案以及根據需要不受限地訪問工具。平臺團隊需要密切關注開發人員的反饋,當反覆出現任何與可尋性有關的抱怨時,需要利用這些反饋來改善團隊的流程。
 

可信度

可信度是指開發人員是否信任產品及其帶來的優勢。在開發過程中,企業可以透過建立穩定可靠的服務或產品、提供足夠的資源以減輕工作壓力以及支援工具來獲取開發人員的信任。
 

另外,隨著開發人員所採用的技術不斷變化,滿足內部開發人員使用的各種技術的擴充套件需求也是一大挑戰。 而開發人員是否繼續採用平臺團隊的軟體或服務,即一致性,是衡量可信度的一個關鍵指標
 

值得注意的是,開發人員的高產出和優秀成果並不完全意味著開發人員對組織有足夠的信任。特別是如果工作環境讓開發人員感到筋疲力盡、員工流失率高、或者他們需要面對大量的技術債務時,信任度就會大打折扣。
 

如何最佳化開發者體驗?

縮短反饋週期以增強工作流程

敏捷開發的目的是提升開發速度的同時不犧牲開發質量。 在這個框架中,反饋週期指為驗證和接收有關軟體開發過程的反饋而建立的機制。這包括了程式碼分析和跟蹤、拉取請求和程式碼審查、持續整合和部署、生產前環境的效能驗證、單元測試以及生產中的效能監控。
 

總的來說,如果能很好地整合到平臺團隊推出的內部開發者平臺中,這個過程對於開發者來說是非常高效的,並能夠減少繁瑣過程帶來的負面影響。例如,程式碼分析和跟蹤以及獲得關於程式碼效能的即時反饋。
 

一切檔案化

從團隊工作流程到常見問題(FAQ)以及其他瑣碎的要點都要記錄下來。 我們的目標是建立一個知識庫,作為唯一的標準來源。在軟體開發過程中,有很多變化的部分,建立技術檔案能夠有效地跟蹤這一切。這樣一來,在出現任何問題時,開發人員都有一個可以參考的資料,尤其當團隊加入新成員時,有一份可靠的檔案可以幫助新成員更好地上手工作。
 

鼓勵互相理解和協作

當一家公司能夠培育出良好的開發者體驗時,每個團隊都會敏銳地意識到他們的責任和目標,以及它們為誰提供服務。因此每個團隊也有一個舒適的地方來表達他們的需求和對功能的要求,以幫助他們更好地工作。
 

在組中中實現這一點很簡單。首先要為員工創造機會和空間,透過各種團隊活動,讓來自不同團隊的員工可以走到一起,相互學習,積極分享資訊。這將有助於建立一個積極的環境,從而提高生產力。平臺工程也可以成為促進理解和協作的好方法。
 

總結

總而言之,建立優質的開發者體驗需要平臺團隊的持續努力和不斷改進。當企業內部擁有良好的開發者體驗時,不僅意味著員工之間信任度更高,也意味著建立了一種先進的企業文化。最終,會推動員工積極履行自己的職責,從而為企業帶來巨大的發展。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026925/viewspace-2937544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章