日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

2019 年,Shopify 在博客中分享了自己成功合并千名開發(fā)人員工作的經(jīng)驗(yàn),并介紹了工具 Merge Queue v2,很多人都好奇為什么 Shopify 要構(gòu)建這樣的一款工具呢?

其實(shí)答案很簡單,不少企業(yè)發(fā)展到一定階段后就會遇到這樣的情況。隨著業(yè)務(wù)發(fā)展,Shopify 意識到市面上沒有任何現(xiàn)成的產(chǎn)品可以徹底解決他們面臨的困難。從更長遠(yuǎn)地來看,Shopfiy 認(rèn)為公司應(yīng)該為開發(fā)人員提供盡量完善的開發(fā)體驗(yàn),并要塑造一種 " 軟件發(fā)布文化 ",所以就開始不斷改進(jìn)現(xiàn)有的工具鏈和流程方法。

Shopify 是這樣定義企業(yè)文化的:

Shopify 所有人信念和行為的總和。

軟件發(fā)布工作是開發(fā)工作的子集,自然," 軟件發(fā)布文化 " 也要和企業(yè)文化保持一致。Shopfiy 的軟件發(fā)布工作規(guī)范與其他企業(yè)沒有太大不同,比如他們要求錯誤的更改不應(yīng)該流入生產(chǎn)環(huán)境,破壞用戶體驗(yàn);生產(chǎn)環(huán)境中所做的更改不應(yīng)該犧牲安全性等等。

通往羅馬的道路不止一條,同樣的軟件發(fā)布文化,也有很多可選的實(shí)現(xiàn)路徑。Shopify 認(rèn)為,企業(yè)支持團(tuán)隊(duì)?wèi)?yīng)該為開發(fā)人員開辟一條路徑,讓他們自由發(fā)揮生產(chǎn)力和創(chuàng)造力,并實(shí)現(xiàn)自己的目標(biāo)。企業(yè)應(yīng)該營造一種氛圍,讓版本發(fā)布成為一種勝利時刻。

Shopify 如何評估軟件發(fā)布文化

如何塑造軟件發(fā)布文化?首先要考慮以下問題:

  • 開發(fā)人員希望選擇怎樣的工作方式?
  • 對他們來說哪些事情比較重要?
  • 他們?nèi)绾慰创脕碇С炙麄兊墓ぞ撸?/li>
  • 他們想知道多少幕后信息,想了解多少自己使用的工具背后的知識?

這些問題往往沒有單一的答案,尤其是 Shopify 這家企業(yè)中每天參與軟件部署工作的人員眾多,涉及的崗位也多種多樣。Shopify 選擇了一些主動和被動的方法來評估企業(yè)內(nèi)部的軟件發(fā)布文化,這些方法不分先后,它們共同描繪出了一幅關(guān)于開發(fā)人員如何使用各種工具的圖景。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

其中,被動方法主要用來管理和匯總輸入的信息,并不需要企業(yè)支持團(tuán)隊(duì)去做很多工作。其中,有一個方法是 開發(fā)人員滿意度調(diào)查,這是對 Shopify 全公司的開發(fā)人員每半年進(jìn)行一次的調(diào)查研究。開發(fā)人員需要報告很多信息,比如說他們對自己所使用的工具的滿意度,或者工作中哪些環(huán)節(jié)非常浪費(fèi)時間等等。

此外,公司還專門設(shè)立了面向所有人開放的 Slack 頻道。在這個頻道上,產(chǎn)品用戶可以從開發(fā)團(tuán)隊(duì)或其他用戶那里獲得支持,并報告他們遇到的問題。Shopify 團(tuán)隊(duì)會積極參與這些頻道的互動,培養(yǎng)社區(qū)氛圍并鼓勵開發(fā)人員分享經(jīng)驗(yàn)。需要注意的是,這些頻道并不是用來獲取產(chǎn)品反饋的主要渠道。

