1. 程式人生 > >成為跨領域的「解決方案架構師」需要什麼素養?

成為跨領域的「解決方案架構師」需要什麼素養?

?wx_fmt=gif&wxfrom=5&wx_lazy=1

本文來自作者 凱哥  GitChat 上分享 「成為跨領域的“解決方案架構師”需要什麼素養?」,閱讀原文檢視交流實錄。

文末高能

編輯 | 哈比

跨領域解決方案架構師的養成

在架構師這個職業路線上,筆者理解的路徑是這樣的:

?wx_fmt=png&wxfrom=5&wx_lazy=1

從一個相對專注的架構師到解決方案架構師,再到更抽象,全面,具有企業頂層設計能力的企業級架構師,這個過程中,解決方案架構師 (SA) 這個級別,是很重要的,也是走向企業級架構師 (EA) 的必由之路。

維基百科對於解決方案架構師的解釋如下:

A solution architect, in information technology,is a practitioner of solution architecture.

Typically part of the solution development team, the solution architect translates requirements created by functional analysts into the architecture for that solution and describing it through architecture and design artifacts. 

The rest of the development team then uses those artifacts to implement the solution.

 The solution architect’s process typically involves selecting the most appropriate technology for the problem.

好的解決方案架構師能夠快速,全面,透徹的理解業務需求,從繁雜紛亂的業務需求和問題現象中抽絲剝繭,提煉和設計解決方案,從而幫助客戶把想法,問題,需求落地成一個可以執行實施的專案。

為什麼是跨領域的解決方案架構師,這裡的跨領域很重要。一個資深的解決方案架構師,同時擁有橫向和縱向兩種能力,縱向是在某一領域的沉澱深度,而橫向則是跨業務領域的。而解決方案的範圍越廣,融合性和可跨越性越強,

就像下面的圖,涉及的業務領域越窄邊界越清晰,而系統和範圍越大,則可能的跨界就越多。

?wx_fmt=jpeg

一個自身的解決方案架構師經常會在方案設計過程中碰到多種領域的綜合分析和設計的場景。

如何能夠成為一個跨領域的解決方案架構師呢,凱哥基於過去十幾年的經驗,總結了如下能力模型:

?wx_fmt=png

筆者講跨領域的解決方案架構師的素養分成心態、能力、方法三個維度:

一、心態

1.永不言敗 (Courage)

解決方案架構師在實際工作中,承擔著很重要的角色,要衝鋒在第一線去了解客戶需求,要配合銷售進行售前交流,要做方案設計,要和內部專案團隊介紹方案,跟進專案實施的結果,保障整體交付質量沒有偏離設計的目標。

所以,好的解決方案架構師首先需要有一個好的心態,心放到位了,事情才能做好。

首先第一個心態就是勇氣,麥肯錫在新員工入職培訓時第一個教授的就是要有永不言敗的精神。

作為專業的諮詢服務人員,要隨時能夠應對各種行業,各種風格的客戶,在你坐到客戶對面以前,你永遠不知道他會給你丟擲什麼樣的問題和挑戰。

任何時候都要有勇氣,都要相信沒有什麼問題是不能夠被分解,被解決的。

解決方案架構師要永遠記住,解決方案這四個字的核心就是解決問題,你的存在就是要為問題找到一個解決的方法,變成一個成體系的方案。

經常看到的解決方案架構師出現的現象是給自己設限:

  • 認為客戶的需求超出了銷售跟他講的內容,覺得這不是這個專案的職責;

  • 認為客戶的想法不是自己的專業(即使真的解決不了,也要對接上其他的資源來予以跟進,這也是一種解決辦法)。

一旦自己給自己花了圈,那麼你的視野就會變窄,你的動力就會被削弱,就會有一個小人在旁邊時刻告訴自己,算了吧,這個事情不是你的事情,放棄吧。

而一個好的解決方案架構師,第一個特質就是永不言敗,越挑戰越激動,越新鮮越感興趣,有著如飢似渴的動力,從不給自己設限。

