軟件編寫是一項集體活動,咱們認爲人的因素和技術因素同樣,對項目結果有很大的影響。
大部分人可能花費了數十年的時間學習編程技術,卻從未真正關注過人的因素。
天才神話,各類大神雲集,Linus、比爾蓋茨等等,創造了一個個神話諸如:。。。。變成了被常人仰視,被供奉的存在,Linux 的成功是源於linus寫了第一個內核,建立了 git 的協做方式,更多的工做是由團隊完成。尤爲在現今的開發環境中,不排除有部分獨立開發者進行着我的項目開發,也有至關的擁躉。程序員
名人效應: 人有一種本能, 發現領導者和楷模, 將他們偶像化, 而後試圖模仿他們
那咱們來看一下 我的開發 中可能存在問題:編程
若是別人看到我未完成的工做,我會很是沒有安全感,以爲他們會肆意批評我,並認爲我是個白癡。
三大基石segmentfault
- 謙虛(Humility)———— 你並不是宇宙中心,並不是無所不知,也會犯錯,希望意自我改進。
- 尊重(Respect) ———— 你要真誠關心同事,以禮相待,欣賞其能力,承認其成就。
- 信任(Trust) ———— 你要相信別人能夠勝任工做並做出正確選擇,願意在合適的時候將權力交給他們。
HRT 遵循的建議:安全
- 放下自我:不擺架子,保持態度謙虛,注意態度謙虛 !== 不自信。追求團隊成就和集體榮譽感;
- 批評和自我批評:人身攻擊毫無價值,這種行爲既卑劣又無法迴應。建設性批評一般是有益的,可以指導咱們改進。建設性批評是基於尊重的,出於對接受方的關心,期許對其有幫助。接受方要能接受批評,並相信提出者的初中是真心爲你和項目好。另外一個角度講:你的自尊不該該和你寫的代碼(或建立的任何創新項目)有任何聯繫。 對代碼、項目的批評指正 !== 對你的否認;
- 快速失敗 和 迭代:「失敗是一個選項。」歷來不犯錯誤,說明你沒有足夠的創新性去承擔足夠的風險。失敗會爲下一次的努力提供了學習和改進的最佳機會。過後分析報告:解釋學到了什麼,計劃做出什麼改變,後來者更容易瞭解當時發生了什麼並避免重複歷史。不要擦除你的足跡,照亮來路,以便後來者追隨!
- 留出學習的時間:即便你是團隊裏技術最強的人,不斷的接觸新事物、保持謙虛,保持分享和學習;跨出溫馨區, 接受未知的挑戰
- 學會忍耐:團隊中可能存在與你工做方法、認知不相符的成員,要包容、學會利用不一樣的角度;
- 接受改變:不要執拗,不要固步自封,接受「我不知道,你有好的想法嗎?」實際上,這也是HRT原則的表現:對外表現出謙虛的態度,不只能夠顯示出可靠性和責任感,還說明你信任別人的觀點,最後,人們也會尊重你的誠實和能力。
下一步:如何在團隊中打造 HRT 氛圍?異步
團隊文化就像一塊好吃的酸麪糰麪包:劑子(創始人)向麪糰(新成員)注入菌羣(文化),隨着酵母和細菌(團隊成員)的成長,就能夠作出好吃的麪包(團隊)。若是創始文化足夠強大,就能夠同化新成員可能帶來的不和諧因素。2若是創始文化過弱,那麼團隊很容易受到新成員帶來的未知文化的干擾。未知文化帶來的影響難以預測,所以團隊文化的培養仍是從已知創始文化開始爲宜。ide
團隊文化不只僅是團隊成員完成工做、編寫代碼或彼此相處的方式,並且是成員共享的經驗、價值觀和目標。也會隨着團隊成長不斷變化和發展。工具
團隊文化的重要性:學習
- 一個優秀的工程師不只能爲產品開發做出貢獻,並且也能夠參與產品的決策過程,團隊成員能達成共識。
- 「共識」是指每一個人對產品的成功都有強烈的主人翁意識和責任感,領導者可以聽取團隊成員的意見(重視HRT中的尊重原則)。在這樣的團隊中,人們有時進行不少討論和思考,有時又須要加快進度。當須要加快進度時,可能會將大量平常瑣碎的決策託付給一位或多位領導者。
重視幾種溝通渠道,如郵件列表、設計文檔、聊天室、任務說明書、產品手冊,等等。測試
人少時使用同步溝通(如會議和電話會議),人多時使用異步溝通(如郵件、問題跟蹤系統、文檔註釋)。中斷成本
包括:
工程中的溝通:
- 註釋
- 署名:最多能夠指定修改此文件的首選審閱人
- 代碼提交要有審閱
- 測試與發佈流程
團隊文化和溝通習慣反映了咱們喜歡的工做方式,可能帶有一些主觀喜愛,時間上一個好的團隊文化下,成員會將更多的時間花在編寫和提交產品上
要關心的事,是全部事,一般技術轉型管理會有一個很大的空虛狀態:原有的工做量化是代碼提交、需求完成,轉型管理後,會有一天下來碌碌無爲的感受。做者舉了一個🌰:這就好像你多年來一直按天天摘的蘋果計算工做量,工做變成摘香蕉以後,你收工時對本身說「我今天一個蘋果也沒摘」,卻對身邊的一大堆香蕉視而不見。對管理工做進行量化比計算組裝好的工具要困可貴多。你不能把團隊的工做成果算成本身的功勞,但保持團隊成員心情愉快、工做高效是衡量你的工做的重要標準。請不要犯摘香蕉時數蘋果的錯誤。
服務型領導:
- 領導者能作的最重要的事是爲團隊服務,就像管家照料家人的健康和福利同樣。做爲一位服務型領導者,你應當努力營造一種HRT氛圍。惟一須要管理的是團隊的技術和人際關係的健康。
反模式:成爲成功領導者不該陷入的一些模式
- 僱傭軟弱者。管理者缺少安全感,確保無人質疑其權威和地位,僱傭不如本身、易控制的人。會致使本身在團隊中的角色責任愈來愈重,增長工做量,失去本身的管理,團隊步履維艱。
- 忽視表現不佳者。管理人最難的部分則是管理那些沒法達到預期的成員,暗自但願表現不佳的成員會忽然有所長進,或者自行離開。而這兩種狀況都極少發生。要儘快處理表現不佳者,設定具體時間計劃,列出但願在此期間實現的具體目標,使失敗容易衡量。這期間若是沒法跟上進度,管理者和表現不佳者都能認清現實、發現問題,或者奮發圖強、或者離開。
- 與全部人爲友。友誼 !== 溫和的領導方式,保持一視同仁,不能由於友誼產生區別對待,或者由於友誼而致使部分同窗曲意逢迎
- 放寬招人標準。沒有構建優秀團隊的原材料,只能註定失敗。
- 把團隊當孩子管。你怎麼對待人們,人們就會怎麼作。所以,若是你把他們當孩子或囚徒對待,他們也會表現得像孩子或囚徒同樣。給予信任,回報信任。
領導模式:
- 放下自尊。信任團隊,尊重團隊成員的能力和成就,對新成員也是如此。任何人不可能全部事情都作對、都瞭解,也不能解決全部問題,接受批評,真心認可錯誤。道歉不會表現爲脆弱,而會贏得尊重。道歉代表你頭腦冷靜,可以審時度勢。 對照 HRT 原則:態度謙虛;
- 成爲‘禪意大師’,少發表懷疑言論,保持冷靜。整個團隊都會有意無心地把目光投向本身的 leader,你的狀態、情緒會影響團隊表現。另一個難點是:提出問題,拋掉工程師習慣的解決問題模式,改成提出問題,經過問問題的方式引導問題解決,問的問題要在墊子上。
- 成爲催化劑。促成共識、驅動團隊/事情朝着正確的方向,略加推進以加速過程的完成。
- 失敗是一個選項。失敗也不要緊,大部分人不善於評估風險,不遺餘力規避風險,致使人們保守形式,難以追逐大的成功。caseStudy 的目的也是爲了總結經驗、發現漏洞,從失敗中學習。失敗時冷靜分析,不作指責。
- 成爲老師和導師
- 設定清晰的目標
- 以誠相待
- 關注幸福度
- 其餘提示和技巧: 放權,但也要作具體工做;尋找接替本身的人;知道什麼時候出手;給團隊一方淨土;保護團隊;贊成有價值的冒險
人和植物同樣,每一個人對關照、水分、養料的需求不一樣,管理者提供的應該是激勵與指引,使團隊保持快樂、高效。
無聊到興奮 -> 須要激勵; 散漫到自主 -> 須要指引
激勵有兩種:源自外部因素(如金錢)的外在激勵和源自心裏的內在激勵
有三樣東西能夠提高人們的內在激勵:自主性、卓越性和目標。
咱們瞭解構建穩固且溝通良好的團隊文化的重要性,介紹了良好的團隊文化應該包括什麼:基於共識的開發、高質量代碼、代碼審閱,以及鼓勵你們進行新嘗試並從快速失敗中學習的環境等。
這裏的「有害之人」這個詞指代行爲不佳的人。但在實際工做中,最好避免在平常談話中用這個詞!
保護團隊不受有害之人的侵擾,要作的第一件事是瞭解構成威脅的因素是什麼,何時應提升警戒。最可能受到影響的是團隊的注意力和專一力
。
注意力和專一力是最爲稀缺的資源。
不少時候咱們不自知,對本身產生的負面影響沒有感知,適當的引導可以幫助咱們改變本身行爲,去掉負面影響。這裏關注的是如何消除行爲,固然屢次努力行爲仍無改觀,趕人走也就成了最後防護。
若是見到你以爲可能有害的行爲,你須要向本身提出兩個關鍵問題。
- 拋開團隊注意力和精力的短時間損失,就長遠來講,你確實相信項目將受益嗎?
- 你相信這個衝突最終會以一種有益的方式解決嗎?
以上兩個問題中的任何一個答案爲否,那麼你須要出手干預,儘快中止這種行爲。基於HRT的強大團隊文化是不可替代的,但技術能力絕對是能夠替代的,不作無限度的包容。爲了短時間效益而損害團隊文化是不值得的
組織操控:理解如何在良好或不佳的公司中工做。大多數人所在的公司都存在各類問題,須要應用某些操控技能纔能有效地完成工做。有些人將此稱爲政治,也有人稱之爲社會工程。
若是你有一位服務型的經理,遵循HRT原則,真心實意想幫助你成功,那麼你能夠作到幾件簡單的事情,使他的工做更容易,從而也使本身工做更高效,在團隊中更有價值。也許更重要的是,作到這些可使你的工做成績更優異,職業更成功。
如何解決這種困局?只有跳槽嗎??若是跳槽後的公司也存在這些問題呢???
你應當認可事情的現狀,專一於探索公司結構,尋找一些策略用於有效完成工做。
PS:不是說若是如今的工做幹得不開心就應該更新簡歷立馬走人。相反,你的首要目標應當是做出所需的改變,使本身開心,完成工做目標,不去努力瞭解如何操控所在的組織結構,就沒法掌握本身的職場命運。
合做不限於團隊,要創造優秀的產品,你還須要積極地與用戶合做,一個沒人使用的漂亮軟件沒有意義。
這一章總結爲三個要點:
- 市場營銷:瞭解人們對軟件的見解;這決定了他們會不會願意嘗試。
- 產品設計:若是軟件作不到容易嘗試、速度快、友好,並且用戶面廣,用戶就會流失。
- 客戶服務 主動與用戶創建長期的良好關係能影響軟件的演化和用戶保持率。