新聞中心
阿里妹導(dǎo)讀:為響應(yīng)國家號召,各“大廠”紛紛發(fā)出在家辦公,延遲上班的通知,一時間“在線協(xié)同辦公”成為熱點(diǎn)。不同于大型集團(tuán)公司,有足夠財(cái)力和能力構(gòu)建遠(yuǎn)程辦公系統(tǒng),中小企業(yè)既缺乏足夠的預(yù)算又缺乏相應(yīng)的經(jīng)驗(yàn)。阿里云云效一直致力于成為數(shù)字企業(yè)的研發(fā)效能引擎,在這個特殊時期,我們希望可以將自己的經(jīng)驗(yàn)和工具分享給中小企業(yè),讓他們在家也能安全高效地開發(fā)軟件。因此我們特別邀請了阿里巴巴高級技術(shù)專家張燎原,詳解“在線協(xié)同開發(fā)”的要訣。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的正陽網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在線研發(fā)協(xié)同的基礎(chǔ)是高可見性及快速連接
為了應(yīng)對互聯(lián)網(wǎng)業(yè)務(wù)的復(fù)雜性和不確定性的特點(diǎn),現(xiàn)代軟件開發(fā),逐步過渡到以客戶導(dǎo)向,小團(tuán)隊(duì)(單兵)作戰(zhàn)能力,快速鏈接生產(chǎn)要素,持續(xù)快速高質(zhì)量地交付有效價(jià)值的方式。分工越來越細(xì),整個軟件生產(chǎn)的過程,就是分而治之地解決問題,然后持續(xù)地集成發(fā)布的過程。
這種軟件開發(fā)方式,誰擁有更高的機(jī)動靈活響應(yīng)能力,和更高的協(xié)同性,誰就能在競爭中搶占先機(jī)。
互聯(lián)網(wǎng)技術(shù)讓互聯(lián)互通變得異常簡單。通信技術(shù)的發(fā)展,對互聯(lián)網(wǎng)應(yīng)用起到了極大的促進(jìn)作用。即時通信工具,也已經(jīng)超越了聊天的功能,釘釘項(xiàng)目群、釘釘視頻通話、釘釘視頻會議,再到其平臺演化出來各種OA應(yīng)用,助力快速連接。
協(xié)同的基礎(chǔ)之一就是連接,從人之間的連接,到人與物之間的連接,快速實(shí)現(xiàn)組織在線、溝通在線和協(xié)同在線。
生產(chǎn)工具的發(fā)展,顯著提升了軟件生產(chǎn)過程的可見性。研發(fā)過程的在線化,讓軟件工程的可見性到了前所未有的新高度。生產(chǎn)工具的進(jìn)步,已經(jīng)讓生產(chǎn)過程沒有任何秘密可言,隱性的工作逐漸顯性化。而協(xié)同的基礎(chǔ),就是信息的共享,生產(chǎn)過程的可見性。為人們所熟知的Scrum開發(fā)框架中,將透明性(Transparency)列為三大支柱之首。
注:Scrum三大支柱分別是:透明(Transparency),檢視(Inspection)和適應(yīng)(Adaption)。
軟件架構(gòu)與部署方式的演進(jìn),有利于分工協(xié)同。根據(jù)康威定律:設(shè)計(jì)系統(tǒng)的架構(gòu)受制于產(chǎn)生這些設(shè)計(jì)的組織的溝通結(jié)構(gòu)。那么,反過來,系統(tǒng)設(shè)計(jì)的架構(gòu),也反作用于溝通結(jié)構(gòu)及軟件的集成方式。同時,在云開發(fā)、中間件、中臺化策略的大環(huán)境下,業(yè)務(wù)層更多關(guān)注在業(yè)務(wù)創(chuàng)新上,分工變得越來越細(xì)。
??
??
部署架構(gòu)的演進(jìn),也讓系統(tǒng)中的局部,可以獨(dú)立持續(xù)部署。小團(tuán)隊(duì),或單兵的價(jià)值體現(xiàn)越來越大,而團(tuán)隊(duì)與團(tuán)隊(duì)之間,人與人之間的連接,也從傳統(tǒng)樹狀的方式,逐漸往網(wǎng)狀的方向演進(jìn)。協(xié)同,就是在這樣的網(wǎng)狀環(huán)境里,能夠清晰地識別出需要連接的生產(chǎn)要求,然后快速在線協(xié)同。
對于知識經(jīng)濟(jì)活動,高可見性,快速連接能力意味著靈活協(xié)作的可能,而在線化是這一切的基礎(chǔ),在線化讓人們有機(jī)會在任何時候任何地方,快速集結(jié)、組織協(xié)作,讓SOHO這樣的遠(yuǎn)程辦公方式成為可能。
在線化,是數(shù)字化協(xié)作的基礎(chǔ),為未來智能化的演進(jìn)創(chuàng)造了可能的條件,這是現(xiàn)代化軟件研發(fā)手段演進(jìn)的趨勢。
下面,我們將從“研發(fā)協(xié)同”, “代碼協(xié)同”及“發(fā)布協(xié)同”三個方面,闡述如何在線協(xié)同,身處不同地域,不同時區(qū)的你我他,能夠快速連接起來,真正進(jìn)入到數(shù)字化研發(fā)時代。
在線項(xiàng)目協(xié)同
需求協(xié)作,從拉通和可視化端到端的價(jià)值流動開始
可見,是協(xié)作的基礎(chǔ)。通過電子看板,以需求為流動單元,端到端可視化價(jià)值流,以流動效率為核心組織需求交付。可視化端到端價(jià)值流必須做到:價(jià)值驅(qū)動,即每一個流動單元體現(xiàn)的都是體現(xiàn)用戶價(jià)值的業(yè)務(wù)需求;前后拉通,即可視化的目標(biāo)是“端到端”的價(jià)值流,始于用戶問題的提出,終于用戶問題的解決。
??
??
我們可以通過以下三個標(biāo)準(zhǔn)來檢驗(yàn)可視化的效果,即:
是否能反映端到端的交付過程
是否能即時體現(xiàn)影響價(jià)值流動的瓶頸和問題
是否能依據(jù)可視化的信息進(jìn)行協(xié)作和做決定
同時,打通從項(xiàng)目協(xié)作到軟件發(fā)布的全鏈路,代碼提交和發(fā)布信息同樣可以即時反映到需求卡片上,集中及時的工作狀態(tài)同步,減少溝通基本靠吼的套路,使得項(xiàng)目管理的目標(biāo)更關(guān)注在價(jià)值交付和問題解決上。
管理價(jià)值流動,構(gòu)建價(jià)值反饋閉環(huán),讓交付更可控
軟件交付的關(guān)鍵,是客戶價(jià)值的流動,而組織壁壘、溝通延遲、協(xié)作阻塞是主要障礙。基于端到端可視化的價(jià)值流看板,產(chǎn)品需求排期,還是團(tuán)隊(duì)每日站會的任務(wù)指派,圍繞需求看板,來組織日常的項(xiàng)目協(xié)作。自右往左檢視需求的交付狀態(tài),從測試工程師、開發(fā)工程師到產(chǎn)品經(jīng)理,跨職能協(xié)同。同時,需求的任何風(fēng)險(xiǎn)及問題,高亮顯性地展示在看板上,以釘釘?shù)燃磿r通信工具,快速反饋到責(zé)任人,做到即時發(fā)現(xiàn)、即時響應(yīng),就問題快速鏈接集結(jié)。
形成從需求規(guī)劃、需求排期、每日站會,再到需求復(fù)盤的完整價(jià)值反饋閉環(huán)。從整體交付節(jié)奏上,形成月規(guī)劃、周排期、日站會的節(jié)奏。而這一切,完全可以通過在線化的電子看板進(jìn)行。????
限制在線品數(shù)量,加速業(yè)務(wù)需求交付
影響需求(價(jià)值)流動效率的關(guān)鍵是批量和并行,通過限制在制品數(shù)量(我們稱之為束水攻沙),加速需求交付。同時,數(shù)字化協(xié)作,有利于研發(fā)過程中,效能數(shù)據(jù)的沉淀,建立效能改進(jìn)的基線和愿景目標(biāo),以客戶響應(yīng)周期和質(zhì)量提升為目標(biāo),驅(qū)動問題的發(fā)現(xiàn)和解決,建立持續(xù)改進(jìn)的基礎(chǔ)。
在線代碼協(xié)同
代碼協(xié)作是代碼集體所有制(Collective Code Ownership)
團(tuán)隊(duì)成員共同為代碼負(fù)責(zé)。基于Git分布式版本控制系統(tǒng),實(shí)現(xiàn)了基本的代碼托管理能力。在當(dāng)前的代碼協(xié)作概念中,分支即是協(xié)作的載體,世界各地的開發(fā)者們可以根據(jù)產(chǎn)品需求,建立不同分支,同時開發(fā)。恰當(dāng)?shù)姆种J?,讓分散的工作,快速集成在一起,并在版本上可追溯。每個代碼庫的readme信息詳細(xì)說明代碼設(shè)計(jì),建立基本的代碼質(zhì)量管理標(biāo)準(zhǔn)(如單元測試和自動化的增量代碼靜態(tài)掃描),保證持續(xù)增量代碼不會影響到已有功能,讓協(xié)作成為可能。
提升代碼的可見性,助力代碼協(xié)作
無論從簡單的復(fù)雜度、重復(fù)度分析、依賴分析,再到領(lǐng)域語言識別,安全敏感信息識別等,像阿里巴巴代碼規(guī)約等工具,極大提升了代碼的可見性,程序員們已經(jīng)完全可以從大量的代碼中,抓住關(guān)鍵信息。
??
??
同時,借助云端IDE、云端分布式代碼托管工具,有效地促進(jìn)社交化編程,無論是結(jié)對編程,還是代碼評審,讓代碼本身及編碼過程顯性化,可以:
促進(jìn)團(tuán)隊(duì)內(nèi)部知識共享,提高團(tuán)隊(duì)整體水平,確保團(tuán)隊(duì)統(tǒng)一規(guī)范,不出現(xiàn)“天書”代碼;
同時,工具的早期介入潛在缺陷發(fā)現(xiàn)率可以提升30%;
透明的代碼,多人的討論可以促進(jìn)正向鼓勵,主動思考和追求卓越。
代碼安全
代碼在線化協(xié)同,代碼共享、復(fù)用文化的建立都依賴于代碼平臺復(fù)雜的權(quán)限控制體系,這是一把雙刃劍,越開放意味著代碼泄露的風(fēng)險(xiǎn)越大,但是越封閉意味著協(xié)同效率低下。為了讓開發(fā)者可以更好地享受代碼協(xié)作帶來的紅利,需要重點(diǎn)注意以下幾個方面:
代碼中的敏感信息:比如數(shù)據(jù)庫密碼,被有意或無意泄露后會導(dǎo)致公司業(yè)務(wù)出現(xiàn)致命打擊。
訪問權(quán)限控制:常見的有訪問IP控制,離職權(quán)限回收,代碼庫可見范圍設(shè)置等。
異常行為風(fēng)險(xiǎn)識別:擁有事后審計(jì),事前預(yù)警的能力,比如大量下載代碼異常行為檢測和預(yù)警。
代碼協(xié)作是技術(shù)卓越的追求,是培養(yǎng)軟件匠藝精神的機(jī)會,借助先進(jìn)的代碼協(xié)作工具及技術(shù)手段,促進(jìn)代碼及編碼過程的可見性,同時,讓每一位程序員能夠有信心地提交每一行代碼。
在線發(fā)布協(xié)同
現(xiàn)代化企業(yè)級軟件交付過程常常是多人多角色協(xié)作,跨越多個系統(tǒng)交互,同時為了保障交付可靠,交付流程往往也是復(fù)雜和難以完全標(biāo)準(zhǔn)化。而阿里巴巴為什么能緊跟市場變化,快速寫出高質(zhì)量軟件,這得益于多年沉淀出的一套完整DevOps方法論和產(chǎn)品,確保軟件交付過程在線高效可靠。
從流程標(biāo)準(zhǔn),工序改進(jìn),建立在線發(fā)布協(xié)作
??
??
在線發(fā)布協(xié)同,需要基于同一個交付流水線進(jìn)行,首先,需要拉通軟件集成發(fā)布的完整流程。打通從變更到交付的完整系統(tǒng);將流程工具化,通過工具串起整個集成交付過程;同時,明確流程中各階段的準(zhǔn)入準(zhǔn)出標(biāo)準(zhǔn),下游活動基于上游產(chǎn)出質(zhì)量。其次,按工序建立質(zhì)量守護(hù)系統(tǒng),并使每一道工序自動化。再次,建立反饋機(jī)制,有問題能夠精準(zhǔn)定位,即時響應(yīng),快速修復(fù)。建立相應(yīng)的度量反饋機(jī)制,還能對流程和工序進(jìn)行持續(xù)優(yōu)化。
真正的在線發(fā)布協(xié)同,應(yīng)該是滿足:流程工具化、部署無人化、測試自動化、反饋數(shù)字化的要求。
特性分支驅(qū)動多人多角色在線協(xié)作
為了實(shí)現(xiàn)多人研發(fā)不打擾,代碼功能可以自由可靠組合交付,阿里巴巴生產(chǎn)經(jīng)驗(yàn)積累出一套AoneFlow代碼分支管理方法,以特性變更為單元,使用CI/CD 流水線完整的覆蓋了從構(gòu)建、測試到部署整個持續(xù)交付過程,過程中的每一個步驟和任務(wù)的信息都可以通過消息、郵件、釘釘機(jī)器人等告知和追溯,使研發(fā)、測試、運(yùn)維、配管等角色能在線協(xié)同,異步工作。
用云原生技術(shù)打破開發(fā)與運(yùn)維的邊界
以Kubernetes、Serverless、Service Mesh、Cloud IDE為代表的多項(xiàng)云原生技術(shù)在過去一年讓人印像深刻。這套開箱即用的開源軟件,讓中小公司快速的獲得了以往互聯(lián)網(wǎng)大廠才有的精項(xiàng)軟件交付能力,比如復(fù)雜的流量治理能力,灰度發(fā)布能力,A/B測試能力,多環(huán)境管理能力,基礎(chǔ)設(shè)施一鍵拉起,快速擴(kuò)縮容能力等等。但在企業(yè)采納新技術(shù)的同時,也面臨著諸多挑戰(zhàn),比如開源軟件復(fù)雜的搭建過程,黑屏化的交互設(shè)計(jì),缺乏研發(fā)管理方法,缺乏企業(yè)權(quán)限管理能力等。阿里巴巴也在積極將CI/CD工具、測試環(huán)境管理方法、應(yīng)用運(yùn)維理念、DevOps協(xié)同方法論等與云原生技術(shù)融合貫通,為開發(fā)者提供開箱即用的新技術(shù)解決方案。
使用“云效”輕松實(shí)現(xiàn)一站式在線研發(fā)協(xié)同
工欲善其事必先利其器,云效可以提供從“需求 ->開發(fā)->測試->發(fā)布->運(yùn)維->運(yùn)營”端到端的在線協(xié)同服務(wù)和研發(fā)工具,讓你輕松實(shí)現(xiàn)一站式研發(fā)協(xié)同。
??
??
我們可以這樣使用云效來完成一天的工作:
晨會上團(tuán)隊(duì)基于精益看板進(jìn)行需求、任務(wù)對齊,完成任務(wù)指派;
開發(fā)同學(xué)根據(jù)特性開發(fā),創(chuàng)建變更分支;
通過線下或云端開發(fā)環(huán)境進(jìn)行編程工作,然后提交代碼;
代碼自動觸發(fā)自動的代碼掃描,并發(fā)送給指定的代碼評審員進(jìn)行評審;
完成評審的代碼自動觸發(fā)集成發(fā)布流水線,自動化的完成構(gòu)建,生成Docker鏡像,分別在開發(fā)環(huán)境、集成環(huán)境及預(yù)發(fā)環(huán)境進(jìn)行部署,完成相應(yīng)的驗(yàn)證工作;驗(yàn)證完之后處于待發(fā)布狀態(tài),觸發(fā)上線審核流程,運(yùn)維完成審核發(fā)布上線;
過程中任何問題通過釘釘,遵循no news is good news的原則,及時反饋到指定負(fù)責(zé)人,做到準(zhǔn)確反饋、即時響應(yīng),快速恢復(fù)。盡量避免垃圾短信式反饋,過多的噪音,反而會降低協(xié)作的效率。
我們希望將云效多年積累的研發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn)和先進(jìn)的工具分享出來,讓小企業(yè),具備大智慧,快速開展在家研發(fā)軟件工作。
關(guān)于云效:云效,企業(yè)級一站式DevOps解決方案,源于阿里巴巴先進(jìn)的管理理念和工程實(shí)踐,致力于成為數(shù)字企業(yè)的研發(fā)效能引擎!云效提供從“需求 ->開發(fā)->測試->發(fā)布->運(yùn)維->運(yùn)營”端到端的在線協(xié)同服務(wù)和研發(fā)工具,通過人工智能、云原生技術(shù)的應(yīng)用助力開發(fā)者提升研發(fā)效能,持續(xù)快速交付有效價(jià)值。
當(dāng)前標(biāo)題:不得不在家辦公后,技術(shù)人如何在線研發(fā)?
文章分享:http://fisionsoft.com.cn/article/djogejg.html


咨詢
建站咨詢
