分享豌豆莢基于團(tuán)隊協(xié)作的基本產(chǎn)品開發(fā)方案
首先從技術(shù)角度看。去年,豌豆莢的研發(fā)團(tuán)隊首先擬出了應(yīng)用內(nèi)搜索的技術(shù)協(xié)議,然后基于這個技術(shù)協(xié)議接入了一些合作伙伴的內(nèi)容。在他們的配合之下,這些內(nèi)容被應(yīng)用到豌豆莢主產(chǎn)品里面,比如跟貓眼做的電影票,再比如可以直接搜到知乎的問答,還有具體場景底下的一些用例。
今年,研發(fā)團(tuán)隊調(diào)整了具體的執(zhí)行策略,但覺得還是不夠快,所以又探索了一些新的方式。仍然是原來的那一套協(xié)議,但是不用開發(fā)者進(jìn)來,不用他們配合,而是自己做最快的數(shù)據(jù)接入的工作。這是今年的改變。這主要是從效率方面考慮的:需要開發(fā)者來配合的話,要考慮開發(fā)者的響應(yīng)時間,來來回回去溝通協(xié)議具體是什么樣的,可能一個來回就是一個星期,有兩三個來回一個月就過去了。其他的方向都是一樣的,接入的內(nèi)容還是會跟開發(fā)者溝通,一定是他們愿意接入的東西。
進(jìn)展確實(shí)很明顯,改變了策略之后,目前已經(jīng)接入了500家左右的應(yīng)用內(nèi)容。
還有一個很重要的事情,豌豆莢有一個很重要的、叫做Chana(剎那)的技術(shù),集成到了一覽里面。Chana是豌豆莢的鄧草原老師基于Akka開發(fā)的一個實(shí)時計算框架,是用 Scala語言編寫的。研發(fā)團(tuán)隊在底層做了應(yīng)用內(nèi)搜索的架構(gòu)升級,包括把這樣一個實(shí)時性和擴(kuò)展性都很棒的實(shí)時計算平臺引入進(jìn)來,以及對于底層的Storm等平臺的升級,這些可能是用戶看不見的,但是能很大地擴(kuò)展數(shù)據(jù)處理能力。
再從產(chǎn)品角度看。產(chǎn)品方面也很清楚,在去年一開始的時候,研發(fā)團(tuán)隊主要是在豌豆莢的主產(chǎn)品里做了很多創(chuàng)新的探索,看一下如何將提供給用戶的價值最大化。今年又有了更進(jìn)一步的全新的探索,基于應(yīng)用內(nèi)搜索技術(shù),推出了“豌豆莢一覽”和“Snap效率鎖屏”這樣的產(chǎn)品。研發(fā)團(tuán)隊也在產(chǎn)品中加了很多的應(yīng)用場景,比如用戶購買了電影票,可以很快地告訴用戶,你的電影馬上開始了,可以選擇打車過去,或是附近有什么好的餐廳,這些都是通過應(yīng)用內(nèi)搜索的技術(shù)把服務(wù)和內(nèi)容跟用戶當(dāng)前的產(chǎn)品結(jié)合在一起的具體例子。這兩個產(chǎn)品也是豌豆莢在應(yīng)用內(nèi)搜索產(chǎn)品化上給出的階段性答案。
協(xié)議:應(yīng)用內(nèi)搜索的基石
在剛開始的時候,研發(fā)團(tuán)隊會把每一個門類特別細(xì)節(jié)的東西都定義得很清楚,在接入的時候希望接入的內(nèi)容在每個門類下,這些字段都應(yīng)該很清楚再接入,這樣效率會比較低,現(xiàn)在會傾向于盡可能結(jié)構(gòu)化,一些不能結(jié)構(gòu)化的東西先把它半結(jié)構(gòu)化地拿進(jìn)來。這樣達(dá)到一個效率和最結(jié)構(gòu)化的信息和將來結(jié)構(gòu)化信息的利用有一個平衡。
另外,研發(fā)團(tuán)隊也在不斷地做一些細(xì)節(jié)的優(yōu)化。像前面提到的今年的變化,不再需要開發(fā)者主動的配合,所以內(nèi)部要考慮怎么能夠把各種各樣不同的、千奇百怪的應(yīng)用內(nèi)容跟協(xié)議搭進(jìn)來。說得通俗一點(diǎn),是怎么樣才能夠更聰明地去做適配,怎么樣才能更智能化地提高適配效率,在這方面做了很多工作。這個工作可能不是重新制定協(xié)議,而是對協(xié)議進(jìn)行一些簡單的升級,讓它能夠普適性做得更好。
這里還要提一下Deep Link。之所以有這個概念,是因?yàn)橐苿踊ヂ?lián)網(wǎng)發(fā)展起來,原來那套基于 HTTP、超鏈接實(shí)現(xiàn)互聯(lián)互通的互聯(lián)網(wǎng)被割成了以應(yīng)用為中心的信息孤島。要解決這個痛點(diǎn),所以很多廠商紛紛提出了自家的Deep Link,但是目前還沒有一個事實(shí)上的行業(yè)標(biāo)準(zhǔn)。比如說谷歌做了一個 App Indexing,F(xiàn)acebook 做了一個 App Links,大家的協(xié)議都會有或多或少的差異。目前看來,F(xiàn)acebook的協(xié)議因?yàn)榭紤]得更全面一些,所以成為事實(shí)標(biāo)準(zhǔn)的可能性會更大。但不管怎么樣,這個格局還是很紛亂的,大家更多是從自己的應(yīng)用場景、自己的應(yīng)用需求出發(fā),制定這樣的一套一套的規(guī)則。
豌豆莢去年做這件事的時候,更多是從自己和用戶的角度去考慮這件事情,主要是從三個點(diǎn)來考慮,一是普適性,二是經(jīng)濟(jì)性,三是實(shí)時性。先看普適性,豌豆莢做這件事情的時候,市面上已經(jīng)有谷歌和 Quixey的兩種協(xié)議,所以想兼容這兩種協(xié)議。如果開發(fā)者支持這兩種協(xié)議,可以直接接入進(jìn)來。再看經(jīng)濟(jì)性,豌豆莢采用的方案都是 Microdata 這種很成熟的技術(shù)方案,開發(fā)者可以很快地、比較容易地通過這些技術(shù)提交內(nèi)容。最后看實(shí)時性,對于豌豆莢接入的應(yīng)用內(nèi)容,如果在手機(jī)上看到一個內(nèi)容,它能夠更快地觸達(dá)用戶,還是很重要的。所以開發(fā)者可以通過實(shí)時API,快速提交內(nèi)容。當(dāng)時整個協(xié)議的思路主要是從這三個點(diǎn)出發(fā)。
在應(yīng)用調(diào)起方面,國內(nèi)的開發(fā)者其實(shí)對調(diào)起支持都不是特別友好,有一個效率比較高的方法,先去看開發(fā)者到底對調(diào)起的支持怎么樣,對于支持好的會在產(chǎn)品里直接調(diào)起應(yīng)用去打開這個頁面,如果不行的話,則會調(diào)起H5頁面。如果所有的開發(fā)商和廠商都能夠更重視調(diào)起這一塊,能夠把 Deep Link 這一塊做得更好,將來有希望做到應(yīng)用里面的每一個頁面都能夠被標(biāo)準(zhǔn)的調(diào)起,這樣以后應(yīng)用內(nèi)搜索可以做成跟網(wǎng)頁搜索一樣。不過這是下一步要做的工作,當(dāng)前還不是最重要的。最重要的是先讓用戶看到這里的價值,用戶喜歡用,反過來開發(fā)者就會看到里面的價值。
團(tuán)隊:小而美
應(yīng)用內(nèi)搜索方面,豌豆莢一直保持著一個小而精的工程團(tuán)隊,工程人員一直沒有特別大的增長,但是工程師搭配比較合理,有搜索領(lǐng)域的專家,也有工程能力很強(qiáng)的軟件工程師,還有很有創(chuàng)新精神、勇于探索的年輕人。另外,這個團(tuán)隊的工作也并不是完全自成一套,不是說完全從頭開始做的,也會用到很多外界成熟的第三方開源軟件。像公司里的Codis和Chana,覺得做得很好的東西,都會有機(jī)的結(jié)合到產(chǎn)品和工程里面來。團(tuán)隊也是挺開放的。
另外,像搜索團(tuán)隊,其實(shí)負(fù)責(zé)了豌豆莢的應(yīng)用內(nèi)搜索和應(yīng)用搜索等工作。
改組為項(xiàng)目制
要想了解一個團(tuán)隊的工作流程,必須先要了解團(tuán)隊的架構(gòu)。可能和你想的不一樣,豌豆莢團(tuán)隊的架構(gòu)并不是比較普遍的部門制,而是項(xiàng)目制。改組的原因是之前采用的部門矩陣管理制度使得同一位設(shè)計師或工程師會同時負(fù)責(zé)多個項(xiàng)目,不僅溝通成本大,排期優(yōu)先級也混亂難以協(xié)調(diào)。
新的項(xiàng)目制的流程是這樣的,當(dāng)一個新的項(xiàng)目確定后,便會確定對應(yīng)的設(shè)計、開發(fā)、運(yùn)營人員臨時組成一個項(xiàng)目團(tuán)隊。項(xiàng)目完成后該項(xiàng)目團(tuán)隊解散,再重組進(jìn)行下一個項(xiàng)目或進(jìn)入其他項(xiàng)目中(中間過程,項(xiàng)目成員每過3個月也可以申請調(diào)換到其他項(xiàng)目)。
沒有產(chǎn)品經(jīng)理
另外一個你可能意想不到的是,豌豆莢是沒有專門的產(chǎn)品經(jīng)理的。當(dāng)一個項(xiàng)目組建后,如果該項(xiàng)目產(chǎn)品是以設(shè)計為主導(dǎo)的,就由產(chǎn)品設(shè)計師整體負(fù)責(zé),如果該項(xiàng)目產(chǎn)品是以開發(fā)為主導(dǎo)的,就由開發(fā)工程師主導(dǎo)。主導(dǎo)人相當(dāng)于該項(xiàng)目臨時的產(chǎn)品經(jīng)理。
對工程師能否負(fù)責(zé)起這個角色的疑問,張濤告訴極客公園,在豌豆莢,很多產(chǎn)品都是由工程師自己做出來的,包括產(chǎn)品的原型、界面設(shè)計等,剛剛又有一位工程師從開發(fā)轉(zhuǎn)崗到產(chǎn)品設(shè)計,這在豌豆莢并不是第一例。年初王俊煜在接受 infoQ 采訪的時候也有提到過,“有不止一位豌豆在工程師和產(chǎn)品設(shè)計師之間有過相互轉(zhuǎn)換的經(jīng)歷”。
基礎(chǔ)了解后,下面就來從一個項(xiàng)目的流程(從設(shè)計開始到開發(fā)、測試、上線、后續(xù)的運(yùn)營、反饋迭代)來看看豌豆莢是如何利用工具增加工作的效率,減少那些“為了能夠完成工作而需要做的工作”的吧。
產(chǎn)品設(shè)計
前期設(shè)計
通過團(tuán)隊頭腦風(fēng)暴討論,然后用便簽把 idea 分類,然后作為一個個的任務(wù)歸類到項(xiàng)目管理工具 Asana 里,并指派給負(fù)責(zé)的人。以后這件事情只和這個人相關(guān),后續(xù)的進(jìn)度、流程都通過 Asana 的郵件通知去了解和安排。另外在 Asana 中默認(rèn)所有人都能看到所有項(xiàng)目,如果想和該負(fù)責(zé)人一樣實(shí)時跟進(jìn)的話只要 follow 一下就可以收到郵件提醒,保證透明性。
產(chǎn)品開發(fā)
開發(fā)的進(jìn)度管理也是使用 Asana,就像前面提到的那樣,最早人少的時候開發(fā)進(jìn)度是通過 Excel 管理的,后來使用一個類似微軟 Visio 的工具,但因?yàn)楸容^臃腫且無法跟蹤 BUG 所以很快就被拋棄。再后來轉(zhuǎn)向使用 Jira,因?yàn)?Jira 對 BUG 跟蹤以及進(jìn)度控制得很好,分配也比較細(xì),還可以統(tǒng)一協(xié)調(diào)。但后來因?yàn)槭褂贸杀咎撸脖粧仐?。Jira 之后開始試用 37signals 的 Basecamp,后來因?yàn)檫M(jìn)度不明確、速度慢也被拋棄。
最后開始試用 Asana,當(dāng)時豌豆莢是 Asana 的第一批用戶,也是第一個完整地將團(tuán)隊切換到 Asana 平臺上的(現(xiàn)在使用的團(tuán)隊還有Foursquare,Airbnb,DISQUS等)。
繼續(xù)接著上面的流程,當(dāng)設(shè)計輸出高保真原型圖后,將包括每一個像素點(diǎn)是多少等在內(nèi)的具體細(xì)節(jié)描述都寫在 Google Docs 文檔上,稍后工程團(tuán)隊會跟進(jìn),在這份文檔上與設(shè)計溝通確定好(中間會有改動),然后工程團(tuán)隊這邊也會出一份和設(shè)計文檔類似的實(shí)施文檔。這份文檔會給工程師以及一些技術(shù)大牛們過一遍,大體指出哪些地方應(yīng)該是什么樣,中間可能會面臨哪些風(fēng)險及遇到哪些問題,做一些技術(shù)上的指導(dǎo)。然后就是最后的 Coding 編碼了。Coding 過程中也是使用 Asana 進(jìn)行管理,哪些功能完成了就勾選一下選擇完成,之后工程師會收到通知,確認(rèn)這一塊已經(jīng)完成。后續(xù)每周有一個周會來檢查回顧上周碰到什么問題并確定本周來做什么,整個研發(fā)的過程就是這樣。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。