1. 程式人生 > >Solution Architect是做什麼的:流程,角色描述,責任和成果

Solution Architect是做什麼的:流程,角色描述,責任和成果

關於Solution Architect,感覺這篇文章寫的比較清晰,故簡單翻譯整理一下。

不太字斟字酌,因為有些直譯感覺怪怪的,比如“誰是解決方案架構師”,實在有些反應不過來。

https://www.altexsoft.com/blog/engineering/solution-architect-role/

文章目錄

Who is Solution Architect: Processes, Role Description, Responsibilities, and Outcomes

根據2017 Project and Portfolio Management Landscape總結,Planview調查的49%的公司在過去12個月內都遭遇過專案失敗。

在快速變化的技術環境中,組織需要轉變其流程和系統,以滿足新興的業務需求。這種數字化轉型需要特定的專業知識和一系列實踐,以使技術解決方案與業務目標保持一致。

解決方案架構屬於在任何技術解決方案開發以前執行的最重要實踐之一。在本文中,我們將討論解決方案架構是什麼,描述解決方案架構師的角色,並解釋如何採用此實踐幫助解決業務問題。

解決方案架構是設計,描述和管理特定業務問題解決方案工程的實踐。

解決方案架構師是負責領導這種實踐,並介紹特定解決方案整體技術願景的人。

雖然可以在內部進行管理,但也有公司提供解決方案架構諮詢的服務。

我們將在本文中討論這些術語以及它們所包含的多個方面涵義。

企業架構vs解決方案架構與技術架構

企業架構

企業架構主要專注於構建複雜的企業生態系統和解決高層戰略問題。企業架構定義了業務架構的戰略方向,從而使我們可以瞭解支援該架構所需的技術設施。

解決方案架構

解決方案架構(SA)是一個複雜的過程,具有許多子流程,彌補了業務問題和技術解決方案之間的差距。它包括:

  • 尋找可能解決現有業務問題的最佳技術解決方案。
  • 向專案利益相關者描述軟體的結構,特徵,行為及其他方面。
  • 定義功能,階段和解決方案需求。
  • 提供定義,管理和交付解決方案的規範。

技術架構

技術架構主要負責工程問題和軟體架構。

有些組織還專門添加了基礎架構。對於在內部維護複雜硬體基礎架構以支援運營的組織而言,此角色非常重要。
Enterprise Solution and Technical Architect
解決方案架構描述了在特定解決方案中如何使用不同的業務元件,資訊和技術架構。 由於解決方案架構更側重於解決特定業務問題的細節和解決方案技術,因此它為企業架構和技術架構之間提供了一個通道,後者僅關注於技術問題。 對於公司來說,一個有效的方法是將企業架構活動與解決方案和技術架構活動相結合。

解決方案架構的主要流程

精心構建的解決方案架構可幫助團隊按時,按預算開發產品,並確保解決其旨在解決的問題。解決方案架構實際執行了哪些任務?

將解決方案與企業環境相匹配

通常,公司已經擁有作業系統,資訊環境和整合要求。解決方案架構要確保新系統適合現有的企業環境。為此,解決方案架構師必須瞭解業務模型的所有部分如何協同工作,包括流程,作業系統和應用程式架構。瞭解這些流程後,他們才能夠設計出最適合該環境的特定解決方案。

滿足所有利益相關者的需求

軟體產品開發最重要的挑戰之一是滿足利益相關者的需求。通常,一個產品有許多利益相關者,既有技術專家又有非技術專家。解決方案架構的目標是確保將他們所有的需求都考慮在內。而且我們必須定期向利益相關者通報產品開發流程,成本和預算。這些任務通常由解決方案架構師來完成,他將技術專案細節轉換為管理和其他非技術人員都可以理解的語言。

考慮專案約束

每個專案都有其侷限性,通常稱為專案約束。包括:

  • 技術
  • 風險
  • 範圍
  • 成本
  • 質量
  • 時間
  • 資源

例如,產品所採用的技術必須符合其特定模組的需求。 專案範圍是定義軟體特定目標,任務,特性和功能的文件的一部分。 所有的專案也都有預算分配。

雖然這些方面本身就是約束,但每個方面都有其自身的侷限性。 解決方案架構師必須瞭解所有這些約束,進行比較,然後做出一系列技術和管理決策,以便將這些限制與專案目標相協調。

選擇專案技術棧

建立解決方案架構的一個重要部分是選擇產品開發技術。技術架構策略將直接取決於所選的技術棧。許多不同的實踐都與平臺,程式語言和工具相關。這時解決方案架構的職責就是去找到一種最適合特定專案的實踐,而不僅僅是普通的技術評估和比較。

滿足非功能性需求

所有軟體專案都必須滿足一些體現其系統特性的非功能性需求,也稱為質量屬性。雖然非功能性需求的確切列表取決於每個產品的複雜性,但最常見的是產品的安全性,效能,可維護性,可擴充套件性,可用性和可靠性。解決方案架構師的職責之一是分析所有非功能性需求,並確保進一步的產品工程能夠滿足這些需求。