2.快速學習的心態 (Fast Learning)

光有永不言敗的勇氣是不夠的,好的解決方案架構師要有快速學習的能力。

快速學習,指的是能夠在很短的時間內快速找到需要解決問題的知識、方法和工具。比如說我們做數字化諮詢服務的解決方案架構師,當我們拿到一個需求的時候。

很多時候,這個需求是非常模糊的,甚至有的時候,凱哥所知道的就是一個公司的名字,或者連名字都不特別清楚,只能通過隻言片語知道這是一個什麼行業,大概幹什麼的公司。

這種情況下,我們要有一個學習的框架,比如從行業到企業到業務領域,分層去全面掌握這個需要解決的問題的背景。

同時,為了加深瞭解可能的面對的問題,我們要做一些問題的預設,然後帶著這些預設的問題去搜索,去查詢對應的知識,比如說競爭對手,行業趨勢,相關產業鏈等。

快速學習的心態是一個好的跨領域解決方案架構師的能量的源泉。而很重要的就是在不斷地學習和實踐中要積累一套適合自己的快速學習框架。

3.虛懷若谷的開放心態

這一點非常重要,還是凱哥所提到的,心到位了,一切都好做了。很多時候,架構師在面對交流物件時,把自己放到一個很高,絕對正確的立場。

客戶都是傻子,別人都不懂技術,當有了這樣的心態後,我們就像一個瞎子,甚至看不到明顯的問題。更談不上很好的交流了。

一個虛懷若谷的開放心態,意味著,客戶講的東西一定都是有根源的,有原因的,都是解決問題過程中的線索。

所以凱哥經常說,所有客戶講過的話,發過的郵件或者文件,尤其是 RFI,至少要讀三遍,才能夠動手做方案。

二、能力

1.抽象能力 (Abstraction)

架構師區別於一般的技術或者業務人員,最核心的一個能力就是抽象能力。

架構師最核心的能力是能夠從紛亂複雜的表象中,總結提煉抽象出最本質的問題的關鍵,然後將它體系化,結構化,變成一個架構,一個模型,呈現給其他人。

擁有了這樣的能力,架構師就可以從看上去一團亂麻一樣的各種複雜問題中,快速抓住主幹的問題,和解決問題的辦法,然後將主幹的問題解決方案變成架構,把解決問題的方法變成實施路線。

好的架構師能夠總結,提煉,包裝方法論和概念。比如我司的老馬,微服務這種實踐其實在很多年前,一些牛的程式設計師就已經在實踐,但是隻有他能夠將這些分散的實踐總結出來,抽象出來,然後給他起一個最合適,容易被記住的名字。

比如在實施一個大型專案的時候,我們經常看到什麼幾個一工程,什麼”371”,“186”,等。這個工作和廣告營銷公司的策劃是類似的,總的來講,凱哥認為需要的是以下的實踐和能力:

1.1 對問題的深刻的理解能力

高度的抽象,並不是文字遊戲,而是基於對客戶的需求,對問題的深度理解,能夠抓大放小,透過現象看本質,抓住問題的本質和最重要的部分。

1.2 全域性思維能力

經常我們的架構師容易陷入一些細節,“只緣身在此山中”,無法站在更高的層面俯視問題和需求的全貌,所以在這種情況下,抽象出來的方案只是區域性,更不要提能夠洞察本質。

1.3 對文字(表達方式)的總結利用的能力

最後,文字(表達方式)的總結利用能力也是很重要的,這裡不僅是文字。比如我們在寫技術方案的時候,架構圖就是一種常用的表達方式。

抽象能力來自於平時的實踐和資訊量。沒有大量的實踐和資訊量,沒有充分的練習,是很難建立高度的抽象能力的。

筆者經常能聽到朋友抱怨說一個問題想了很久都無法找到解決的方法,就像一句俗話所說,“狗咬泰山”。

