共用方式為


優化人員時間的建議

適用於此 Azure 架構完善的架構成本優化檢查清單建議:

CO:13 將人員時間優化。 讓人員花在任務上的時間與工作的優先順序一致。 目標是減少花在工作上的時間,而不會降低結果。 最佳化工作應包括將雜訊降到最低、減少建置時間、高逼真度偵錯,以及實際執行模擬。

本指南說明優化人員時間的建議。 此優化是一個策略性程式,可最大化員工在工作時間設計、實作及操作工作負載的生產力和效率。 它牽涉到以一種方式調整其技能、優點和工作,以確保他們花在工作上的每一小時都能得到最有效的使用。 目標是消除浪費的人員潛力和能力。 無法將人員時間優化,可能會導致員工倦倦、競爭優勢降低,以及生產力降低。

定義

詞彙 定義
雜訊 可能會干擾實際問題或趨勢的不相關或誤導性資訊。
訊號 有意義的相關信息,可深入了解系統或應用程式的行為和效能。
技術債務 累積效率不佳、次佳的設計選擇,或開發程式期間刻意採用的快捷方式,以更快傳遞程序代碼。

關鍵設計策略

人員通常會在工作負載中建立最重要的費用。 人員成本和價值突顯出有效率的時間管理的重要性。 本指南是關於最大化每小時工作的潛力。 鑒於員工不能整天工作,重點是確保每個人在指定的小時內更有效率,或在縮短的時間範圍內同樣有效。 目標是為了個人和工作負載的利益,更妥善地利用時間。

設定優化目標

設定人員時間優化目標是建立清楚、可測量目標的程式。 這些目標可作為工作和函式所需改善的指導方針。 您可以使用這些基準檢驗來評估目標的結果。 首先,定義計量,以測量人員時間優化工作的成功。 決定您想要透過優化達成的特定目標。 範例目標是減少系統管理工作所花費的時間,或減少回應客戶查詢所需的時間。 若要設定人員時間優化的目標,請考慮下列策略:

  • 選取量化計量:選擇與您目標一致的計量,並可準確測量。 請考慮計量,例如節省時間、提高生產力、效率改善和工作完成時間。

  • 收集定性計量:除了量化計量之外,還收集人員的意見反應,以衡量他們對角色的滿意度。 此意見反應可提供對員工士氣和參與人員時間優化工作效果的寶貴見解。

  • 設定目標:為每個選取的計量設定實際且可達成的目標。 這些目標應以目前的效能等級和所需的改進層級為基礎。

優化開發時間

優化開發牽涉到精簡軟體開發程式,以達到更高的效率。 因此,開發人員可以投入更多時間來精簡功能、在特定工作負載的限制內創新,以及解決工作負載呈現的任何獨特挑戰。

讓功能保持精簡

當您設計和自定義功能時,請讓這些功能保持精簡且簡單。 避免不必要的複雜度和設定選項,以增加開發、測試和維護工作負載所需的時間。 讓工作負載保持簡單且專注,會導致一段時間的適應性和優化變得更容易。

減少建置時間

減少建置時間是將編譯和產生部署所需的時間降至最低的程式。 較短的建置時間可讓開發人員花較少的時間等待組建完成,並讓他們專注於撰寫程式代碼並傳遞功能。 減少建置時間也有助於確保開發人員更快速地收到程式代碼變更的意見反應。 更快速的意見反應可讓他們更快速地反覆運算並修正問題,其支援敏捷式開發模型。 更快速的建置時間可加速更頻繁的組建,讓小組採用敏捷式開發做法,例如持續整合和持續傳遞(CI/CD)。 以下是減少建置時間的一些策略:

  • 優化組建組態:檢閱組建組態設定,並排除不必要的步驟或程式,以增加建置程式的額外負荷。 檢查點建置和結合部分組建與預先建置有助於減少建置時間並提高效率。 這種方法可讓您重複使用先前建置的元件,並只建置必要的元件,進而加快建置時間並縮短投資時間。

  • 平行處理建置工作:識別可同時執行的工作,並設定建置系統以平行方式執行。 利用可用的運算資源。

  • 使用快取:快取相依性、中繼組建成品和其他可重複使用的元件,以避免後續建置期間產生多餘的工作。

  • 使用累加組建:若要避免不必要的重新編譯,請實作技術,讓建置系統只重建自上一個組建以來變更的部署部分。

  • 散發建置程式:如果適用,請將建置程式分散到多部機器或建置代理程式,以使用平行處理原則並減少整體建置時間。

  • 優化基礎結構:確定組建環境有足夠的資源,例如 CPU、記憶體和磁碟 I/O 來處理組建。

