Neal Ford是一個擁有多重身份的傳奇式人物。作為跨國數(shù)字化轉型咨詢公司ThoughtWorks的總監(jiān)、軟件架構師,他精通各種編程語言,為大規(guī)模企業(yè)應用的設計、構建和工程實踐提供咨詢服務;作為國際知名講師,他登上過許多世界頂級開發(fā)者會議的講臺;作為極客和作家,他著有多本廣受好評的暢銷書,如《卓有成效的程序員》、《函數(shù)式編程思維》。此次到訪QCon,他除了為中國帶來了演進式架構的概念,更帶來了其已出版的最新作品《Building Evolutionary Architectures: Support Constant Change》,相信會給開發(fā)者群體讀者們帶來全新的思考,共同應對日新月異的數(shù)字化時代。
在演講中,Neal Ford指出,在科技界唯一不變的就是變化:業(yè)務實踐在變,工具和框架在演進,創(chuàng)新的工具和技術不斷涌現(xiàn),這讓軟件開發(fā)生態(tài)體系也是瞬息萬變。在這樣環(huán)境中,開發(fā)者必須不斷革新自己的認知,從進化的視角出發(fā)去更好地吸收需求,應對不斷發(fā)生變化的技術。在過去的幾年里,軟件開發(fā)核心工程實踐的漸進發(fā)展,讓開發(fā)者重新思考架構是如何隨著時間的推移而變化的,以及重要的架構特征如何能夠在架構演進過程中得到有效保護,這促使Neal Ford與ThoughtWorks全球CTO Rebecca Parson博士一起總結提煉了演進式架構的核心概念。他們借鑒了生物進化的分析視角,從更長遠的考量來思考軟件架構的存在,改變了過去單一時間點評判架構好壞的視野局限,轉而思考如何通過可度量的適應度方程(fitness function)定義來“創(chuàng)造”架構演進的生態(tài)。
變化歷來都是難以預測且痛苦的,演進式架構提倡“把痛苦的事情提前做、經(jīng)常做”,在架構層面做到演進式地變更,讓變更更容易、成本更低,在開發(fā)實踐、發(fā)布實踐和整個開發(fā)流水線上去建立架構改變的實時反饋機制。在項目的進行過程中,如果架構改變的事情很痛苦,那么你需要強迫自己更早更頻繁地去做這些事情。這反過來也鼓勵你用自動化的手段消除這些痛苦并能提前識別架構上的問題。已經(jīng)成為現(xiàn)代軟件開發(fā)基礎的持續(xù)交付實踐,如部署流水線、自動化基礎設施建構、數(shù)據(jù)庫平滑遷移等,就是這一原則的應用,它們會提早解決變更帶來的常規(guī)問題,從而使架構的演進更為容易。
本次Neal Ford的中國之行,除了在QCon全球軟件開發(fā)大會2018所做的重要演講,還在與華為等重要客戶開展的ThoughtWorks技術開放日活動中,為客戶帶來了最新的技術研發(fā)成果,共同探討企業(yè)數(shù)字化轉型的進階之路。