YesDev:如何快速搭建企業(yè)標(biāo)準(zhǔn)化研發(fā)流程?
在1997年,開源運(yùn)動(dòng)的領(lǐng)導(dǎo)者之一 Eric S·Raymond發(fā)表文章,闡述了開源項(xiàng)目?jī)煞N不同開發(fā)模式,并將其比喻為「大教堂模式」與「集市模式」。隨后在 1999 年出版成書,被稱為開源圣經(jīng)的《大教堂與集市》。
在Linux的開源世界里,采用的是“集市”模式,更多是自主、自發(fā)、自我的協(xié)作和創(chuàng)作,面對(duì)未知的領(lǐng)域,通過Bottom-Up自下而上,Linux是顛覆性的,并取得了巨大的成功。
受此啟發(fā),對(duì)于商業(yè)軟件系統(tǒng)、對(duì)于企業(yè)、對(duì)于創(chuàng)業(yè)團(tuán)隊(duì),應(yīng)該采用哪種開發(fā)流程、哪個(gè)協(xié)作模式,才不會(huì)混亂、才不會(huì)內(nèi)耗、反而更能讓項(xiàng)目取得成功呢?
標(biāo)準(zhǔn)化研發(fā)流程搭建思路和方向一家企業(yè),從招聘軟件開發(fā)工程師、產(chǎn)品經(jīng)理、技術(shù)經(jīng)理、測(cè)試人員到組建開發(fā)團(tuán)隊(duì),在日常企業(yè)辦公過程中,在國內(nèi),與國外的氛圍不同,需要在內(nèi)部制定一套標(biāo)準(zhǔn)化的研發(fā)流程,明確每個(gè)崗位、每個(gè)人員需要共事的流轉(zhuǎn)流程。不能過于崇尚所謂的敏捷開發(fā)而任其個(gè)人自我發(fā)揮。
在過往十多年的研發(fā)管理過程中,我發(fā)現(xiàn),不管是做游戲開發(fā),還是做電商行業(yè);不管是幾個(gè)人的創(chuàng)業(yè)團(tuán)隊(duì),還是幾百人成熟企業(yè)亦或是上市公司,作為老板、CTO、技術(shù)管理者、或技術(shù)經(jīng)理,都需要在內(nèi)部明確一套標(biāo)準(zhǔn)化的開發(fā)流程,甚至還需要在企業(yè)大范圍內(nèi)明確好和其他部門進(jìn)行跨部門溝通協(xié)作的大流程。
沒有流程那不行;有了標(biāo)準(zhǔn)化的研發(fā)流程卻不匹配你的現(xiàn)狀也不行;流程匹配了但不執(zhí)行也不行;執(zhí)行了卻沒有及時(shí)動(dòng)態(tài)調(diào)整升級(jí)你的流程也不行。總而言之,研發(fā)流程不是萬能的,沒有最好的說法,只有更合適。更適合你和你自己團(tuán)隊(duì)的,就是更好的。匹配,更重要。
我曾經(jīng)在給一家做SaaS解決方案的企業(yè)做技術(shù)顧問時(shí),就見證了他們研發(fā)從痛苦到規(guī)范化的成長(zhǎng)過程。一開始,他們內(nèi)部也有明確研發(fā)流程,但是不匹配。表現(xiàn)出來的癥狀是什么呢?最明顯、最為痛苦、最尷尬的莫過于在每次要給股東大客戶進(jìn)行系統(tǒng)演示時(shí),總會(huì)出現(xiàn)這樣那樣的問題,驗(yàn)收時(shí)總掉鏈子。老板很尷尬、很糾結(jié)也很無力感,明明知道問題出現(xiàn)在那,卻不知道怎么規(guī)避和從根本上解決。員工和團(tuán)隊(duì)也很累,天天都很忙,驗(yàn)收演示前一晚總得要加班到很晚,第2天一演示還是有問題。開發(fā)說是測(cè)試的問題,測(cè)試說是開發(fā)的問題,差點(diǎn)都要拍桌子干起來,怎么辦?!
后來經(jīng)過梳理發(fā)現(xiàn),背后的流程明顯不匹配產(chǎn)品開發(fā)和交付的現(xiàn)狀。例如:缺少統(tǒng)一的預(yù)發(fā)布環(huán)境,都是在開發(fā)人員本地電腦上進(jìn)行聯(lián)調(diào)測(cè)試,在驗(yàn)收前直接合并發(fā)布到正式環(huán)境,東拼西湊,總會(huì)有這個(gè)那個(gè)的遺漏,沒有統(tǒng)一進(jìn)行集成測(cè)試。又如:每次演示時(shí)經(jīng)常會(huì)出現(xiàn)數(shù)據(jù)庫報(bào)錯(cuò)。為什么?因?yàn)閿?shù)據(jù)庫新加的字段又沒忘了同步到正式數(shù)據(jù)庫!后來要求每一次DDL和DML都要記錄到git代碼倉庫中,發(fā)布前統(tǒng)一申請(qǐng)線上數(shù)據(jù)庫變更,有了記錄和變更申請(qǐng)的環(huán)節(jié),后來這類問題就給杜絕了。還有:以前每次發(fā)布都是人工進(jìn)行操作,沒有做到自動(dòng)化、一鍵發(fā)布,甚至那邊正在驗(yàn)收開大會(huì)投大屏演示,這邊還在手動(dòng)發(fā)布改正式環(huán)境,那有系統(tǒng)不崩的道理。很多問題,都是流程不規(guī)范、操作不規(guī)范、不透明、不科學(xué)導(dǎo)致的。
歸根到底,要么是流程有問題、要么是溝通有問題、要么是太依賴于人員和手工操作,導(dǎo)致每一次交付的質(zhì)量和效率,都不如人意。
為此,老板總是私下問我:軟件開發(fā),怎么就那么難?
管理者需要一個(gè)好工具軟件開發(fā),真的好難嗎?不見得。那,軟件開發(fā),真的好容易嗎?也不是。
但,辦法總比困難多,花點(diǎn)時(shí)間、花點(diǎn)精力,問題總是能解決的。這也是作為技術(shù)管理者應(yīng)該肩負(fù)的責(zé)任。
如果你的團(tuán)隊(duì)也正在經(jīng)歷開發(fā)慢、協(xié)作難、交付差的情況,我的建議是,重新再一起梳理你團(tuán)隊(duì)現(xiàn)有的開發(fā)流程,并且讓每個(gè)成員(如開發(fā)人員、測(cè)試人員、產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理等)、每個(gè)對(duì)接的部門(如市場(chǎng)部門、客服部門、財(cái)務(wù)部門、運(yùn)營(yíng)部門等)、每個(gè)老板(如你的上級(jí)、總監(jiān)、老板)都清楚、認(rèn)同和支持統(tǒng)一的開發(fā)流程。最后,把開發(fā)流程圖畫出來,貼出來,共享出來。有必要,可以組織會(huì)議進(jìn)行培訓(xùn)、講解和明確。

