好工具,促成好開發(fā)
前言
在大學(xué),我讀的是軟件工程專業(yè),那時使用的是Visual Studio IDE編輯器,可以斷點調(diào)試、代碼自動補全、語法檢測,用它來開發(fā)MFC和編寫C#窗口應(yīng)用真的非常方便、友好、強大。

后來,我在維護PhalApi開源項目時,使用docsify來編寫和維護技術(shù)文檔,也非常方便、實用,乃至后來至今,我都使用它來維護各類產(chǎn)品的使用手冊、使用文檔和教程。

在職業(yè)上,我曾經(jīng)任職在唯品會等上市公司,接觸并使用了confluence這款專業(yè)、無比強大的企業(yè)知識管理與協(xié)同軟件,可以用于構(gòu)建企業(yè)wiki,讓我印象非常深刻。一方面,我用wiki編寫并維護了很多文檔、包括技術(shù)文檔、設(shè)計文檔、項目文檔、故障復(fù)盤、創(chuàng)新分享、新人指引等;另一方面,wiki的宏、設(shè)計、功能、協(xié)作和界面都在我使用過程中提供了貼心、友好和有力的支撐;還有一方面,我連續(xù)任職的幾家企業(yè)中,不約而同都使用了confluence這款軟件。

好工具,促成好開發(fā)
過去的經(jīng)驗,以及多年的總結(jié),我覺得,對于一名開發(fā)工程師,一名在職場的技術(shù)人員,好的工具,能讓你的研發(fā)、工作、協(xié)同事半功倍。
作為工具,它確實不能代替你去自主工作、去自主開發(fā),但它可以幫助你解決可能遇到的某些問題,提升你的工作效率,減少工作出錯的可能性,引導(dǎo)你往更優(yōu)秀的方向發(fā)展和前進。
“好工具,促成好開發(fā)。” -- 黃禪宗
YesDev的特點和作用
YesDev是一款專注于企業(yè)研發(fā)協(xié)同和管理的工具。它非常適合給企業(yè)的研發(fā)團隊用來進行產(chǎn)品研發(fā)的管理和團隊協(xié)作。YesDev有SaaS在線版本,也支持企業(yè)私有部署。
特別對于研發(fā)團隊,對于一家企業(yè),在軟件產(chǎn)品研發(fā)過程中,好的軟件系統(tǒng),能理解和適合自己產(chǎn)品研發(fā)團隊所使用的協(xié)作工具,無疑能在更多的方面促成好開發(fā)。例如:項目管理、需求管理、缺陷管理、文檔協(xié)作、溝通交流、數(shù)據(jù)報表、持續(xù)集成等。YesDev作為一體化的研發(fā)管理平臺,提供了團隊日常研發(fā)的各類功能和幫助。