使用生產模擬

藉由模擬元件或服務,開發人員可以藉由仿真相依性來隔離其程式代碼以進行專注測試。 模擬可讓開發人員建立難以或難以在實際生產環境中重現的特定案例和邊緣案例。 它可以加速測試週期、加速平行工作,並消除疑難解答相依性。 以下是實作生產仿真的一些方法:

  • 模擬架構:使用特殊的模擬架構或連結庫,可讓您建立模擬物件、存根或假貨來取代相依性。

  • 相依性插入:將應用程式設計為使用相依性插入,這可讓您在測試或偵錯期間輕鬆替代實際相依性與模擬物件。

  • 服務虛擬化:使用服務虛擬化工具或技術來模擬外部服務或 API 的行為。 這麼做可讓開發人員測試整合,而不需要存取實際的服務。

  • 組態驅動模擬:實作組態驅動方法,透過組態設定或旗標修改應用程序的行為,以視需要啟用模擬。

  • 動態和條件式模擬:設計應用程式以支援動態和條件式模擬,讓開發人員可以根據特定條件或案例,在實際和模擬元件之間切換。

優化開發環境

目標是讓開發人員快速取得變更的意見反應。 進行必要的技術變更,以改善開發經驗。

容器化:請考慮將工作負載容器化以在本機執行。 容器可協助開發人員在本機復寫生產環境,並快速測試其變更。 它們可加快反覆專案和偵錯速度,進而產生更有效率的開發程式。 容器也提供一致且隔離的環境來執行應用程式。 最後,它們可讓您輕鬆調整和部署應用程式。

開發人員工作站:最佳開發人員工作站應具有適當的集成開發環境(IDE)。 良好的開發人員工作站可提升開發人員效率,減少各種工作所需的時間和資源。 良好的 IDE 提供專為程式設計語言量身打造的程式代碼完成和語法醒目提示。 它也應該支援 Git 之類的版本控制。 配備完善的 IDE 可讓開發人員在開發期間快速找出並修正問題,進而縮短偵錯時間。

開發人員環境:開發人員的環境不應該太受限。 開發人員應該具備完成工作所需的許可權,而不需要任何限制,讓開發人員能夠有效率且有效率地工作。

優化生產前環境

一般而言,生產前環境越接近生產環境,節省的時間就越長。 這種增加的一致性也有助於將風險降到最低。 兩個環境越接近,您最好先測試及驗證版本的功能和效能,再將其部署至生產環境。 環境中的這種相似性可協助您儘早找出並解決任何問題或瓶頸,進而降低生產環境中發生問題的風險。

取捨圖示捨:您需要平衡人員時間與資源成本。 環境越接近生產環境,成本就越高。

重複使用元件和連結庫

可重複使用的元件和連結庫可以節省開發人員大量的時間。 開發人員可以重複使用已驗證的元件和連結庫,並更快速地開發或修正應用程式功能,而不是撰寫、測試和偵錯程式碼。 請務必為每個元件或連結庫提供檔。 將程式代碼和文件儲存在具有 GitHub 等版本控制的中央存放庫中。

此外,使用來自套件管理員中可用之受信任發行者的開放原始碼軟體或連結庫,例如 NuGet 或 Maven。 這些套件管理員提供集中式且可靠的來源,以存取和管理連結庫。 從套件管理員使用信任的連結庫可以進一步提升生產力,並減少開發和維護程式代碼所花費的時間。