這個時候,筆者就會告訴他,不論這個問題多麼模糊,複雜,你先把它用 PPT 一步一步的描述出來,能寫多少寫多少。因為只是在腦子裡想,那是最簡單的事情,但是一旦要把它畫出來,每畫一步就是一次抽象,一次提煉,一次練習。

2.溝通交流能力 (Communication)

溝通交流能力是一個資深的跨領域的解決方案架構師必備的技能。這個角色經常性的要和客戶交流,和團隊交流,面對各種複雜的交流場景。

當然,講如何提高溝通交流能力的文章和書有太多太多,這裡凱哥講幾個作為一個好的解決方案架構師所需要的重點能力:

2.1 以問題為核心的引導能力

不論是對外還是對內,在交流過程中,解決方案架構師要時刻牢記自己交流的目的,是為了解決問題。

所以一定要讓交流的過程和內容圍繞問題進行,而不要偏題或被別人帶走。

2.2 換位思考的互動能力

凱哥經常見到架構師在介紹方案的時候,就是推方案,那真的是推。不管客戶將什麼問題,提什麼意見,總是把自己預設好的方案推銷給使用者。

要站在客戶的角度,從他們的價值觀,從他們的立場上思考問題,並且要能夠在理解他們的基礎上,牽引這客戶互動到我們認為正確的方案上,獲得客戶的認可,達成方案的一致。

3.業務能力 (Business)

一個好的解決方案架構師一定具備要一定的業務能力。在業務方面,從一個 BA(Business Analyst) 到 BA(Business Architect) 再到解決方案架構師的成長是這樣的:

?wx_fmt=jpeg

這裡的業務能力就包括對領域的理解,分析和設計的能力。

作為一個解決方案架構師,要掌握一些業務設計能力的典型框架,比如 DDD(Domain Driven Design)

4.技術理解能力 (Technology)

對於一個軟體行業的解決方案架構師來講,技術能力的表現是他知道,並理解行業裡的技術,產品,開源框架的作用,並且能夠將它們應用到對應的業務需求上去。

但是是不是意味著,如果你不是程式設計師出身,不是做軟體行業出身就做不了解決方案架構師呢?

凱哥的答案是,不是的。

就像《天龍八部》裡的王語嫣,她不會武功,手無縛雞之力,但是卻在高手對決的時候能夠洞若觀火,洞察雙方的招數,並且快速給出對應的制衡之法。原因就是她瞭解這些招數的作用。

解決方案架構師的最重要的能力是將需求理解後設計成總體的方案,然後分解到業務和技術架構師去進行詳細設計和執行。

所以解決方案架構師這個層面,他需要的是掌握常用的,領先的邏輯技術實現方式,然後將這些方式銘記於心,以技術的需求的方式描述出來。

5.實施能力 (Implement)

以上講的技術能力,業務能力是專業能力,但是作為一個好的解決方案架構師,他最終的目的是為了幫助客戶解決一個問題。

光有好的業務方案,技術架構是不夠的,最重要通過實施方案去落地。

一般而言,好的解決方案架構師需要把這個實施的整體方案做出來,就像拍電影,業務方案架構師就是編劇,而技術方案架構師就是燈光、現場、道具、美工等,最終是由製片人、導演來將電影最終組織並實現出來的。

一個好的解決方案架構師,能夠運用成熟的架構體系為客戶做出全面的解決方案。這裡凱哥介紹一個業界普遍認可的架構框架,TOGAF。

?wx_fmt=png

TOGAF 是 The Open Group Architecture Framework 的簡稱。現在大的諮詢公司的方法論,比如 ADM(Accenture Delivery Methodology) 就吸取了 TOGAF 的很多內容。

三、方法

1.戰略思考 (Strategic Thinking)

戰略思考是解決方案架構師區別於具體實現人員的最大的思考方法。戰略思維的概念和方法論很多,但是以下三點是凱哥認為最重要的點:

1.1 頂層思考

頂層思考能力,是好的解決方案架構師所必須具備的。比如說在進行使用者訪談調研的時候,你一定要站的比使用者給你講的視角要高,從而能夠一覽眾山小,去發現缺失的部分,引導需求方說出更多的問題。並且時刻腦子裡要有一個全景圖。