接下來,再結(jié)合你團(tuán)隊(duì)現(xiàn)在正在使用的項(xiàng)目管理工具,進(jìn)行流程上的約束、明確和記錄。
例如,過往我們就用YesDev為不少企業(yè)解決了研發(fā)過程中遇到的各類問題,而且還根據(jù)企業(yè)的需要進(jìn)行了開發(fā)流程的個(gè)性化設(shè)置、配置和調(diào)整。

首先,定義你團(tuán)隊(duì)開發(fā)流程中所需要的需求節(jié)點(diǎn)狀態(tài)。對(duì)于互聯(lián)網(wǎng)SaaS產(chǎn)品,常用的需求狀態(tài)是(從起點(diǎn)到結(jié)束):需求中、設(shè)計(jì)中、排期中、研發(fā)中、待測(cè)試、測(cè)試中、待發(fā)布、已上線、已完成、掛起。
企業(yè)管理員也可以到Y(jié)esDev后臺(tái)自己進(jìn)行配置,包括:需求狀態(tài)、需求優(yōu)先級(jí)、需求評(píng)審狀態(tài)。
YesDev全局別名配置:
https://www.yesdev.cn/platform/default-like/global-alias

例如,對(duì)于需求優(yōu)先級(jí),在某家輕醫(yī)美企業(yè)他們的定義是:P0:臨時(shí)緊急且重要需求;P1:緊急且重要;P2:重要不緊急;P3: 緊急不重要;P4:不緊急且不重要。并且,需求收集每個(gè)月和各部門需求方開會(huì)收集一次,先放到騰訊在線excel文檔,再同步錄入到Y(jié)esDev需求池集中管理。
隨后,管理員還可以根據(jù)實(shí)際需求流轉(zhuǎn)的過程,把每一個(gè)需求狀態(tài)能流轉(zhuǎn)的節(jié)點(diǎn)和順序在后臺(tái)進(jìn)行約束和配置。例如:對(duì)于已完成的需求,不希望再進(jìn)行任何流轉(zhuǎn),可以對(duì)于已完成的需求,取消全部的狀態(tài)流轉(zhuǎn)。
YesDev開發(fā)流程配置:
https://www.yesdev.cn/platform/default-like/development-process

