作為一個老牌的傳統(tǒng)行業(yè)老大,自然也有一套自己的完整研發(fā)流程。但是,由于國內(nèi)外研發(fā)的項目的區(qū)別,以及人員工作節(jié)奏的不同,原有的瀑布式研發(fā)流程自然也并不完全適應(yīng)國內(nèi)的研發(fā)中心。國內(nèi)的項目,都集中在行業(yè)的中低端領(lǐng)域,價格競爭激烈,高端產(chǎn)品的技術(shù)優(yōu)勢在這一市場中無法帶來很多的價值。同時,國內(nèi)的工程師,說句實在話,工作比國外的同事努力得多,你得用足夠多的工作量和足夠快的工作節(jié)奏喂飽他們,否則很容易產(chǎn)生惰性。基于這些特點,我將一些敏捷開發(fā)的概念融入了現(xiàn)有的流程中,也參考了這周剛剛介紹的Design Sprint的一些想法。管理、流程都只是手段,能夠開發(fā)出好產(chǎn)品才是最重要的。
先看一下現(xiàn)有的流程。如果仔細理解這些流程,也不得不佩服德國人在流程設(shè)計上的抽象能力。
第一階段:驗證產(chǎn)品技術(shù),排除技術(shù)風(fēng)險;調(diào)研市場,生成MRD;
第二階段:驗證需求,生成PRD;使產(chǎn)品符合公司的整體戰(zhàn)略,技術(shù)上可以復(fù)用,生成ARD(Architecture Requirement Document)
第三階段:證明需求可實現(xiàn),找到需求解決方案,生成PSD(Product Specification Document);是產(chǎn)品結(jié)構(gòu)化可復(fù)用的解決方案ASD(Architecture Specification Document)
第四階段:研發(fā),保證產(chǎn)品符合驗收條件,通過核心用戶測試(Beta test)
第五階段:準(zhǔn)備上市,準(zhǔn)備所有上市的材料、文檔。
每個階段之間,都有一次公司各個大佬都參加的評審會,稱為Gate。
在傳統(tǒng)行業(yè),這一套流程并沒有太大的問題,特別是針對高端硬件的研發(fā)項目,更利于風(fēng)險控制和管理。但是,針對中國研發(fā)中心的任務(wù),弊病也是很明顯的:
1. 研發(fā)周期過長。從開始研發(fā)到上市,最短也需要1-2年時間。
2. 需求不夠靈活。從流程上可以看到,MRD/PRD這些需求文檔,和真正的研發(fā)過程相差了很久,在2年的研發(fā)過程中,需求的變更需要更多的流程。市場瞬息萬變,特別對于軟件來說,2年之后的技術(shù)肯定已經(jīng)天翻地覆,需求需要更加敏捷地管理。
但是,在傳統(tǒng)行業(yè)大公司呆過的人可能會深有體會,不走流程,也就意味著沒有資源,游戲規(guī)則是一定要遵守的。于是,針對本地的快速研發(fā)流程,改進如下:
1. 重新定義MRD/PRD里的需求級別。原先的需求,分為三個等級:Must-have/Shoud-have/Could-have。一般的項目,大部分都是Must-have級別,也就是一定是要在研發(fā)階段完成的。高級別的需求太多,優(yōu)先級不夠明確,也是研發(fā)周期過長的原因之一。因此,根據(jù)KANO模型,我重新劃分了級別:基礎(chǔ)功能Must-have;亮點功能Excite-to-have(對應(yīng)Should-have),期望功能Nice-to-have和無差別功能(對應(yīng)Could-have)。同時,大幅度減少Must-have的占比,只將整個項目的基礎(chǔ)功能,如協(xié)議、架構(gòu)等,作為Must-have優(yōu)先級。盡量完成多的Should-have功能,Could-have基本不做。
2. 縮短研發(fā)周期至6個月。對于大的軟件項目,寧愿分為多期完成,每一期完成之后,根據(jù)市場的反饋重新定義需求。我們不期望2年憋一個大招,而是期望小步快跑。
3. 在第四階段(研發(fā)),部分采用敏捷開發(fā)模式,2周為一個周期,不斷將迭代的產(chǎn)品更新給核心用戶,并得到反饋。而不是在研發(fā)完成之后,做一次大規(guī)模的beta test,因為那時候即便發(fā)現(xiàn)問題,也已經(jīng)為時已晚。
4. 借鑒Design Sprint,將UI/UX設(shè)計,從項目中抽離出來,分配盡可能多的資源。傳統(tǒng)企業(yè)往往重視技術(shù)而不重視用戶交互,可以做出很多大而全的軟件,而做不出小而美的方案。給予UI/UX相對獨立的環(huán)境,矯枉過正,加強對UI/UX的重視。
流程是手段,不是目的,這門課讓我開拓了眼界,每周的作業(yè)雖然經(jīng)常拖稿,但寫作是強迫自己去思考的一種方式。課程給了我一個武器庫,從中選擇最適合自己的武器,應(yīng)用到具體的工作中,也是我參加這門課的目的。同時,武器庫的使用,也需要小步快跑,不斷試錯,而不是等到學(xué)完之后,再放一個大招。