Neal Ford是一個擁有多重身份的傳奇式人物。作為跨國數(shù)字化轉(zhuǎn)型咨詢公司ThoughtWorks的總監(jiān)、軟件架構(gòu)師,他精通各種編程語言,為大規(guī)模企業(yè)應(yīng)用的設(shè)計、構(gòu)建和工程實踐提供咨詢服務(wù);作為國際知名講師,他登上過許多世界頂級開發(fā)者會議的講臺;作為極客和作家,他著有多本廣受好評的暢銷書,如《卓有成效的程序員》、《函數(shù)式編程思維》。此次到訪QCon,他除了為中國帶來了演進式架構(gòu)的概念,更帶來了其已出版的最新作品《Building Evolutionary Architectures: Support Constant Change》,相信會給開發(fā)者群體讀者們帶來全新的思考,共同應(yīng)對日新月異的數(shù)字化時代。

在演講中,Neal Ford指出,在科技界唯一不變的就是變化:業(yè)務(wù)實踐在變,工具和框架在演進,創(chuàng)新的工具和技術(shù)不斷涌現(xiàn),這讓軟件開發(fā)生態(tài)體系也是瞬息萬變。在這樣環(huán)境中,開發(fā)者必須不斷革新自己的認知,從進化的視角出發(fā)去更好地吸收需求,應(yīng)對不斷發(fā)生變化的技術(shù)。在過去的幾年里,軟件開發(fā)核心工程實踐的漸進發(fā)展,讓開發(fā)者重新思考架構(gòu)是如何隨著時間的推移而變化的,以及重要的架構(gòu)特征如何能夠在架構(gòu)演進過程中得到有效保護,這促使Neal Ford與ThoughtWorks全球CTO Rebecca Parson博士一起總結(jié)提煉了演進式架構(gòu)的核心概念。他們借鑒了生物進化的分析視角,從更長遠的考量來思考軟件架構(gòu)的存在,改變了過去單一時間點評判架構(gòu)好壞的視野局限,轉(zhuǎn)而思考如何通過可度量的適應(yīng)度方程(fitness function)定義來“創(chuàng)造”架構(gòu)演進的生態(tài)。

變化歷來都是難以預(yù)測且痛苦的,演進式架構(gòu)提倡“把痛苦的事情提前做、經(jīng)常做”,在架構(gòu)層面做到演進式地變更,讓變更更容易、成本更低,在開發(fā)實踐、發(fā)布實踐和整個開發(fā)流水線上去建立架構(gòu)改變的實時反饋機制。在項目的進行過程中,如果架構(gòu)改變的事情很痛苦,那么你需要強迫自己更早更頻繁地去做這些事情。這反過來也鼓勵你用自動化的手段消除這些痛苦并能提前識別架構(gòu)上的問題。已經(jīng)成為現(xiàn)代軟件開發(fā)基礎(chǔ)的持續(xù)交付實踐,如部署流水線、自動化基礎(chǔ)設(shè)施建構(gòu)、數(shù)據(jù)庫平滑遷移等,就是這一原則的應(yīng)用,它們會提早解決變更帶來的常規(guī)問題,從而使架構(gòu)的演進更為容易。

本次Neal Ford的中國之行,除了在QCon全球軟件開發(fā)大會2018所做的重要演講,還在與華為等重要客戶開展的ThoughtWorks技術(shù)開放日活動中,為客戶帶來了最新的技術(shù)研發(fā)成果,共同探討企業(yè)數(shù)字化轉(zhuǎn)型的進階之路。

分享到

xiesc

相關(guān)推薦