DevOps的興起能否將開發(fā)者逼上絕路?
譯文DevOps已經(jīng)被廣泛視為一種能夠改進(jìn)開發(fā)人員與運(yùn)營(yíng)人員之間協(xié)作關(guān)系、簡(jiǎn)化軟件開發(fā)實(shí)踐甚至將一部分運(yùn)營(yíng)任務(wù)交由開發(fā)人員解決的工作方式。然而軟件開發(fā)者兼博主Jeff Knupp對(duì)此持不同看法,他認(rèn)為實(shí)際情況恰恰相反,DevOps概念已經(jīng)演變成一股無形的力量、逼迫開發(fā)人員去處理那些他們?nèi)徊簧瞄L(zhǎng)甚至不了解的任務(wù)。
在最近發(fā)表的一篇博文中,Knupp就DevOps與全堆棧開發(fā)人員這一話題展開討論。“DevOps運(yùn)動(dòng)的影響如此廣泛,甚至足以與另外兩大令我無法忍受的事物相提并論——x86架構(gòu)與單核心處理器。但這卻又是不爭(zhēng)的事實(shí):我已經(jīng)受夠了這種無腦跟風(fēng),”Knupp表示。“是什么讓我對(duì)其深惡痛絕?根本原因在于:并不是每家公司都是新興企業(yè),但在DevOps的影響下、他們似乎都希望假裝自己屬于新興企業(yè)。”
開發(fā)人員最終可以通過工作積累轉(zhuǎn)型為其它角色,例如數(shù)據(jù)庫(kù)管理員、質(zhì)量保障員或者測(cè)試人員,但很明顯企業(yè)不會(huì)愚蠢到讓原本就只接觸過這幾種職位的員工轉(zhuǎn)去搞軟件開發(fā),在線廣告企業(yè)AppNexus公司軟件工程師Knupp指出。(他表示他本人與所在企業(yè)的運(yùn)營(yíng)團(tuán)隊(duì)保持著良好的合作關(guān)系。)“最初旨在提升軟件質(zhì)量的實(shí)驗(yàn)性方案最終淪為一場(chǎng)鬧劇,大部分才華橫溢的開發(fā)人員被迫承擔(dān)起超負(fù)荷的額外工作(即使額外負(fù)擔(dān)不重,這類多余的內(nèi)容也根本沒有存在的必要)以及原本壓根沒被納入設(shè)置的底層崗位。”全堆棧開發(fā)人員概念實(shí)際上讓他們變成了技術(shù)工具的操縱者,他解釋道。
在一次采訪中,Knupp表示現(xiàn)在專門面向傳統(tǒng)運(yùn)營(yíng)以及數(shù)據(jù)庫(kù)管理員的工作機(jī)會(huì)已經(jīng)越來越少,這是因?yàn)殚_發(fā)人員在無意之中已經(jīng)接過了這部分職責(zé)。與此同時(shí),開發(fā)人員自然也就失去了本來應(yīng)該用在編程上的寶貴時(shí)間。Knupp指出,他目前所持的立場(chǎng)是在匯總了親身觀察、在工作中的實(shí)際體會(huì)以及讀者在博文中的回復(fù)后建立起來的。“如果他們本身就是DevOps的推動(dòng)者,那么必然會(huì)對(duì)這些博文嗤之以鼻。但那些開發(fā)人員出身的讀者卻對(duì)文章內(nèi)容表示認(rèn)同與支持。”
不過在咨詢企業(yè)BenchmarkQA公司當(dāng)中,DevOps擁護(hù)者Jeff Roth就對(duì)Knupp的抗議表示反對(duì),認(rèn)為這只是不值一哂的“聒噪之聲”。通過將任務(wù)按照構(gòu)建、編碼、功能自動(dòng)化以及單元測(cè)試等類別加以劃分,開發(fā)者團(tuán)隊(duì)完全可以將整個(gè)軟件開發(fā)流程盡收眼底,BenchmarkQA公司咨詢服務(wù)副總裁Roth表示。開發(fā)人員能夠“從更為宏觀的視角審視整個(gè)項(xiàng)目,而不再局限于‘我負(fù)責(zé)編寫代碼’這樣淺層次的整體認(rèn)知。”在Roth看來,DevOps的***優(yōu)勢(shì)在于能夠通過可重復(fù)的方式以更快速度生產(chǎn)更多高質(zhì)量的開發(fā)成果。
盡管如此,Roth還是在一定程度上對(duì)Knupp的觀點(diǎn)表示了肯定。“我并不反對(duì)術(shù)業(yè)有專攻這一論斷。我們肯定沒法強(qiáng)迫一位業(yè)務(wù)分析師轉(zhuǎn)型成開發(fā)人員,”他解釋道。“我也不一定非要讓開發(fā)人員負(fù)責(zé)質(zhì)量保障事務(wù)。”總而言之,專業(yè)知識(shí)、協(xié)作關(guān)系與知識(shí)共享之間需要找到合適的平衡點(diǎn),只有這樣才能人盡其才、物盡其用。
Roth與Knupp也都認(rèn)為如今DevOps的根本定義已經(jīng)變得有些混亂。“目前DevOps擁有十來種不同的定義,”Roth表示。“維基百科上給出的定義倒是很值得參考,但DevOps與敏捷概念比較類似——我們很難用一種描述將其徹底涵蓋在內(nèi)。”就他而言,Roth認(rèn)為DevOps是一種幫助業(yè)務(wù)人員、開發(fā)人員以及運(yùn)營(yíng)人員在由設(shè)想到生產(chǎn)的軟件交付過程中各自找到最適推進(jìn)途徑的原則性機(jī)制。
“作為一項(xiàng)運(yùn)動(dòng)或者一種事物,DevOps已經(jīng)失去了本應(yīng)具備的全部含義,”Knupp抱怨道。“沒人能確切解釋這個(gè)詞匯到底想表達(dá)什么意思。”他同時(shí)強(qiáng)調(diào)稱,DevOps已經(jīng)“被眾多企業(yè)所扭曲,變成了開發(fā)人員需要承擔(dān)所有工作”這種荒謬的思路。
英文原文:http://www.infoworld.com/t/application-development/devops-killing-the-developer-242047