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