1.2 系統思考

結構化思維,系統思考,簡單來說就是對事情全面思考,不只就事論事。是把想要達到的結果、實現該結果的過程、過程優化以及對未來的影響等一系列問題作為一個整體系統進行研究。

系統思考重要的因素是:整體性,動態性,立體型,綜合性,結構性。

1.3 敏銳洞察

敏銳的洞察能力,不僅關注現象,同時關聯發現相關的資訊。這裡很重要的表現就是聯想能力和對問題本質的洞察。最簡單的辦法就是多問自己幾個為什麼。

2.設計思維 (Design Thinking)

設計思維作為一種思維的方式,它被普遍認為具有綜合處理能力的性質,能夠理解問題產生的背景、能夠催生洞察力及解決方法,並能夠理性地分析和找出最合適的解決方案,核心就是人性化設計。

解決方案架構師要熟悉一些常用的設計方法和理念,並且能夠以使用者體驗為一個視角去看待和架構解決方案

成為一個跨領域的解決方案架構師,除了以上的素養之外,就需要充分的實踐,這裡的實踐包括體系的總結包裝實踐,比如說我們的售前活動,也包括具體的專案實施。

一個好的解決方案架構師一定是出去能夠講故事,回來能夠寫方案,然後可以帶專案做實施的,這三個環節缺一不可。

參考文獻:

  • http://watersfoundation.org/systems-thinking/what/;

  • https://en.wikipedia.org/wiki/Solution_architect;

  • http://strategyskills.com/Articles_Samples/What_is_Strategic_Thinking.pdf;

  • https://hbr.org/2008/06/design-thinking。

近期熱文

?wx_fmt=jpeg

「閱讀原文」看交流實錄,你想知道的都在這裡

相關推薦

成為領域解決方案架構需要什麼素養

本文來自作者 凱哥 在 GitChat 上分享 「成為跨領域的“解決方案架構師”需要什麼素養?」

深度學習/高效能運算解決方案架構

Assist NVIDIA Account Managers in supporting existing lighthouse accounts and driving new business in those accounts and new accounts.Deliver technical pro

AWS推出專業級解決方案架構認證

完成Amazon EC2例項的初始化幾分鐘就夠了,那麼證明您的AWS架構專業能力需要用多長時間呢?AWS專業級解決方案架構師認證新鮮出爐! 2013年4月,AWS正式啟動了AWS認證專案,同時公佈了AWS首個專業技能考試:AWS助理級解決方案架構師認證。此後,我們又針對開

如何通過AWS助理級解決方案架構認證

3月份花了很多時間去準備AWS Certified Solutions Architect - Associate的考試,最後也如願通過了。在這裡總結下如何通過這門考試,包括學習渠道、考試內容分析、考前準備等。 一、學習渠道 我是在ACloud Guru上面學習的課程

PowerBI更新 - 解決方案架構(一圖勝萬字!)

service 包括 obi font 數據模型 ont ima power mis 今天發福利啦!發福利啦!發福利啦! 企業的各種數據整合到PowerBI顯示,瀏覽器,移動端顯示關鍵指標。 一個很好的PowerBI解決方案的圖!一圖勝萬字!你所需要知

C#進階系列——WebApi 域問題解決方案:CORS

dea ati ice pro target default 異常 測試工具 復雜 前言:上篇總結了下WebApi的接口測試工具的使用,這篇接著來看看WebAPI的另一個常見問題:跨域問題。本篇主要從實例的角度分享下CORS解決跨域問題一些細節。 WebApi系列文章

前端-關於CORS域的解決方案,面向服務端

red 瀏覽器 環境 和我 methods retrieve name 後臺 一件事 最近自己在寫後臺管理系統的時候,並沒有采用jsp、freemaker、葉子等模板技術,而是由後端提供數據api,前端通過AJAX和JQuery來動態操作頁面上的一些div、table元素,