YesDev有以下特點:
特點1:適合更多研發(fā)模式
以自主產(chǎn)品研發(fā)的全生命周期協(xié)同與管理為主,同時可以滿足支持外包開發(fā)項目的項目管理,以及面向ToB客戶的項目服務(wù)。
特點2:連接更多工作場景
支持日常研發(fā)工作、H5移動辦公、ChatOps、OpenAPI、當(dāng)面溝通、每日站會、遠程協(xié)作、工作匯報、客戶溝通等。
特點3:滿足更多管理需求
包括個人層面、團隊層面、管理層面和公司層面的多層級管理和多維度的管理需求。
特點4:支持靈活的個性化配置
靈活的各類配置,讓這款工具更加適合你團隊的使用的流程。設(shè)定
如何做好企業(yè)研發(fā)管理?
做產(chǎn)品研發(fā),從來都不是一件容易的事情。對于聚集在一起的一群人,從一個抽象的需求開始,最終交付出有價值、符合用戶需求甚至超出期望的軟件產(chǎn)品,更是一項挑戰(zhàn)。
試想一下,那么多人、幾萬到十幾萬行的源代碼、數(shù)以萬計的數(shù)據(jù)庫和數(shù)據(jù)庫記錄、還有那么多服務(wù)器環(huán)境,中間還有需求文檔、UI設(shè)計稿、Bug、技術(shù)文檔、測試報告,還要穿插開會、溝通、匯報、外部合作、APP上架審核等,如何做到多而不亂?如何做到穩(wěn)中求勝?如何做出高產(chǎn)出?這些都是很值得思考的問題。
有團隊,不等于有產(chǎn)出。也并不是人員越多,開發(fā)越快。
下面結(jié)合經(jīng)驗,以及YesDev這款工具,還有當(dāng)前我們團隊的研發(fā)情況,進行分享,給大家一點參考和借鑒。
花更多的時間,死嗑產(chǎn)品
在某次飯桌上(也是我唯一一次和老板吃飯的場合),公司老板CEO說道,做產(chǎn)品,就是要死嗑,沒有捷徑,也沒有退路。
創(chuàng)業(yè)越久,我對此的理解和感悟,就越發(fā)深刻。
做開發(fā),做產(chǎn)品,是要花時間的。有家花店,名字叫“花點時間”,這名字起得好,我也在上面買過多次的花,品質(zhì)都不錯。做軟件產(chǎn)品的,也是急不得,需要持續(xù)投入時間、投入精力、投入你的專業(yè)。不是因為這一次有客戶過來買單了,你趕一個版本或追加一些新功能,而是提前做好產(chǎn)品規(guī)劃,持續(xù)迭代,不斷精進。
MVP只是一個開始,但不是一個常態(tài),隨著使用的用戶和客戶越來越多,產(chǎn)品的升級和迭代,就要越發(fā)穩(wěn)健。例如YesDev的PRD文檔到目前一年多的時間,就已經(jīng)有上百份了,平均每周要輸出2份產(chǎn)品迭代的需求。

上面是我本地的截圖,略顯凌亂,以下是我上傳到Y(jié)esDev的效果。就會非常清晰,每個人可以根據(jù)他的需求,進行劃分,哪些在做的,哪些還沒做的,哪些做好的,一目了然。從以下截圖來看,雖然有100多份需求,但當(dāng)前剩余沒做的需求只有3份。從某個程度上說,我們團隊的研發(fā)速度和需求消化能力還是很強的。

在企業(yè)研發(fā)中,最最最為重要的就是,在需求這個源頭要牢賓把控。產(chǎn)品需求,是一切項目管理和流轉(zhuǎn)的源頭,這個起點控制不好,就會混亂、失控。一方面,盡量避免一句話口頭需求,盡量盡量要書面化,用郵件或YesDev或其他工具進行記錄和跟蹤,做到多而不亂,如果有條件,能書面化更好,轉(zhuǎn)換成技術(shù)人員可以理解的需求文檔或PRD。另一方面,需求的提出和流轉(zhuǎn)要控制好。不管需求緊急與否,統(tǒng)一郵技術(shù)負責(zé)人收集和對接,避免需求方、業(yè)務(wù)方直接找到一線的技術(shù)人員進行私下溝通和處理。
小結(jié):把控需求,死嗑產(chǎn)品。
盡最大努力,保障交付質(zhì)量
每一次發(fā)布和交付,都意味著風(fēng)險和故障的來臨。一個細小的不足或某一行代碼問題,都有可能導(dǎo)致很大的故障和損失。
企業(yè)規(guī)模越大,發(fā)布越要規(guī)避風(fēng)險。發(fā)布有風(fēng)險,操作須謹慎。
以我們的YesDev最近即將發(fā)布的企業(yè)YesDev v3.1版本為例,為了最大保障交付給企業(yè)客戶使用的新版本能順利運行和完美升級。除了常規(guī)的開發(fā)和測試,我們團隊做了以下事情:
內(nèi)部話題:如何最大限度保障企業(yè)獨立版的交付質(zhì)量?
1、整理測試用例,編寫測試計劃,進行全面的功能測試和回歸測試
2、補充PHP單元測試,提高核心代碼的測試覆蓋率到80%及以上?
3、相互code review,前端和后端的
4、查看對比過去saas的commit記錄和源代碼文件對比
5、進行預(yù)安裝,在純凈環(huán)境從零安裝給新模擬的客戶
6、全員重新回顧YesDev工作全流程
7、跟進交付升級后,客戶服務(wù)器的錯誤日記,定期巡查和回訪
8、進行梯度升級
9、整理產(chǎn)品功能點的差異對比,避免遺漏
其中,我們在YesDev維護了企業(yè)v3.1測試計劃,共有73個用例,第二輪測試通過率是96%。

