Datawhale干貨?
翻譯:段秋陽 Datawhale成員
(資料圖)
GitHub首席產(chǎn)品官Inbal Shani如是說:
今天的開發(fā)人員所做的不僅僅是編寫和發(fā)布代碼,他們還需要熟練應(yīng)用各種工具、環(huán)境和技術(shù),包括生成人工智能編碼工具這個新領(lǐng)域。但對開發(fā)人員來說最重要的不是故事點或部署速度。這是開發(fā)者體驗(DevEx),它決定了開發(fā)人員如何有效和高產(chǎn)地超越標(biāo)準(zhǔn)、進(jìn)入心流狀態(tài)并產(chǎn)生影響。
我不僅是作為GitHub的首席產(chǎn)品官這么說的,還作為一個長期從事開發(fā)工作并在整個技術(shù)棧的各個部分都有過工作經(jīng)驗的開發(fā)人員。幾十年前,當(dāng)我獲得機(jī)械工程碩士學(xué)位時,我成為第一批在實驗室里應(yīng)用人工智能的技術(shù)人員之一。那時,我們的模型需要五天時間來處理我們的大型數(shù)據(jù)集--考慮到今天的人工智能模型的速度,這一點令人震驚。我渴望擁有能提高效率并縮短生產(chǎn)時間的工具。這就是為什么我對開發(fā)者體驗充滿熱情,并將其作為GitHub首席產(chǎn)品官的重點。
在生成式人工智能的快速發(fā)展中,我們希望從開發(fā)人員那里更好地了解新工具和當(dāng)前的工作流程是如何影響整個開發(fā)人員體驗的。作為一個起點,我們關(guān)注了開發(fā)者體驗的一些最大的組成部分:開發(fā)者的生產(chǎn)力、團(tuán)隊協(xié)作、人工智能,以及開發(fā)者認(rèn)為他們?nèi)绾文軌蜃詈玫赝苿悠髽I(yè)環(huán)境中的影響。
為此,我們與 Wakefield Research 合作,對企業(yè)公司的 500 名在美國擁有1,000多名員工的公司的開發(fā)人員。
我們將展示組織如何消除障礙,幫助企業(yè)工程團(tuán)隊在這個新的軟件開發(fā)時代推動創(chuàng)新和影響。歸根結(jié)底,大規(guī)模創(chuàng)新的方法是通過提高開發(fā)人員的生產(chǎn)力、提高他們的滿意度并使他們每天都能做到最好來賦予開發(fā)人員權(quán)力。畢竟,如果沒有有權(quán)推動影響的開發(fā)人員,就不可能有進(jìn)步。
調(diào)查的主要結(jié)論人工智能已經(jīng)到來,而且正在大規(guī)模使用。92%的美國開發(fā)者已經(jīng)在工作中和工作外使用人工智能編碼工具。等待構(gòu)建和測試仍然是一個問題。盡管整個行業(yè)都對 DevOps 進(jìn)行了投資,但開發(fā)人員仍然表示,除了編寫代碼之外,他們在工作中做的最耗時的事情就是等待構(gòu)建和測試。開發(fā)人員希望有更多的合作。企業(yè)環(huán)境中的開發(fā)人員平均與其他21名工程師一起工作,并希望協(xié)作成為績效評估的首要指標(biāo)。他們認(rèn)為人工智能會有所幫助。超過五分之四的開發(fā)人員預(yù)計 AI 編碼工具將使他們的團(tuán)隊更具協(xié)作性。開發(fā)人員還看到了 AI 的巨大好處。70% 的人表示,人工智能編碼工具將為他們提供工作優(yōu)勢,并將更好的代碼質(zhì)量、完成時間和解決事件列為一些AI會帶來的最重要的好處。在 GitHub,我們意識到大多數(shù)開發(fā)人員的日常與“關(guān)于‘開發(fā)人員想要什么’的對話”之間往往存在巨大差距。
通過這項調(diào)查,我們希望更好地了解開發(fā)人員的典型體驗,并確定公司可以為其開發(fā)人員提供支持并取得更大成功的關(guān)鍵方式。
C = 協(xié)作,整個開發(fā)人員體驗的倍增器。
開發(fā)者體驗(DevEx) 是一個考慮到以下因素的公式:
開發(fā)人員在代碼上實施改變有多簡單和快速--或者說有多高產(chǎn)。從創(chuàng)意到生產(chǎn)再到影響力有多順暢。工作環(huán)境、工作流程和工具如何積極或消極地影響開發(fā)人員的滿意度。對于領(lǐng)導(dǎo)者來說,開發(fā)者體驗就是要創(chuàng)造一個協(xié)作環(huán)境,讓開發(fā)者能夠在工作中最高產(chǎn),最有影響力和最滿意。對于開發(fā)者來說,合作是方程式中最重要的部分之一。
調(diào)研具體結(jié)果1.當(dāng)前的考核指標(biāo)未達(dá)到開發(fā)人員的預(yù)期在許多情況下,開發(fā)人員重視并希望做更多的事情,與他們的績效衡量方式相沖突。學(xué)習(xí)新技能和設(shè)計新問題的解決方案對開發(fā)人員的工作日有最積極的影響,但他們的大部分時間是在等待代碼審查、構(gòu)建或測試。開發(fā)人員還認(rèn)為,他們與他人合作的能力和他們的代碼質(zhì)量,而不是他們產(chǎn)出的數(shù)量和效率,應(yīng)該是衡量他們的首要績效指標(biāo)。2.開發(fā)人員表示考核指標(biāo)不符合預(yù)期目前對開發(fā)者的評估方式與他們認(rèn)為應(yīng)該如何衡量他們的表現(xiàn)并不一致。
例如,我們調(diào)查的開發(fā)者說他們目前是以他們解決的事件的數(shù)量來衡量的。但開發(fā)人員認(rèn)為,他們?nèi)绾翁幚磉@些bug和問題是更為重要的績效表現(xiàn)。這與代碼質(zhì)量高于代碼數(shù)量的信念是一致的,即代碼質(zhì)量應(yīng)該仍然是最重要的考核指標(biāo)。開發(fā)人員還認(rèn)為,在績效指標(biāo)方面,協(xié)作和溝通應(yīng)該和代碼質(zhì)量一樣重要。他們與他人協(xié)作和溝通的能力對他們的工作至關(guān)重要,但只有33%的開發(fā)者表示他們的公司將其作為績效指標(biāo)。目前用于衡量績效的指標(biāo),與開發(fā)者認(rèn)為應(yīng)該用于衡量其績效的指標(biāo)進(jìn)行比較。
排名最高的回答,開發(fā)者們表示他們的團(tuán)隊在包括寫代碼和尋找、修復(fù)安全漏洞上花費的精力最多。
3.開發(fā)人員希望有更多機(jī)會提高技能并提高影響力當(dāng)開發(fā)人員被問及什么對他們的工作日產(chǎn)生積極影響時,呼聲最高的是學(xué)習(xí)新技能 (43%)、從最終用戶那里獲得反饋 (39%) 和自動化測試 (38%) 以及設(shè)計新問題的解決方案 (36 %) 。
開發(fā)人員認(rèn)為的對他們工作影響最大的任務(wù)
但開發(fā)人員表示,他們大部分時間都花在編寫代碼和測試上,然后等待代碼被審查或構(gòu)建和測試被執(zhí)行。
在平常的一天,我們調(diào)查的企業(yè)開發(fā)人員報告說他們的團(tuán)隊忙于各種任務(wù),包括編寫代碼、修復(fù)安全漏洞以及從最終用戶那里獲得反饋等。開發(fā)人員還說,他們在這些任務(wù)上花費的時間差不多,這表明他們一整天都很捉襟見肘。
開發(fā)人員指出的他們每天花費時間最多的任務(wù)
值得注意的是,開發(fā)人員表示,他們等待構(gòu)建和測試的時間與編寫新代碼所花費的時間相同。
這表明盡管在過去十年中對 DevOps 工具進(jìn)行了投資,但構(gòu)建和測試的等待時間仍然是一個長期存在的問題。開發(fā)人員還繼續(xù)面臨障礙,如等待代碼審查、構(gòu)建和測試運行,這可能會阻礙他們學(xué)習(xí)新技能和設(shè)計新問題的解決方案的能力,我們的研究表明,這些因素會對他們的整體滿意度產(chǎn)生最大影響。4.開發(fā)人員希望得到最終用戶的反饋,但面臨挑戰(zhàn)開發(fā)人員說,從終端用戶那里獲得反饋(39%)是對他們的工作日產(chǎn)生積極影響的第二重要的事情--但對于開發(fā)團(tuán)隊來說,直接獲得這種反饋往往具有挑戰(zhàn)性。
產(chǎn)品經(jīng)理和營銷團(tuán)隊經(jīng)常充當(dāng)中間人的角色,使得開發(fā)人員很難直接收到終端用戶的反饋。理想情況下,開發(fā)人員會收到來自自動化和驗證測試的反饋以改進(jìn)他們的工作,但有時這些測試會先發(fā)送給其他團(tuán)隊,然后再移交給工程團(tuán)隊。開發(fā)團(tuán)隊的排名最高前兩項日常任務(wù)包括編寫代碼 (32%) 和查找并修復(fù)安全漏洞 (31%)。
這表明開發(fā)人員對安全性的重視程度越來越高,并強(qiáng)調(diào)了公司如何將安全性放在首位。這也證明了企業(yè)開發(fā)團(tuán)隊在滿足安全方面的政策和董事會指令方面發(fā)揮的關(guān)鍵作用。5.開發(fā)人員在協(xié)作環(huán)境中茁壯成長在我們對企業(yè)工程師的調(diào)查中,開發(fā)人員說他們在一個典型的項目中平均與其他21名開發(fā)人員合作,52%的人報告說每天或每周與其他團(tuán)隊合作。值得注意的是,他們將定期接觸列為有效合作的最重要因素。
企業(yè)環(huán)境中的開發(fā)人員通常每天或每周平均與其他21名開發(fā)人員一起工作。
但是,開發(fā)人員對協(xié)作也有一個整體的看法--它不僅被定義為與他人交談和會面,而且還被定義為不間斷的工作時間、進(jìn)入完全配置的開發(fā)人員環(huán)境以及正式的導(dǎo)師-學(xué)員關(guān)系:
沒有團(tuán)隊溝通的時候給了開發(fā)人員時間和空間來編寫代碼,并為團(tuán)隊目標(biāo)而努力。對完全配置的開發(fā)者環(huán)境的訪問促進(jìn)了整個開發(fā)過程的一致性。它還可以幫助開發(fā)人員更快地協(xié)作,避免聽到臭名昭著的一句話:"但它在我的機(jī)器上能用"。導(dǎo)師制度可以幫助開發(fā)人員提高技能,建立人際關(guān)系技能,這在協(xié)作的工作環(huán)境中是必不可少的。我們的調(diào)查表明,對有效合作最重要的因素是如此關(guān)鍵,以至于當(dāng)它們沒有有效地完成時,它們會對開發(fā)者的工作產(chǎn)生明顯的負(fù)面影響。
開發(fā)人員表示最常對他們的工作日體驗產(chǎn)生負(fù)面影響的任務(wù)。
無效的會議可能會分散開發(fā)人員的注意力,而不是幫助他們。
6.我們想更多地了解開發(fā)人員如何協(xié)作因此,我們從 Twitter 上的關(guān)注者那里獲得了一些答案。我們詢問了開發(fā)人員他們有哪些有效協(xié)作的技巧。這是一位開發(fā)人員不得不說的話:
通過與同伴合作并融合他們的想法來展示協(xié)同行為。分享信息和資源以促進(jìn)團(tuán)隊合作。定期安排會議進(jìn)行頭腦風(fēng)暴,設(shè)定目標(biāo),并對角色進(jìn)行對齊。使用協(xié)作聊天工具,如Slack或Teams,以保持開放的溝通。鼓勵面對面或視頻會議以便更清晰地溝通并避免誤解。通過共享文檔并實時合作來"并肩作戰(zhàn)"。快速且專業(yè)地解決沖突以維持健康的團(tuán)隊環(huán)境。以身作則,邀請共同創(chuàng)作和開放溝通。鼓勵團(tuán)隊成員在需要幫助或支持時尋求幫助。設(shè)定清晰,可衡量的目標(biāo)以跟蹤協(xié)作進(jìn)度和改進(jìn)。我們還詢問了是什么讓會議富有成效且有價值:
如果可以異步解決,就不要開會。提前宣布會議議程。設(shè)置合理的時間框架。會后明確定義清晰的目標(biāo)。由沖突驅(qū)動(我們在每個人都同意的主題上浪費了太多時間),我們應(yīng)該專注于沒有達(dá)成共識的事情。提前發(fā)送主題和閱讀資料。記錄/分享筆記。會議結(jié)束后明確的行動和其所有權(quán)7.有效協(xié)作提高代碼質(zhì)量隨著開發(fā)人員體驗的不斷定義,成功的開發(fā)人員協(xié)作也將如此。太多的艾特和消息會影響工作流,但仍然需要保持聯(lián)系。
在我們的調(diào)查中,開發(fā)人員表示有效的協(xié)作可以提高測試覆蓋率并更快、更清潔、更安全地編寫代碼——這對任何開發(fā)團(tuán)隊來說都是最佳實踐。這表明,當(dāng)開發(fā)人員與他人有效合作時,他們相信他們會構(gòu)建出更好、更安全的軟件。
開發(fā)人員普遍認(rèn)為有效的協(xié)作有助于改進(jìn)他們發(fā)布的內(nèi)容以及發(fā)布的頻率。
我們調(diào)查的開發(fā)者認(rèn)為合作和溝通--連同代碼質(zhì)量應(yīng)該是評估的首要任務(wù)。
從DevOps到敏捷方法論,開發(fā)者和更大的商業(yè)世界長期以來一直在談?wù)搮f(xié)作的重要性。但開發(fā)人員仍未在這一點上被衡量。我們請開發(fā)人員分享他們對衡量他們的合作情況的想法。以下是一位開發(fā)者的看法:公司和工程經(jīng)理應(yīng)該鼓勵定期的團(tuán)隊溝通,并設(shè)定時間來檢查--特別是在遠(yuǎn)程環(huán)境中,但要尊重開發(fā)人員的工作需要和專注。
開發(fā)人員認(rèn)為,與同事的有效和定期接觸對有效的團(tuán)隊合作至關(guān)重要。
8.工程經(jīng)理改善協(xié)作的 4 個技巧在 GitHub,我們的研究人員、開發(fā)人員、產(chǎn)品團(tuán)隊和分析師致力于研究和提高開發(fā)人員的生產(chǎn)力和滿意度。以下是他們給希望改善開發(fā)人員之間協(xié)作的工程領(lǐng)導(dǎo)者的建議:
在績效目標(biāo)中把合作作為一個目標(biāo)。這就為人們建立了合作的空間和期望。這可以以午餐和學(xué)習(xí)、聯(lián)合項目等形式進(jìn)行。定義和界定您組織中的協(xié)作情況。讓人們知道他們何時被告知某事與被咨詢某事。概述角色和職責(zé)的矩陣有助于定義每個人的角色,這也是 GitHub 團(tuán)隊已經(jīng)實現(xiàn)的。讓開發(fā)人員有時間交談并相互了解。特別是,遠(yuǎn)程或混合組織需要將開發(fā)人員的一部分時間和虛擬空間用于建立關(guān)系。確定主要和杰出的工程師。學(xué)術(shù)研究支持變革推動者在組織中的積極影響——以及他們應(yīng)該如何成為特別擅長協(xié)作的人。這是識別您杰出的工程師并將他們提升到可以模擬所需行為的地方的問題。9.開發(fā)人員已經(jīng)在工作中使用 AI 編碼工具
在美國大公司工作的開發(fā)人員中,有92%的人表示在工作或私人時間使用人工智能編碼工具,70%的人說他們看到了使用這些工具的巨大好處。
人工智能將繼續(xù)存在——它已經(jīng)在改變開發(fā)人員處理日常工作的方式。這使得企業(yè)和工程領(lǐng)導(dǎo)者采用企業(yè)級 AI 工具以避免他們的開發(fā)人員使用未經(jīng)批準(zhǔn)的應(yīng)用程序變得至關(guān)重要。公司還應(yīng)該建立使用人工智能工具的治理標(biāo)準(zhǔn),以確保它們的使用合乎道德和有效。幾乎所有的開發(fā)者都已經(jīng)在工作中和工作之余使用人工智能編碼工具。
10.開發(fā)人員相信 AI 編碼工具將提高他們的表現(xiàn)由于大多數(shù)開發(fā)人員都在工作場所嘗試使用 AI 工具,我們的調(diào)查結(jié)果表明,導(dǎo)致開發(fā)人員使用 AI 的不僅僅是興趣。相反,這是對人工智能編碼工具將幫助他們達(dá)到性能標(biāo)準(zhǔn)的認(rèn)可。
在我們的調(diào)查中,開發(fā)人員表示,人工智能編碼工具可以幫助他們達(dá)到現(xiàn)有的性能標(biāo)準(zhǔn),提高代碼質(zhì)量,加快輸出速度,減少生產(chǎn)級事件。他們還認(rèn)為,這些指標(biāo)應(yīng)該被用來衡量他們在代碼數(shù)量之外的表現(xiàn)。除了提高個人績效外,超過五分之四的受訪開發(fā)人員 (81%) 表示 AI 編碼工具將有助于加強(qiáng)其團(tuán)隊和組織內(nèi)的協(xié)作。
事實上,安全審查、計劃和結(jié)對編程是最重要的合作點,也是開發(fā)團(tuán)隊在人工智能編碼工具的幫助下應(yīng)該進(jìn)行的任務(wù)。這也表明,隨著開發(fā)人員在工作中增加對人工智能編碼工具的使用,代碼和安全審查仍將十分重要。開發(fā)人員認(rèn)為,隨著他們開始使用人工智能編碼工具,他們的團(tuán)隊將需要變得更加協(xié)作。
有時,開發(fā)人員可以用一行或多行代碼來做同樣的事情。盡管如此,在我們的調(diào)查中,仍有三分之一的開發(fā)人員表示,他們的經(jīng)理根據(jù)他們編寫的代碼量來衡量他們的績效。
值得注意的是,開發(fā)人員認(rèn)為人工智能編碼工具將使他們有更多的時間專注于方案設(shè)計。這有直接的組織效益,意味著開發(fā)者相信他們會花更多時間用人工智能設(shè)計新功能和產(chǎn)品,而不是編寫模板代碼。
開發(fā)人員已經(jīng)在使用生成式 AI 編碼工具來自動化部分工作流程,從而騰出時間用于更多協(xié)作項目,例如安全審查、規(guī)劃和結(jié)對編程。12.開發(fā)人員認(rèn)為人工智能可以提高生產(chǎn)力并防止倦怠開發(fā)人員認(rèn)為,AI編碼工具將幫助他們專注于更有價值的問題解決。
根據(jù)我們的調(diào)查,AI 編碼工具不僅可以幫助提高整體生產(chǎn)力,而且還可以提供技能提升機(jī)會,幫助打造更智能的員工隊伍。
57% 的開發(fā)人員認(rèn)為 AI 編碼工具可以幫助他們提高編碼語言技能——這是他們看到的最大好處。除了作為提高技能的輔助工具之外,開發(fā)人員還表示,AI 編碼工具還可以幫助減少認(rèn)知工作,而且由于心智能力和時間都是有限的資源,41% 的開發(fā)人員認(rèn)為 AI 編碼工具可以幫助防止倦怠。在我們之前進(jìn)行的研究中,87% 的開發(fā)人員報告說,AI 編碼工具 GitHub Copilot 幫助他們在完成更多重復(fù)性任務(wù)的同時保持腦力勞動。這表明 AI 編碼工具允許開發(fā)人員保留認(rèn)知努力,并專注于軟件開發(fā)或研發(fā)中更具挑戰(zhàn)性和創(chuàng)新性的方面。AI 編碼工具可幫助開發(fā)人員在工作時提高技能。在我們的調(diào)查中,開發(fā)人員始終將學(xué)習(xí)新技能列為積極工作日的第一大貢獻(xiàn)因素。但 30% 的人還表示,學(xué)習(xí)和發(fā)展會對他們的整體工作日產(chǎn)生負(fù)面影響,這表明一些開發(fā)人員認(rèn)為學(xué)習(xí)和發(fā)展會增加他們工作日的工作量。值得注意的是,開發(fā)人員表示 AI 編碼工具的最大好處是學(xué)習(xí)新技能——這些工具可以幫助開發(fā)人員在工作時學(xué)習(xí),而不是讓學(xué)習(xí)和開發(fā)成為一項額外的任務(wù)。開發(fā)人員已經(jīng)在使用生成式 AI 編碼工具來自動化部分工作流程,從而騰出時間用于更多協(xié)作項目,例如安全審查、規(guī)劃和結(jié)對編程。
展望開發(fā)人員滿意度、生產(chǎn)力和組織影響力都可以從 AI 編碼工具中獲得提升——這將對整體開發(fā)人員體驗產(chǎn)生重大影響。
92% 的開發(fā)人員已經(jīng)表示他們在工作和私人時間使用 AI 編碼工具,這清楚地表明 AI 將繼續(xù)存在。在我們調(diào)查的開發(fā)人員中,70% 表示他們已經(jīng)看到使用 AI 編碼工具帶來的顯著好處,在我們調(diào)查的開發(fā)人員中,81% 期望 AI 編碼工具能夠讓他們的團(tuán)隊更加協(xié)作——這對于希望同時提高開發(fā)人員效率和開發(fā)人員體驗的公司來說是一個凈收益。
值得注意的是,57% 的開發(fā)人員認(rèn)為 AI 可以幫助他們提高技能,并具有將學(xué)習(xí)和發(fā)展融入日常工作流程的潛力。考慮到所有這些,技術(shù)領(lǐng)導(dǎo)者應(yīng)該開始探索人工智能作為提高滿意度、生產(chǎn)力和整體開發(fā)人員體驗的解決方案。
除了探索 AI 工具外,工程和業(yè)務(wù)領(lǐng)導(dǎo)者還應(yīng)考慮以下三個要點,以改善開發(fā)人員體驗:
使用工具、流程和實踐幫助您的開發(fā)人員進(jìn)入心流狀態(tài),從而幫助他們提高工作效率、推動影響并開展創(chuàng)造性和有意義的工作。通過打破組織孤島并為開發(fā)人員提供有效溝通的機(jī)會來促進(jìn)協(xié)作。通過對 AI 的關(guān)鍵投資為開發(fā)人員工作流程中的技能提升騰出空間,以幫助您的組織為未來進(jìn)行實驗和創(chuàng)新。參考資料:
https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/
整理不易,點贊三連↓