總的來說,他們希望能主動找出產(chǎn)品和服務(wù)中的痛點(diǎn)所在,而且意識到了這個過程并不能過分依賴用戶,因此 Shopify 也采取了一些積極的措施來找出最重要、優(yōu)先級最高的問題。

一種措施叫做 dogfooding。公司內(nèi)開發(fā)團(tuán)隊(duì)用來發(fā)布代碼的工具是和構(gòu)建與維護(hù)代碼的工具完全一致的。這樣就很容易找出服務(wù)的缺陷所在,并在出現(xiàn)產(chǎn)品問題時站在用戶的視角上理解其影響。

另一項(xiàng)重要資源是 Shopify 的 內(nèi)部支持團(tuán)隊(duì)。他們需要幫助用戶,還要支持企業(yè)內(nèi)部不斷發(fā)展的工具套件,這是很艱巨的挑戰(zhàn)。他們需要診斷問題,幫助用戶找到合適的團(tuán)隊(duì)來指導(dǎo)他們解決這些問題。他們能夠找出用戶在當(dāng)前工作流程中遇到的常見痛點(diǎn)以及概念和原型的潛在問題。

最后,在添加新功能或更改現(xiàn)有工作流程時,Shopify 會在整個過程中實(shí)施 用戶體驗(yàn)研究分析

  • 更好地了解用戶行為和期望
  • 在開發(fā)概念和原型時測試它們

當(dāng)開發(fā)人員發(fā)布 PR 時,團(tuán)隊(duì)會單獨(dú)考察開發(fā)人員的想法,了解他們都在考慮哪些內(nèi)容,在制定決策時都有怎樣的根據(jù)。團(tuán)隊(duì)會與設(shè)計(jì)師和撰稿人等用戶交流,學(xué)習(xí)他們的日常工作流程,了解他們所依賴的工具和用法。公司會讓實(shí)習(xí)生和新人測試產(chǎn)品原型,從中了解外部和新鮮視角的觀點(diǎn),并挑戰(zhàn)原有的產(chǎn)品假設(shè)。

有了這些流程,企業(yè)就能在整個構(gòu)建和發(fā)布過程中都能從真實(shí)用戶那里獲得一手反饋,進(jìn)而打造更好的產(chǎn)品和服務(wù)。

反饋是一種禮物 在 Shopify 經(jīng)常提到的一句話就是,反饋是一種禮物

評估軟件發(fā)布文化的目的是創(chuàng)建一個反饋循環(huán),讓用戶可以輕松談?wù)撍麄冇龅搅四男┱系K,收到反饋的開發(fā)團(tuán)隊(duì)會重視這些意見并嘗試采取對策。

還有很重要的一點(diǎn)是,用戶的反饋會讓產(chǎn)品團(tuán)隊(duì)充滿動力,即便反饋是負(fù)面的,這也是用戶重視產(chǎn)品、希望產(chǎn)品變得更好的一種證明,這自然會鼓勵團(tuán)隊(duì),甚至讓他們在面對困境時振作起來。用戶希望自己的反饋能有價值,這是企業(yè)要給用戶營造的氛圍,企業(yè)的軟件開發(fā)文化和工具鏈應(yīng)該支持這種良性循環(huán),讓所有人都能從中獲益。

Shopify 的軟件發(fā)布流程

Shopify 的軟件發(fā)布流程是怎樣的形態(tài),又有哪些可以改進(jìn)的部分呢?

發(fā)布管道

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

發(fā)布管道路徑

這就是 Shopify 發(fā)布管道的路徑。一開始是拉取請求(PR),然后是持續(xù)集成(CI)/ 合并,接著是金絲雀部署,最后是生產(chǎn)發(fā)布。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

PR 和 /shipit 命令

這套流程的第一步是開發(fā)人員創(chuàng)建 PR,然后在準(zhǔn)備交付時發(fā)出一條 /shipit 命令。接下來,Merge Queue 系統(tǒng)會嘗試將 PR 與主干 Master 集成起來。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

