GitHub是一家著名的開源托管平臺公司,員工人數(shù)當(dāng)前僅有35人,它的成功離不開公司在研發(fā)管理上的創(chuàng)新之處。GitHub工程師ZachHolman分別寫了三篇博文,對GitHub公司的研發(fā)管理之道進行了闡述,三篇博文分別是《HowGitHubWorks:HoursareBullshit》、《HowGitHubWorks:BeAsynchronous》、《HowGitHubWorks:CreativityisImportant》,CSDN已對第一篇文章進行了全文翻譯。為了讓大家對GitHub的研發(fā)管理方法有一個更全面的了解,CSDN對這三篇博文進行了整合,內(nèi)容如下:
別用時間衡量程序員的工作
在諸多企業(yè)中,時間是決定生產(chǎn)效率的一個主要因素。但GitHub的衡量標(biāo)準(zhǔn)則是:高質(zhì)量代碼。ZachHolman認(rèn)為一天高效的代碼編寫工作,遠(yuǎn)勝過一周不在狀態(tài)的、懶散的工作狀態(tài)。
為了讓員工每天可以更高效的工作,GitHub允許員工有更靈活的工作時間,為員工營造了一個寬松的工作環(huán)境。在這個環(huán)境中,他們可以工作更長的時間,并一直保持對工作的激情。他認(rèn)為限定員工在辦公室中辦公的時間會影響他們的工作狀態(tài)。
在GitHub中工作的員工,有的可能在上午7點就來到辦公室工作;也有的在下午3點才來。有的人覺得在家工作比較高效。如果員工不喜歡在辦公室工作,他們可以不用每天來公司(雖然大多數(shù)情況下,每個人都會來公司)。
GitHub之所以采用如此“松散”的工作制度,原因有二,一是工作在寬松的環(huán)境中,可以使員工在他們喜歡的時間和地方工作;二是GitHub希望創(chuàng)造一個可以使員工最高效率工作的工作環(huán)境。因為每個人高效工作的時間都不相同,所以GitHub不會強迫任何一個人。事實證明,GitHub如此的管理方法,確實收到了很好的效果。
ZachHolman認(rèn)為當(dāng)用時間來衡量員工工作時,他們的工作就會變成更多的時間編寫更少的代碼。
異步工作方式
GitHub通過兩種方式來實現(xiàn)異步工作,分別是網(wǎng)絡(luò)聊天室、代碼評審工具PullRequests。
GitHub在初創(chuàng)的頭兩年中,并沒有固定的辦公地址。Campfire網(wǎng)絡(luò)聊天室是該公司主要的“辦公環(huán)境”。雖然現(xiàn)在GitHub已有固定辦公場所,但Campfire仍是平時解決問題的主要溝通工具。通過聊天工具可以實現(xiàn)異步工作。即便你外出就餐,回來后通過查看留言即可了解外出期間發(fā)生的相關(guān)工作事件;你可以通過發(fā)消息詢問某同事一個問題,而不用擔(dān)心是否會打擾他,他方便之時,自然會給你回復(fù);你即便不在公司,通過聊天室也猶如像在辦公室工作一樣。
GitHub開發(fā)工作流中離不開PullRequests(GitHub自己開發(fā)的代碼評審工具)的使用。假如你想對代碼庫進行了修改或添加一個新特性,你可以延伸出一個新條目,在PullRequests中新建一條PullRequest,你的同事會在以下三種情況下復(fù)查你提交的代碼:1.他們受到這些改變的影響;2.他們對這些改變很感興趣;3.當(dāng)他們時間充裕時。之后,我們可以在部分機器上運行調(diào)試這部分代碼。如果一切運行正常,即可在主庫中進行修改。通過PullRequests,就必要為此再開會了。ZachHolman不建議通過開會來開展審查工作。因為開會不僅會使參會者無法進行其正實際進行的工作,同時會議內(nèi)容很容易被遺忘,即便當(dāng)時已做了筆記。正如RoR之父在GettingReal一書中總結(jié)的:“會議有害”。
GitHub的經(jīng)驗也說明了,取消會議,讓有責(zé)任心的員工根據(jù)他們的時間安排工作的優(yōu)先權(quán),可以使他們完成重要工作的同時,更高效率的完成其他工作。
創(chuàng)新的工作環(huán)境很重要
一個富有創(chuàng)新的工作環(huán)境可以讓人們興奮。興奮是很容易傳染,可以由一個項目傳染到另一個項目。即便其中某個項目沒有賺到錢,被它傳染的另一個項目也可能會使公司大賺一筆。
GitHub公司中很多員工喜歡喝酒。公司便在辦公室中為他們準(zhǔn)備了可以隨時取用的啤酒。對于GitHub來說,酒是該公司創(chuàng)新環(huán)境中重要的一個因素,GitHub也從中獲益良多。
在GitHub發(fā)起的酒會上,來自洛杉磯乃至全世界的人濟濟一堂,不僅可以很好地宣傳公司的產(chǎn)品,同時也會讓人感到在GitHub工作是件令人興奮的事(這也是尋找優(yōu)秀員工的絕佳機會,大家一起喝上幾杯,遠(yuǎn)比正兒八經(jīng)、充滿壓力的面試過程更容易招到靠譜的人)。在公司內(nèi),因為對酒的愛好,員工之間除了是同事關(guān)系之處,還是朋友。員工之間更加真誠,更加互助。酒是社交關(guān)系的潤滑劑也許緣由于此吧。同時酒吧也是一個人才聚集的地方,通過集思廣益,便會萌發(fā)出極具創(chuàng)造力的點子。據(jù)統(tǒng)計,很多令人眼前一亮的產(chǎn)品點子多誕生于洛杉磯的酒吧中。
營造創(chuàng)新環(huán)境,GitHub采取的另一項措施便是鼓勵員工與眾不同。GitHub中以Ruby為主要開發(fā)語言,公司中大部分開發(fā)人員全天使用Ruby。GitHub鼓勵員工不要受限于現(xiàn)在的工作流程。公司在辦公室為從沒有接觸過硬件開發(fā)的員工開設(shè)了一個Arduino(開源電子原型設(shè)計平臺)商店。GitHub每月會組織員工舉行健身俱樂部活動,還會針對在Twitter上誰擁有最多的粉絲進行激烈的辯論,同時鼓勵員工在公司內(nèi)部發(fā)表演講,談?wù)剰墓殴志幊陶Z言到爬山生活中點點滴滴。員工對生活中的不同領(lǐng)域發(fā)生興趣,有利于他們從不同角度思考問題。個人提高了,公司也隨之提高了。
創(chuàng)造力具有自我引導(dǎo)作用。可以說很多人都不能明確說出自己到底喜歡做什么。如果你喜歡做某件事情,那就放手去做吧。事實證明,只有真正喜歡一件事的人才會把這件事做得很漂亮。在GitHub中,員工可以利用PullRequests嘗試他們所有的新想法,其他員工可以在此原型的基礎(chǔ)上不斷進行迭代,這是構(gòu)建新產(chǎn)品的一個偉大方法。
像IBM這樣的大公司可能比較重視資金的投入,但對于一個創(chuàng)業(yè)公司,這是行不通的。一個創(chuàng)業(yè)公司可能不必限定工作時間,不必開過多會議,員工的代碼可以進行點對點的審查,從而創(chuàng)建一個很有趣的公司。同時注意你的公司不應(yīng)該只開發(fā)你自己的產(chǎn)品,應(yīng)該集思廣益,讓員工投入到產(chǎn)品的創(chuàng)新過程中。