ajax域請求解決方案

tro cti jquer 解決方案 tab all ajax跨域 自帶 b-s 大家好,今天我們學習了js的跨域請求的解決方案,由於JS中存在同源策略,當請求不同協議名,不同端口號、不同主機名下面的文件時,將會違背同源策略,無法請求成功!需要進行跨域處理! 方案一、後臺P

ajax 域請求解決方案

allow option ajax cred eth post delet 求解 delete response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access

域常見解決方案

div 請求 如果 主域 安全問題 highlight chrom call navig 由於考慮到安全性問題,HTML的同源策略不允許JavaScript進行跨域操作,但是隨著web端功能越來越多,對跨域需求逐漸增大,於是乎便催生了很多解決跨域的方法,通過網絡搜索和資

laravel 5.5 oauth2.0 域問題解決方案

title apach war laravel jsonp 另一個 over gin strong 一、laravel-Cors 安裝 在終端執行安裝命令如下: composer require barryvdh/laravel-cors

DKHadoop人力資源大數據解決方案架構

智慧 大數據技術 架構 生活習慣 方向 RoCE 數據 .com 快的 大數據技術的應用正在潛移默化改變著我們的日常生活習慣和工作方式,很多看起來有點“不可思議”的事情也漸漸被我們“習以為常”。大數據可能在國內的起步較晚,但我們可能卻是對大數據應用最好的了代表了。前些時候有

[轉]No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax域訪問解決方案

不能 ade 方式 ole 相同域名 all log head 允許 原 https://blog.csdn.net/zhoucheng05_13/article/details/53580683 No ‘Access-Control-Allow-Origin‘ heade

CORS 域與 TP5中域的解決方案

在做專案過程中,使用Vue-element-admin作為前端,ThinkPHP5作為後端框架進行開發,會遭遇跨域問題,本文給出ThinkPHP5解決跨域 1.CORS的概念     CORS(Cross-Origin Resource Sharing 跨源資源共享),當

成為一名合格的Java架構

原文地址:http://www.dalbll.com/Group/Topic/ArchitecturedDesign/4943  俗話說“沒有見過好程式,怎麼可能寫出好程式”,同樣,也可以說“不瞭解架構師的能力、工作,怎麼可能成為架構師”,如果沒有接觸過頂級架構師,那你怎麼知道自己要往哪個方向努力

angularjs域post解決方案

前端同學李雷和後臺同學韓梅梅分別在自己電腦上進行開發,後臺介面寫好的時候,李雷改動完就把前端程式碼上傳到gitlab,然後在測試機上從gitlab上拉下來,然後在測試機上移動最新程式碼,最後回到本機重新整理頁面。有時候碰到網速不好的情況傳個git傳了半天,或者李雷剛上傳完發現少寫了一個單詞,加上再傳

WebApi域多種解決方案

關於WebAPI跨域踩到的一點坑 最近在嘗試前後端分離的WebAPI+AngularJS方案,在率先處理授權的時候,踩到了一點WebAPI跨域的坑,其實嚴格意義上來說也不算是坑吧,只是我自己對WebAPI不熟悉而已,這裡我與大家分享一下。 先說一下我這邊遇到的情況: 我是在做登入

javaWeb專案域問題解決方案

1.簡單的servlet專案 1.配置一個filter過濾器,過濾所有的請求,並且設定響應頭   package Filter; import javax.servlet.*; import javax.servlet.http.HttpServletRes

vue+django域問題解決方案(前後端兩種方案

1.Vue前端設定代理(方案一) 我們在使用vue-cli啟動專案的時候npm run dev便可以啟動我們的專案了,通常我們的請求地址是以localhost:8080來請求介面資料的,localhost是沒有辦法設定cookie的。  我們可以在vu

Geoserver域終極解決方案

在其他程式呼叫使用Geoserver時,可能會遇到跨域 如 Access to XMLHttpRequest at 'http://localhost:8080/geoserver/gwc/service/tms/1.0.0/KylinWS:[email protected]:[e