由於我們已經討論瞭解決方案架構採用的高階目標,現在我們將其細分為具體職責和基礎技能組合。

解決方案架構師職責

解決方案架構師的工作重點是解決方案級決策,及其對整體業務目標和結果的影響分析。 解決方案架構師的職責直接源於以下實踐中的過程:

  • 分析技術環境
  • 分析企業特性
  • 分析和記錄需求
  • 設定協作框架
  • 建立解決方案原型
  • 參與技術選型
  • 控制解決方案開發
  • 支援專案管理

雖然這些職責中的大部分都需要解決方案架構師的領導角色,但他們只是支援PM活動,以確保資源,風險識別和計劃與解決方案的最終目標保持一致。

解決方案架構師角色描述

Solution Architect Role

如果您已經意識到解決方案架構在您的專案中的重要性,那麼下一步就是為該角色尋找和僱用員工。 我們已經考慮了一個好的解決方案架構師必須具備的核心技能。

技術背景和經驗

為了向管理和工程團隊提供技術建議,解決方案架構師必須具備在一個或多個IT領域至少具有八年工作經驗的技術背景,包括但不限於:

  • IT架構,基礎架構和雲開發
  • 工程和軟體架構設計
  • 業務分析
  • DevOps
  • 專案和產品管理

出色的溝通技巧

解決方案架構師能力的一個重要部分是溝通。考慮到這一角色需要與利益相關方進行談判,瞭解各方的需求,管理風險和產品交付,缺乏溝通技巧可能會造成真正的瓶頸。該職位需要與企業和軟體架構師,業務分析師及專案團隊密切合作。因此,經驗豐富的解決方案架構師都應該具有傾聽,建議,共情和解說的能力。

深厚的分析能力

設計解決方案需要了解業務的不同部分如何協同工作。架構師必須認識到公司戰略,並實現所有那些定義了公司如何達到其戰略目標的業務流程。架構師還必須瞭解技術細節。所以,解決方案架構師需要不斷地處理分析工作,並且在不同的業務層之間來回跳轉。

專案和資源管理技能

雖然解決方案架構師不直接參與專案管理,但是不可避免地也要考慮專案的截止日期和給定資源。解決方案架構師必須能夠決斷哪些解決方案有利,哪些解決方案在特定情況下毫無價值。他們必須關注業務成果,並瞭解如何在給定的時間和資源下實現這些成果。

公司什麼時候需要解決方案架構諮詢

如果整合新軟體系統的過程不是系統化的,那麼技術諮詢組織可以將解決方案架構引入公司結構。最重要的一點是,沒有必要為每個專案都配置一個解決方案架構師。如果您只是實現一個已經驗證過在類似環境中可行的技術模組,那麼您就不需要解決方案架構師。一旦軟體工程專案變得更加複雜,並且具有相當多的流程和風險,最好考慮解決方案架構諮詢服務。

讓我們來看看需要引進解決方案架構諮詢的案例:

您不知道哪種解決方案最適合企業生態系統。 您需要在現有企業架構和特定專案之間建立連結。解決方案架構師將確保該解決方案符合您公司環境的標準。例如,如果您將許多現有的後臺流程遷移到雲,解決方案架構師將負責分析多種方案,並結合技術,人力和財務資源給出最好的建議。

您執行數字轉型專案。 數字化轉型要求企業重新考慮如何為客戶提供價值或最終提供什麼。如果不將技術和業務視角聯絡起來,就沒有辦法回答這些問題,而這正是解決方案架構師工作的核心。

您面臨很多風險。 這種情形下解決方案架構師是必要的,比如專案存在許多技術風險,可能出現不確定的需求,必須同時實施多個產品,基礎技術尚未得到批准。

您必須向投資者推銷產品路線圖。 如果您必須向投資者和利益相關者展示一個未來的產品,解決方案架構師將給您建議符合產品需求的技術,並以清晰平實的業務術語說明其推理論證過程。

您需要在利益相關者和工程師之間建立溝通。 解決方案架構師將有助於填補技術和非技術專家之間的溝通差距。此外,通過與專案管理團隊合作,解決方案架構師可以覆蓋產品與利益相關方需求不一致的風險,並確保解決方案符合既定目標。

許多團隊都參與了這個專案。 您可能有一個大型專案,需要有人來管理設計師,技術或業務架構師團隊,以創造高質量的技術專案成果。

結語

無論您是否真正採用這種實踐,解決方案架構都是任何IT專案的基礎。通過有意識地引入解決方案架構,您可以構建一種框架,使技術,資源和技能,與既定的業務目標保持一致。

在考慮解決方案架構之前,我們建議您探索結合瞭解決方案和企業層面的企業架構框架。

傳統上,中小型企業既不考慮解決方案架構的實踐,也不考慮各自的角色。解決方案架構問題的處理是在產品團隊中的其他角色之間委派和共享的。對於具有可預測結果的小型專案來說,這是一個可行的選擇。但是,如果您有一個複雜的企業架構,將多個軟體產品引入一個正常執行的生態系統,您需要完全重建您的遺留軟體,或制定一套戰略性技術決策,那麼,需要一個專業的專家,就是顯而易見的了。