拿掉技術債務

拿掉技術債務對於維護健康且有效率的程式代碼基底至關重要。 您可以遵循特定標準並實作品質網關等機制,有效地解決技術債務問題,並改善程式代碼的整體品質。 以下說明如何將本指南併入您的方法:

  • 配置時間來解決技術債務:將開發小組的部分時間用於解決技術債務。 一個很好的起點是分配大約20%的團隊時間,專門解決技術債務。 專用時間可讓開發人員專注於重構、程式代碼清除,以及改善程式代碼基底的整體品質。

  • 賦予開發小組權力:允許開發小組擁有技術債務解決的優先順序。 開發小組處於最佳位置,可識別需要注意並瞭解技術債務對工作負載功能的影響的程式代碼基底區域。 鼓勵小組內部的公開溝通和共同作業,以確保有效解決技術債務。

  • 優先順序:根據技術債務專案對工作負載功能的影響來排定優先順序。 專注於解決對工作負載效能、可維護性和延展性影響最大的問題。 藉由有效地優先處理,您可以將努力的效果最大化,以移除技術債務。

拿掉技術債務是一個持續的過程。 它需要開發小組的主動方法和持續努力。 藉由在程式代碼基底中設定並遵守特定標準,並實作品質網關等機制,您可以有效地解決技術債務,並建立更簡潔且更容易維護的程式代碼基底:

  • 設定程式代碼標準:建立清楚且特定的編碼標準,以定義程式代碼基底所需的結構、樣式和最佳做法。 這些標準應涵蓋命名慣例、程式代碼格式、檔和錯誤處理等領域。 遵循這些標準,可確保程式代碼基底的一致性和可讀性。

  • 實作品質網關:品質網關是一種機制,可強制執行定義的編碼標準,並在開發程式中早期攔截潛在問題。 它們可以包含自動化程式代碼檢閱、靜態程式代碼分析工具,以及持續整合管線。 藉由將品質大門整合到您的開發工作流程中,您可以先識別並解決程式碼質量問題,再成為技術債務。

將人員共同作業優化

優化人員共同作業是增強小組動態、溝通和知識共享的程式。 目標是防止誤解、重複的努力和浪費時間。 它涉及細分尋址接收器、修訂不必要的標準、建立共用的知識存放庫,以及投資相關訓練。 有效的共同作業可減少重複的錯誤,並最大化小組的集體專業知識。 若要優化人員共同作業,請考慮下列策略:

  • 消除尋址接收器:尋址接收器可能會導致缺乏共用的知識和不必要的工作複寫。 跨功能共同作業可以節省時間並改善結果。 打破部門或團隊之間的障礙,促進部門間合作。 促進跨部門會議、研討會和聯合專案。 鼓勵跨小組開放通道。

  • 優化標準:不必要的標準可能會導致浪費的時間和資源,而不會造成更好的結果。 評估、改善或消除不會增加價值但增加工作負載的標準或通訊協定。 定期檢閱標準和通訊協定。 從基層員工取得意見反應。 如果標準沒有增加值,請考慮排除或修改它。

  • 建立共用的知識存放庫:共用 知識庫 可防止重複的錯誤、協助訓練,並減少搜尋資訊所花費的時間。 開發集中位置,讓所有成員都能存取並參與集體知識。 使用知識管理工具、定期更新存放庫,以及激勵小組成員的貢獻。

  • 投資訓練:對流程、工具和專案進行大量培訓。 這樣做可確保在開始參與項目的人員之前符合基準需求。 確定小組已根據已建立的標準和程序進行訓練,讓他們能夠在定義的指導方針內有效率且有效地工作。 小組成員應根據這些標準和程序進行訓練,以免浪費精力自行識別。

優化進程