上面兩步是針對(duì)需求開發(fā)流程的設(shè)計(jì)和配置,簡(jiǎn)單好用又直接。如果管理員還需要針對(duì)需求列表和單個(gè)開發(fā)的需求進(jìn)行調(diào)整和偏好配置,例如,如果需要對(duì)需求列表默認(rèn)顯示的需求字段和需求搜索條件進(jìn)行調(diào)整,可以自行設(shè)置默認(rèn)需求篩選器:
YesDev需求篩選器配置:
https://www.yesdev.cn/platform/default-like/screen

最后對(duì)于單個(gè)需求所需要的默認(rèn)組件,管理員也可以根據(jù)業(yè)務(wù)需要進(jìn)行個(gè)性化配置。
YesDev需求組件模塊配置:
https://www.yesdev.cn/platform/default-like/module

對(duì)于產(chǎn)品經(jīng)理:
可以定期收集業(yè)務(wù)部門的需求,用excel批量導(dǎo)入或單個(gè)錄入到Y(jié)esDev需求池。如果需要區(qū)分不同的產(chǎn)品線需求,可以通過產(chǎn)品分類來實(shí)現(xiàn);如果需要區(qū)分不同需求方的需求,可以使用需求方字段;如果還需要其他自定義的需求分類方式,可以使用自定義需求標(biāo)簽。
YesDev需求池,
https://www.yesdev.cn/platform/requirements/reqm

對(duì)于需求方:
可以查看每周需求排期,查看本周或自己提的需求什么時(shí)候可以發(fā)布上線,以及當(dāng)前是處理什么流轉(zhuǎn)階段。
YesDev需求排期,
https://www.yesdev.cn/platform/week2/schedule-reqm

對(duì)于開發(fā)人員:
在每個(gè)協(xié)作的需求,可以根據(jù)制定的需求流轉(zhuǎn)順序和過程,進(jìn)行流轉(zhuǎn)。后面還可以統(tǒng)計(jì)每個(gè)需求狀態(tài)停留的時(shí)長(zhǎng)和研發(fā)效率。
YesDev項(xiàng)目需求管理:
https://www.yesdev.cn/platform/project/projects-detail

對(duì)于項(xiàng)目經(jīng)理:
可以統(tǒng)一管理和查看每個(gè)項(xiàng)目的需求數(shù)量、完成情況和項(xiàng)目進(jìn)度,還可以進(jìn)行分組管理。
YesDev項(xiàng)目列表:
https://www.yesdev.cn/platform/project/projectList

對(duì)于測(cè)試人員:
測(cè)試人員可以創(chuàng)建測(cè)試用例、測(cè)試庫和測(cè)試計(jì)劃,并和項(xiàng)目關(guān)聯(lián),最后提交Bug缺陷時(shí),還可以和需求進(jìn)行關(guān)聯(lián)。
YesDev測(cè)試計(jì)劃:
https://www.yesdev.cn/platform/test-plan/index

最后,當(dāng)需要進(jìn)行每月考核時(shí),可以使用YesDev提供的周報(bào)、月報(bào)、統(tǒng)計(jì)報(bào)表和其他分析數(shù)據(jù),形成你團(tuán)隊(duì)的閉環(huán)考核。持續(xù)復(fù)盤總結(jié)和提升。
