文化編碼(Coding Culture):幫你構建更強的團隊,創造更好的產品

作者: Sven Peters  來源: InfoQ  發布時間: 2015-06-16 17:51  閱讀: 7462 次  推薦: 15   原文鏈接   [收藏]  

  英文原文:Coding Culture: How To Build Better Products by Building Stronger Teams

  譯/叢一

  軟件開發人員通常會付出大量的時間和精力在如何構建最好的產品上。我們常會糾結應該使用哪種Web框架,是用NoSQL數據庫還是SQL數據庫?不過,盡管這些問題十分重要,開發人員通常會忽視掉軟件開發過程中與這些問題同樣重要的一個方面——文化。本文將與讀者分享在Atlanssian公司中如何保持健壯的創新和協作文化氛圍的經驗。

  產品時刻都在發展變化。在之后的幾年中,一個你傾注過血汗和眼淚的產品可能會不復存在。不過,如果你能同時專注于創造健壯的團隊和編碼文化,你就能夠時刻準備著,抓住出現的機遇(克服障礙)。而且,發展強健的文化需要對團隊所代表的立場達成共識,而這種凝聚力也會正向地反映到團隊所構建的產品上。偉大的文化促成偉大的產品。

  那么什么是“偉大的文化”?人們通常會將文化可見的外部標志——免費食物、免費飲品、瑜伽課程、Aeron電腦椅、電視游戲、Nerf 玩具槍——錯誤地等同于文化。的確,許多公司,特別是科技企業都會提供這些很棒的福利,但是這與文化沒有半點關系。文化是我們如何交流、工作、組織、榮辱與共。文化無法準確描述,但是它能夠讓員工更加快樂、更有生產力。如果員工害怕失敗,公司等級森嚴,雇主把利潤看得比員工更重要,即使有再多的免費食物和公務津貼也無濟于事。

  當今的職場已經不再由朝九晚五,打卡上下班,流水線式的心態所主導。對于知識型勞動者來說,如軟件開發人員,并不是用容量或時間,而是用創造力和質量衡量產出的價值。如今,只要有需要,我們可以自由選擇在辦公室工作還是在家工作,或者是在酒店的房間里工作。這會創造無數令人激動的機會,培養一種能夠讓所有員工都受益的文化氛圍。

  創新文化

  在科技界有一個耳熟能詳的故事,小型創新公司隨著規模的增長會逐漸失去創新的能力。的確,大型組織與初創企業相比會更加結構化,缺乏靈活性,這會導致難以孕育開創性的想法并使之浮出表面。文化如此重要的一個原因就是無論公司規模多大,它都可以幫助公司始終保持創新。創造一個創新的文化氛圍不只是說“好吧伙計們,創新的時間到了。”或者開辟一個專門的“創新部門”那么簡單。我們不可能命令創新,也不可能將創新隔離在一個孤立的群體中。

  在我個人的經驗中,鼓勵人們創新的最好方法就是給予他們充足的時間開創想法并嘗試實現這些想法。在Atlassian ,我們每個季度會將所有員工集合到一起,開展一次名為”ShipIt Day”的24小時黑客馬拉松活動。所有對如何提升部門和產品有好的想法的人都可以加入到ShipIt Day中。圍繞著那些最有影響潛力的想法,組成多個團隊(或者也可以獨自奮戰),然后在周四下午三點,啟動ShipIt Day。除了到周五下午三點必須要有交付物之外,沒有任何其他規則。這是一項全球范圍的Atlassian辦公室活動,所有人最終會投票選出一個全球優勝者。

  在24小時內所取得的成就令人驚奇。許多來自于ShipIt Day的很棒的產出物最終都融入到了我們的產品中。此外,這些活動能讓人們心情愉悅,因為他們有了一個可以將想法實現的渠道。ShipIt Day激勵公司中的每個員工不斷鞭策自己并且思考用不同的方式解決問題。

  快樂文化

  去年出現的一項重量級研究證實了我們之前的感性認識——快樂的員工更加多產,通常也就能促使公司盈利更強,發展更迅速。ShipIt Day成為人們保持快樂的一部分不僅是因為他們能夠將自己的想法實現,還因為它將人們聚在一起。在快樂的團隊中員工互相了解,互相尊重并且一同享受共度的時光。雇主可以通過開辟專門的社交時間,讓員工可以休息和放松,從而培養快樂的工作氛圍。

  公司歡樂時光、夏季戶外派對和主題假日活動都是可以將不同部門的各類員工匯集到一起的很棒的手段。共同慶祝團隊的勝利也是個好主意,例如舉辦版本發布派對,因為這對出色工作的認可非常重要。與人分享勝利的感覺更加甜蜜。此外,也可以組織像漂流或者攀巖這樣的活動,員工能夠進行團隊合作并且更加深入地了解同事的優缺點。這類活動可以增強一起共事的員工之間的關系并且能夠讓那些沒有太多交流機會的員工之間建立聯系。在坦誠相見和相互交流時,有助于人們感覺更加舒適,同時還可以突出作為一個團隊榮辱與共的感覺,這有助于避免負面態度或相互指責。

  目前許多公司已經在開展這類活動,并認為營造快樂的文化氛圍,這就是他們需要做的全部工作。但實際并非如此。

  為了確保員工能夠快樂努力的工作,經理需要建立快速方便的檢查機制,快速得到員工關于當前工作方式以及工作改進意見的快速反饋。Atlassian構建了一個名為MoodApp的iPad應用,放置在辦公室的每個出口,這樣當員工離開時就可以分享他們的感觸,是否能感受到他們的經理的支持等。我們發現盡管超過90%的員工都比較滿意當前的工作,仍有大約30%的受訪者認為,在他們出色地完成某些工作時,并未因此得到認可。我們將這一比例告知團隊領導,并發起一項促進榮譽計劃(Kudos program)的運動:很簡單就可以讓員工互相賞識各自工作的方法。員工只需要在內部服務臺填寫一張單據即可。幾天之后,被大家認可的員工就能夠得到一張小禮品卡,里面有亞馬遜代金券或者電影票。在榮譽單據數量增加的同時,感覺工作不受認可的員工數量卻下降到了10%。在了解到有91%的員工感覺快樂之后,Spotify也做了類似的工作。盡管91%已經是相當不錯的一個比例,Spotify仍希望了解剩余9%的員工不快樂的原因。他們與這些員工交談,并做出一些微小的調整,最終這一比例上升到94%。

  當然,不可能每個人都一直保持快樂。某段時間可能會比另外一段時間壓力更大,工作之外的私人問題隨時可能發生,而且可能會有超出我們控制范圍的事件發生,例如生產服務器上的一塊磁盤損壞會導致成百上千的客戶服務中斷。起伏不可避免,但通過構建強大的團隊,當遭遇不順時,員工可以相互分擔痛苦。

  由價值觀驅動的文化

  文化不僅是組織層面所應關心的問題,內部團隊同樣也要考慮文化問題。健壯的文化氛圍基于整個組織層面的強力的價值觀。價值觀可以指導文化。Atlassian圍繞五個強力價值觀構建了自己的文化,例如‘不要#@!%客戶。’對于工程團隊,這意味著每個人都需要能夠了解客戶。

  雖然這已經是老生常談,但仍然值得再重復一次。所有人都應該了解客戶,而且客戶也應該參與到產品開發的過程中。我們可以通過視頻訪談,在投票系統中新增功能請求,故事映射,在辦公室甚至是浴室張貼用戶角色完成這項工作。意識到客戶是團隊運作的中心可以提醒所有成員構建產品的原因和目標。這能夠確保員工理解所要處理的問題,明白功能與產品直接相關的。

  顧客意識還能夠幫助團隊保持對產品的熱情。除了熱情之外,另一個重要的工程價值(engineering value)就是追求卓越。蹩腳代碼永遠都是不可接受的,即使是由于時間原因。創造一個可以讓開發人員或團隊充分估算項目周期的環境,因為突擊工作并非好事,之后很有可能需要重新返修。

  Atlassian的另一個價值觀就是‘欲求改變,先變自身’,這句話的含義是作為工程師應該不斷尋找更好的做事方式。要牢記只有變化才是永恒不變的,昨日的最佳實踐并不適用于今天。各個團隊應該樂于嘗試新的方法或使用不同的技術,不過不要掉進‘因為有能力做到,就實施最新的框架’的陷阱。另外,要當心團隊中妄自尊大的人,他們可能會做出一些超出既定目標,或者對整個團隊或產品不利的事情。保證所有人都能夠齊心工作,達成目標。同時,這也需要與架構調整的需求做出平衡。如果總是在調整架構而沒有發布任何產品,這無益于任何人。不要對產品過度設計。我們需要足夠好的產品,但并不需要完美無缺的產品。發布可用版本,獲取反饋,不斷優化產品。要在對代碼的熱情和用戶的需求之間做出平衡。

  工程師正在利用這些價值觀為客戶構建日常使用的軟件,在版本發布時,向客戶展示工作成果的感覺非常棒。不過,并不是組織中的所有部門都有這樣的特權。例如,服務部門可以追蹤服務過程并基于處理的支持案例數量舉行慶祝,但這并不像發布一個自己親手構建的產品那么有滿足感。幾年前,我們的服務團隊決定從他們的角度解讀‘不要#@!%客戶’這類價值觀的意義,并做成海報貼在每天進入辦公室的必經之路。海報中包含了像“期待每一位客戶”,“在問題還小的時候就解決掉它們”,“不斷學習”以及“讓客戶敬佩”等口號。這培養了團隊共同的使命感,并且讓支持團隊認可擁護這些價值觀并按照這些價值觀行事的“文化搖滾明星”。

  公開透明的文化

  公司很自然會劃分成多個團隊,文化需要營造一個這樣的團隊環境:1)有效率和凝聚力,同時 2)與其他團隊之間溝通順暢。我們爭取將小型團隊的平均規模控制在4-8人。在這種規模的團隊中,無需復雜的溝通工具,每個人都能了解同事的工作內容。他們之間的聯系也比較緊密。

  然而,隨著企業規模越來越大,這些團隊和部門往往會被分割成為多個難以打破的孤島。構建強健的組織文化的一部分就是盡量保持群組之間的界限越低越好,方便人們能夠在需要時互相學習,互相幫助。無論組織規模多大,從根本上來說,全體人員都是朝著同一個目標努力,強調這一點十分重要。例如,開發人員可能會覺得十分沮喪,因為他們認為法律部門不允許他們使用某個開源庫,只是因為說‘不’比找解決方案更容易。而法律部的人可能認為開發人員不能理解使用特定的軟件許可證所帶來的法律問題。

  越過這些孤島最好的辦法就是將來自不同部門的員工彼此相連。上面所談及的活動就是這一努力的一部分。此外還可以讓新員工寫一篇關于自己個人信息的介紹性博客,以及實現健壯的便于共享的合作平臺。通過博客或公告,員工還應該能夠隨時了解到其他部門正在發生的事情。例如,將設計團隊贏得大獎的新聞與整個組織分享。分享失敗并發起討論——你永遠都不知道誰會貢獻出有價值的想法。透明是保持文化有活力的關鍵。

  我們會記錄所有想要在協作平臺Confluence上討論或保留的內容。我們會討論想法,將想法變成功能,并共同開發這些功能。這種方式要比電話溝通的方式更好,電話溝通時所討論的內容無法自動文檔化,也比電子郵件的方式要更好,討論內容很容易被淹沒掉。聊天也是非常好的手段。通過團隊溝通平臺HipChat,聊天已經成為我們的神經系統。每個團隊都有自己的HipChat聊天室,聊天記錄可以及時保存,如果某個成員正在旅行,在一個長時間的會議中或者想要更專注,可以選擇關閉通知,稍后再查看之前的聊天記錄。我們還將聊天與其他的系統相連。例如,如果某次構建失敗,我們就會收到一個聊天通知并且可以立即發起一次討論。除了每個團隊內部的聊天室之外,還有跨部門的聊天室,可以讓組織中不同部門的員工建立聯系。例如,法律部的員工和HR部門的員工可以加入一個足球主題的聊天室,討論選拔賽計劃或回顧周末的一場職業比賽。

  透明和溝通對于分布式的團隊來說尤為必要,這已經成為常態。這些聊天室能夠連接不同時區的人們,讓他們達成共識,并且可以相互討論。聊天室還能夠消除組織內的層次結構。任何員工都可以評論首席財務官發表的一篇博客,反之也是如此。在這些流暢的溝通中,會產生許多可能非常偉大的觀點,但同樣重要的是,要保持所有的對話恭敬有禮。

  文化規模化(Scaling Culture)

  隨著公司規模越來越大,在整個組織中傳播和保持文化氛圍會變得越來越有挑戰。當我三年半以前加入Atlassian時,整個公司大概有350人,而現在有超過1300人。我們清楚,隨著公司規模的增長,我們的文化氛圍會有所變化,但我們也知道如果能夠正確行事并保持員工的責任心,我們的價值觀會幫助保持文化氛圍完好無損。

  我們通過創建包括設計人員和QA人員在內的小型跨職能程序員團隊實現文化規模化,如果在下一個Sprint中不再需要設計人員,他就可以轉到另外一個需要他的團隊中去,反之亦然。另一個挑戰是組織多個團隊為同一個產品服務。我曾經見過一些公司通過創建前端團隊、性能團隊和數據庫團隊等多個團隊來解決這一問題。在我的經驗里,這會產生協作問題,因為某個功能或用戶故事可能會橫跨所有的團隊。

  我們發現讓每個團隊各自負責一個特定場景的工作方式收效良好。例如,我們的Confluence產品有一個“輕松入門”團隊,集中精力研究如何將用戶帶入平臺。然后,我們還有一個企業團隊,主要負責大型的客戶,不僅僅是在性能方面,還要研究如何在管理員屏幕上展示1000個用戶。這些團隊各自獨立地工作,同時在需要時也能夠相互獲得支持。每個團隊自行決定問題的解決方案以及所要使用的個人工具。我們將這種方法稱之為“行動主義(do-ocracy)”,每個團隊都擁有授權,可以采用最適于他們的工作方式。

  各個團隊各自獨立的同時,我們也鼓勵團隊在需要時從其他團隊尋求支持,與其他團隊分享他們可以實施的好想法和功能。如果輕松入門團隊說,“我們計劃按照功能構建新的Confluence頁面布局,”我們會將這個想法與所有其他的團隊分享。其他團隊可能會說“從企業的角度來說,你可能需要注意這點或那點。”所有的事情都會經過討論,這能夠創造出一個集體所有制的環境。集體主義需要透明度。為了在代碼級別達成這一目標,我們會在Stash和Bitbucket中做代碼評審。不過有時候很難找到最合適的代碼改動評審者。因此我們還編寫了一個免費的Stash插件Stash評審人推薦器(Reviewer Suggester),根據之前是否修改過該文件或者是該文件的原作者,進行評審人推薦。他們是評審改動的最佳人選,因為他們對這段代碼最為了解。我們發現這種方法的擴展性十分良好,能夠讓組織更加扁平化,從而引領更多創新。

  挑選合適人選

  如果不能雇傭到適于公司和各個團隊的人選,即使在文化氛圍培養上付出最大的努力,最終也會功虧一簣。在人員雇傭方面,可以吹毛求疵,拒絕妥協。挑選合適的人選有助于保護辛苦創建的文化氛圍。Atlassian在最終確定一個候選人之前,會經過篩選性問題,在線編碼測試和多次現場面試。每個候選人都需要有合適的技能并且能夠與公司價值觀及其他員工相容。

  也就是說,你不應雇傭只適應某種特定模式的員工。在我說你不想要一群兄弟程序員時,最好相信我,而如果你只雇傭你的朋友,那這種情況就很有可能發生。你的文化和生產力會隨著多樣性一同增長。如果新的影響者不能使之煥然一新,文化遲早會消亡。雇傭女性,雇傭有著不同年齡,不同背景,不同教育和工作經驗,不同種族的員工,并確保他們受到歡迎。我們通過為每位新員工指派一個伙伴達成這一目標——為他介紹周邊情況,在重要的環節幫助他們,并讓他們知道每周的聚會等。我們的舊金山辦公室有一項“啤酒自行車”的活動,每周五新員工會騎著自行車,馱著啤酒,為大家分發啤酒,作為一種自我介紹和促進交流的方式。我們還會組織為期四周的訓練營,每天早上資深員工會為新員工培訓需要了解的知識,新員工可以選擇不同的課程。

  回想文章開篇我們所提到的——偉大的文化從何而來?正如我們在這兒所探討的,文化來自于讓員工的創造力茁壯成長,來自于讓員工為了樂趣走到一起。來自于重點發展的共享價值體系,讓所有人都可以為了目標而工作,都可以開放的溝通。文化是關于透明和誠信的強化,尊重自主權及鼓勵合作。文化是關于無論組織規模成長多大,都要保持所有這些不變,并且通過雇傭可以保持文化的員工來保護這種文化。文化是所有其他成長的基石——所以,確保你的組織有一個強健的文化。

15
1
 
標簽:團隊管理
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(1) 人氣()