以下是部分用例:

還可以通過腦圖,從整體宏觀看到整體測試計劃、測試模塊、測試用例和Bug的關(guān)聯(lián)和分布情況。

又如,我們用項目文檔維護和在團隊內(nèi)部再次共同回顧和梳理了YesDev在SaaS產(chǎn)品和企業(yè)獨立版之間的全流程協(xié)作圖。

把交付和發(fā)布作為最終目標,以結(jié)果為導(dǎo)向,和團隊一起共同推進。
保持友好,充分溝通,積極達成
作為工程師,要專業(yè)但不能太技術(shù)化,不能只關(guān)注寫代碼,還要鍛煉解決問題的能力。而作為在職場上的工程師,還要學(xué)會和掌握一些軟技能,例如和需求方、和業(yè)務(wù)部門的溝通與協(xié)作,要多溝通、多確認、多反饋,運用我們的專業(yè)技能來幫助其他部門更好解決他們在工作中所遇到的問題。
YesDev在設(shè)計時,就關(guān)注到了溝通和反饋的重要性和必要性。YesDev有三個核心的閉環(huán),信息流就是其中一環(huán)。
例如:每日站會可以使用敏捷看板,在關(guān)鍵的項目節(jié)點和里程碑進行團隊內(nèi)部的面對面溝通和確認。還有在開會、面對面溝通等場景,YesDev都提供了友好的支撐。

更為重要的是,在項目、需求、問題和任務(wù)流轉(zhuǎn)過程中,可以支持更加實時的消息推送,讓協(xié)作更加透明,讓業(yè)務(wù)方和項目干系人能及時了解到最新的項目狀態(tài)。

聊天群的特點,意味著消息會很多,難免會有干擾,但可以設(shè)置消息不允許通知,并且可以為不同的工作組綁定不同的聊天群。目前支持的群有:釘釘、企業(yè)微信、飛書、喧喧等。消息通知機制如下,讓消息推送更精準。

與此同時,郵件作為工作中重要的交流通道和匯報方式,YesDev也提供了極大的整合。一方面,一線的員工,他個人可以接收到非常精準的郵件通知,是和個人密切有關(guān)的通知,例如:項目指派、需求指派、Bug指派等,都是需要自己處理的事項。另一方面,作為管理者,可以接收和查看重要的匯報郵件、匯總報表,可以在關(guān)鍵的時機和場合掌握最核心、最重要的信息。例如有:自動匯總的員工周報、可以每周定時發(fā)出的項目、需求、測試KPI報表等。這些郵件,可以在重要的場合為你的匯報提供更多的數(shù)據(jù)支撐。

站內(nèi)的消息通知+實時的群消息同步+精準個人郵件通知,YesDev為企業(yè)研發(fā)提供了一套體驗更佳的溝通和反饋機制。
明確流程,遵循約定
YesDev和其他同類工具,最大的區(qū)別,可能是在于項目的定義。YesDev同樣以項目為核心,但我們更加推薦在YesDev的項目是短、平、快的項目,可以在1~3周可以完成并交付的項目,符合敏捷開發(fā)的“小步快跑、快速迭代”的精神。
所以,如果你進入了YesDev,第一眼看到的就是當(dāng)前項目。就和微信的最新聊天會話一樣,最近有更新的項目會自動排列在前面,讓團隊更加關(guān)注當(dāng)前項目,保持活躍、保持活力、保持生氣。