最佳化程序必須精簡工作流程,以消除不必要的步驟、減少手動工作,以及簡化角色和變更管理。 這項增強功能可確保工作更有效率。 簡化的程式可減少工作所需的時間和資源。 減少時間會導致生產力提高,並節省成本。 若要優化程式,請考慮下列建議:

  • 精簡軟體開發生命週期 (SDLC) 方法:採用最佳的 SDLC 可協助您以較少的額外負荷達到高品質。 評估您目前的 SDLC 方法,並考慮更有效率的替代方案。 探索並採用 Scrum、Kanban 或瀑布等方法。 定期重新評估所選架構以提升效率,並認識到 SDLC 本質上是共同作業。

  • 針對每個角色進行優化:已定義的角色可確保清楚的責任和期望,並提高效率。 瞭解並定義每個角色的需求,例如開發人員和解決方案架構師。 當您想要擴充小組時,您應該知道每個角色在硬體、授權和存取方面的需求。

  • 簡化變更管理:積極接受變更可確保更順暢的轉換和更好的結果。 讓實作變更的程序順暢且接受。 培養積极參與而不是抵制的文化。 透過指導和持續學習促進變更採用。 適應建設性地改變。

優化作業工作

優化工作負載作業工作是讓作業工作更快速且更直接的程式。 目標是簡化活動,以提高效率,並確保最有效地使用資源。 這種簡化可確保工作已完成,並減少錯誤、干擾和延遲。 其可節省人員時間,進而加快決策、縮短疑難解答持續時間,以及整體提高效率和節省成本。 若要優化作業工作,請考慮下列策略。

降低雜訊與訊號比率

區分訊號與雜訊對於可觀察性至關重要,因為它可讓小組專注於其系統和應用程式最重要的層面。 篩選出雜訊可協助小組做出明智的決策、針對問題進行疑難解答,以及更快速地優化工作負載。 更有效率地找出和解決問題,並快速降低人員成本。

若要區分訊號與雜訊,您必須定義明確的目標和計量。 識別與工作負載相關的關鍵效能指標(KPI)和計量。 建立每個計量的臨界值或範圍,以指定正常行為,以及應標示為異常的內容。 使用監視工具來收集數據並即時追蹤已定義的計量,並識別指出潛在問題或改進區域的模式。

排定可採取動作的深入解析的優先順序。 專注於指向工作負載降級的深入解析,並排定優先順序以進一步調查或採取動作。 根據意見反應定期檢閱及更新您的監視策略。

使用高精確度偵錯

高逼真度偵 錯是指正確診斷和修正軟體應用程式中的問題的能力。 您可以在執行時間期間深入瞭解應用程式的行為和狀態。 高逼真度偵錯對於有效的軟體開發和疑難解答至關重要。 透過高精確度的偵錯,開發人員可以使用更高的精確度重現和分析問題,進而減少修正 Bug 所需的時間和精力。 瞭解應用程式的行為,可讓開發人員更快速地做出明智的決策,以改善程式碼品質。

  • 使用偵錯工具:使用功能豐富的調試程式,提供應用程式執行流程、變數和記憶體狀態的完整見解。

  • 啟用詳細的記錄和追蹤:使用記錄和追蹤語句檢測程序代碼,以在運行時間期間擷取相關信息。 這樣做可協助您診斷問題。

  • 分析錯誤訊息和堆疊追蹤:仔細檢查錯誤訊息和堆疊追蹤,以瞭解導致問題的事件內容和順序。

增強技術支援

改善技術支持作業的效率與效力。 減少週期性問題可節省時間並改善用戶滿意度。 識別週期性支持問題、透過支援陰影整合工程和支援小組,並採用IT傳統部署模型程式來減少整體支援負載。

從事件中學習

分析事件可能會防止週期性,並改善反應時間。 使用過去的事件作為未來改進的學習機會。 進行回顧以分析事件、識別改進的動作和聯繫人通訊協定,以及透過完整的記錄和計量增強系統可觀察性。

實作健全的治理