PR 合并到 Master,金絲雀部署

當(dāng) Merge Queue 確定更改可以成功集成時,PR 就會合并到 Master,并部署到 Shopify 的金絲雀基礎(chǔ)架構(gòu)中。金絲雀環(huán)境會隨機(jī)接收所有傳入請求的 5%。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

更改部署到生產(chǎn)環(huán)境

開發(fā)人員有一套工具,可以在金絲雀環(huán)境中測試更改 10 分鐘的時間。如果沒有手動干預(yù),并且金絲雀自動分析不會觸發(fā)任何警報,則更改將部署到生產(chǎn)環(huán)境中。

發(fā)布與恢復(fù)機(jī)制

每一位開發(fā)人員都希望能被信任,并對自己的工作擁有自主權(quán)。開發(fā)人員應(yīng)該能控制自己 PR 的整個發(fā)布過程。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

開發(fā)人員控制整個過程

在 Shopify 的軟件發(fā)布流程中,開發(fā)人員能控制整個發(fā)布過程。這里不存在什么發(fā)布管理器、注銷或者審核窗口。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

限制不良更改爆炸半徑的基礎(chǔ)設(shè)施

然而是人就會犯錯,出現(xiàn)問題是難免的,Shopify 當(dāng)然也不例外。為此,公司建立了一套基礎(chǔ)架構(gòu)來限制不良更改的爆炸半徑。最重要的是,企業(yè)相信每位開發(fā)人員都應(yīng)該承擔(dān)自己應(yīng)負(fù)的責(zé)任,并且如果他們的更改捅了簍子,他們也應(yīng)該能自己去恢復(fù)它。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

開發(fā)人員可以使用 /shipit--emergency 命令快速跟蹤修訂

一旦準(zhǔn)備好了修復(fù)程序(修復(fù) - 轉(zhuǎn)發(fā)或還原),開發(fā)人員就可以使用一條 /shipit --emergency 命令快速追蹤整個修復(fù)進(jìn)程。Shopify 沒有那么多恢復(fù)協(xié)議,而只有一個 緊急狀況 功能,這樣就能讓開發(fā)人員以最快的速度完成恢復(fù)操作。

快速發(fā)布

開發(fā)人員希望快速發(fā)布。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

發(fā)布速度是大多數(shù)企業(yè)應(yīng)用程序的一個關(guān)鍵要素。對于開發(fā)人員而言,如果能一天多次發(fā)布代碼并立即將其發(fā)送給最終用戶,就能極大提高生產(chǎn)力。但更重要的是,采用快速的發(fā)布流程可以帶來同樣快速的恢復(fù)流程。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

為了真正加快發(fā)布過程,企業(yè)是需要投入資源和成本的。除了專門的基礎(chǔ)架構(gòu)團(tuán)隊(duì),Shopify 還管理著自己的 CI 群集,容量高達(dá)數(shù)千個節(jié)點(diǎn)。

自動化

開發(fā)人員不想執(zhí)行重復(fù)性的任務(wù)。計(jì)算機(jī)最擅長做重復(fù)工作,所以這類工作應(yīng)該盡可能地自動化。Shopify 在諸如連續(xù)部署和金絲雀分析之類的地方實(shí)現(xiàn)了自動化。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

在 Shopify,開發(fā)人員用不著按一個部署按鈕,自動化流程會持續(xù)部署到金絲雀和生產(chǎn)環(huán)境。

揭秘 Shopify 的軟件發(fā)布流程,如何做到合并上千程序員的工作?

 

自動化固然很棒,但是某些時候開發(fā)人員還是需要手動控制的。在緊急情況下,開發(fā)人員可以鎖定自動部署并轉(zhuǎn)為手動部署。

分享到:
標(biāo)簽:程序員
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定