組織架構(gòu)會決定信息的流向,不同的研發(fā)團隊有不同的協(xié)作流程,但不管是哪個流程,都要在團隊內(nèi)部充分同步和共享。并且要把一些注意事項、內(nèi)部紅線、約定等進行同步。
例如,YesDev推薦的協(xié)作流程如下。以需求池為起點,以版本發(fā)布為終點,構(gòu)成單向圖。每一次迭代為一個周期,如此不斷持續(xù)迭代。

對于一些工作準則、內(nèi)部約定和注意事項,我們會先定好,再開會宣導(dǎo),最后在YesDev通過公告彈窗(即黑板)每天強化這種文化和氛圍。當(dāng)前我們的內(nèi)部宣傳內(nèi)容是:
1、#緊急?線上故障,立即處理并發(fā)布修復(fù)
2、#重要?線上故障,當(dāng)天盡快處理并發(fā)布修復(fù)
3、#中 #低?線上故障,在接下來最近的發(fā)布窗口一起發(fā)布修復(fù)
12月代碼注釋規(guī)范
1、#必須,需求類的代碼注釋規(guī)范,格式:需求#XXX,XXXXXXX
2、#可選,問題類的代碼注釋規(guī)范,格式:bug#XXX,XXXXXXX

要協(xié)作,更要管理
在企業(yè)產(chǎn)品研發(fā)中,除了要求每個成員都具備各自的專業(yè)技能外,還需要每個成員都能很好的進行協(xié)作,比如前端和后端的開發(fā)聯(lián)調(diào),技術(shù)和測試之間的Bug解決,開發(fā)人員和業(yè)務(wù)部門的對接等。
但國外和國內(nèi)的情況又不同,國外推崇扁平化協(xié)作,但在國內(nèi)還是需要扁平化管理和進行一定程度上的團隊管理。但給予團隊的是指點,不應(yīng)是指指點點。這要求,作為管理人員,要能在一定的高度上給予團隊更高階的梳理、指導(dǎo)和幫助,讓團隊可以跳出原來自己站在森林里面的局限,放眼更長遠、更高層面的理解和把控。
這要求,我們管理者,要能看懂?dāng)?shù)字背后的意義。再進一步,我們需要有數(shù)據(jù),才能看數(shù)字。
YesDev提供了項目管理和團隊管理中的信息、報表、圖表和數(shù)字。例如,有整體的宏觀數(shù)據(jù),從以下真實數(shù)據(jù),你可以從中觀察和發(fā)現(xiàn)什么規(guī)律和嗎?

再來對比另一個團隊的數(shù)據(jù),是否可以發(fā)現(xiàn)一些問題以及解決方案?

再回到每周兩個關(guān)鍵維度的匯總信息。一方面是團隊的產(chǎn)出和交付能力,這方面可以通過需求排期來體現(xiàn)和觀察所得。不管團隊在背后做了多少事情,至少每周要的產(chǎn)品需求上的迭代和更新。要讓老板、業(yè)務(wù)方、客戶、需求方每周都有新收獲。

另一方面,要關(guān)注研發(fā)人員和團隊的工作飽和情況。工作時間是我們最為寶貴的資源,要充分利用、合理安排、及時調(diào)整。不宜過于飽滿,但也不能過于稀疏。工作太多,天天加班也不是健康的狀況;工作太少缺少規(guī)劃,時間得不到有效使用,日積月累就會導(dǎo)致產(chǎn)品的迭代速度和競爭力得不到保障。

“牛人不可怕,可怕的是牛人比你更努力?!?/strong>
古云此日足可惜,吾輩更應(yīng)惜秒陰?!?/strong>
寫在YesDev 3.1版本更新之際
YesDev要做的事情很簡單,就是切切實實成為企業(yè)研發(fā)更貼切的工具。
我們團隊,將持續(xù)努力,死嗑產(chǎn)品。如果哪一天,你上班來到公司,打開電腦,用到了YesDev進行研發(fā)的協(xié)同和管理。不是因為我們在那一天或那一周做了什么,而在于我們這幾年一直在做了什么。
用心做事,大有不同。?
一起加油!