標準化可減少錯誤和重新作業,以確保一致的品質和成本優化。 加強貴組織內的合規性和標準化。 自動化合規性檢查,並倡導標準化的解決方案、架構和藍圖。 若要簡化決策,請將不符合組織條件約束或 SLA 的選項降到最低。

將人員技能優化

更好的技能可以提高效率並減少錯誤。 投資開發和改善小組技能。 若要優化人員技能,以下是需要考慮的一些建議:

  • 提升技能:確保小組成員具備基本的成本優化和監視技能。 提供實際操作學習和技能開發的沙盒環境。 鼓勵小組成員取得認證,並提升與經驗豐富的同事的陰影。

  • 工具:熟練使用工具是優化工作的重要技能,並取得成本管理的寶貴見解。 確保人員熟悉基本工具,並可適應新的工具。 優先熟悉重要工具,特別是與監視相關的工具。 訓練人員,從系統各層的數據擷取有意義的見解,強調有效監視與成本管理之間的聯繫。

  • 一致的專業知識:根據員工的技能和專業知識,將員工比對工作。 利用其優勢並據以配置工作,以發揮最大效率。

Azure 便利化

設定優化目標Azure DevOps 提供一套工具來定義目標、選取計量和設定目標。 它提供工作項目追蹤、儀錶板和報告功能等功能。 它也提供原始程式碼管理、持續整合、持續傳遞和專案管理功能。 藉由使用 Azure DevOps,小組可以將程式自動化、有效地共同作業,並減少手動工作。

優化開發時間:Azure 提供各種工具和功能來優化開發人員時間,包括:

  • 開發環境:Azure 以多種形式提供開發環境,例如Microsoft開發箱,提供安裝開發人員工具的 Windows 和 Linux VM。 Microsoft也提供 Docker VM 以進行容器化開發,以及啟用 Docker 組建的 Azure Container Registry。

  • 與 Azure DevOps 整合:Azure 與 Azure DevOps 整合,以提高生產力並簡化開發程式。

  • IDE 整合:Azure 提供 IDE 與 Visual Studio 和 Visual Studio Code 等熱門開發工具的整合。 這項整合可讓開發人員順暢地使用 Azure 服務。

  • 標準 SDK 和連結庫:Azure 為所有 Azure 服務提供標準 SDK 和連結庫。 這些 SDK 和連結庫可讓開發人員重複使用程式代碼,並減少整合及實作 Azure 服務所需的時間。

  • 快速入門範本和範例:Azure 提供可加速開發程式的快速入門範本和範例。

  • 套件管理員和標準連結庫:Azure 支援 套件管理員並提供標準連結庫,例如 NuGet 套件管理員。 他們可以簡化開發,並協助開發人員減少在實作常見功能上花費的時間。

  • 開放原始碼支援:Azure 具有強大的生態系統,可支援開放原始碼技術,讓開發人員可以使用現有的開放原始碼工具和架構來優化其時間。

Azure 所提供的這些功能和工具可協助開發人員節省時間並提升其開發工作流程的生產力。

優化作業工作:Azure 支援 基礎結構即程序代碼 (IaC) 功能,可讓您使用程式代碼定義和管理基礎結構。 這樣做有助於降低複雜性,並改善系統的適應性。

Azure 監視器是一項完整的監視服務,可讓您瞭解 Azure 上應用程式和基礎結構的效能和健康情況。 您可以使用它來收集遙測、設定警示,以及取得實時見解。 藉由使用 Azure 監視器,您可以主動找出並解決問題。 這可讓您減少在疑難解答上花費的時間。

Azure 自動化 提供在 Azure 上自動化手動重複工作的方式。 您可以使用它來建立和管理 Runbook,這是執行特定工作的指示集。 藉由自動化例行工作,您可以節省時間並釋放人員,以專注於更關鍵的活動。

優化人員技能:Microsoft提供完整的訓練教材和活動套件。 訓練適用於開發人員、架構師和商務項目關係人。

成本優化檢查清單

請參閱一組完整的建議。