閱讀723 返回首頁    go 阿裏雲 go 技術社區[雲棲]


關於“軟件開發”,“工程師文化”,“團隊管理”

 分享一下 weibo@左耳朵耗子 陳皓的“建一支強大的小團隊”報告內容,挑選了幾點。

人物介紹

行業背景 :金融行業(Thomson Reuters) ,計算平台(Platform),電子商務(Amazon) 

技術背景 : C/C++/Java,Unix/Linux/Windows ,Web 

個性:碼農兼包工頭 ,敏捷恐怖分子 ,Unix/Linux/C/C++腦殘粉 ,“技術部門無技術種族”歧視者 ,程序員文化民族主義者 

陳皓是酷殼coolshell的博客作者,上麵很多文章都會被大家廣泛傳播分享,可以看看最近幾篇比較火的:

    xkcd 神圖“Click and Drag” geek風十足

    簡明 Vim 練級攻略 前天有朋友在人人上分享

    如何測試洗牌程序 兩個月前,微博上陳皓和測試人員的“大戰”,主旨是陳皓認為軟件開發不需要專職測試人員

陳皓年前加入了淘寶北京,貌似直接是P8,P9的級別,是位技術大佬。以下簡單分享幾點。

軟件開發的現況

軟件的複雜度持續不斷地提升 
 - 業委需求複雜度 
 - 部署運營覎模複雜度 
 - 維護支持複雜度 
軟件開發迭代周期和頻率越來越快 
 - 開發、測試周期 
 - 交付周期 
 - 解決問題的周期 
軟件的運行和質量要求的越來越高 
 - 擴展性 
 - 穩定性、可用性 
 - 用戶體驗 

軟件開發出現的狀況

軟件的問題 
 - 業務分析能力的不斷提升 
 - 軟件產品的質量隨著複雜度的提升越來越差 
 - 軟件的測試和維護成本越來越大 
 - 解決軟件問題的成本越來越大 
 
管理問題 
 - 團隊越來越大,分工越來越細 
 - 團隊的合作問題 
 - 團隊的執行力問題 
 - 團隊的流動問題(內部和外部) 
 - 團隊的成長問題 

團隊現況

程序員被這些人包圍:高層老板,研發經理,產品經理,項目經理,流程SQA,架構師,敏捷教練谘詢師,QA測試,客服支持,運維Ops,BA。每一個苦逼的程序猿背後都有一群指點江山的人。

Talk is cheap, Show me the Code!

問題

- 流程控製多

- 組織單元多

- 利益牽扯多

- 消耗資源多

- 溝通會議多

其實這些也是大公司的問題,普遍大公司都存著這個問題。

思考

• 程序員不能管理項目和迚度? 
• 程序員不能做測試保證軟件質量? 
• 程序員不能分析需求? 
• 程序員不能做運維? 
• 程序員不能管理好自己的流程? 
• 程序員不能架構和設計軟件係統? 
• 程序員不能和別人很好的合作? 

觀點

• 如果不信仸程序員,你還招他幹啥? 
• 如果程序員隻會編碼,這是不合格的程序員! 
• 自己管理自己是最有效的! 
  • 管不好自己的員工,找人來管是錯誤的! 
• 程序員是生產力的主力! 
  • 其它大多數人都在降代團隊的生產力 
• 優秀的程序員創造的價值是平庸程序員的10000倍! 
• Eat Your Owe Dog Food! 隻有吃自己的狗食才會有改迚!  
• 程序就是用來自動化一切機械的勞動! 
• 主動工作的生產力進大於被動工作的生產力! 

程序猿必備技能

• 程序員必需懂編程技術,開發工具,軟件工程 
• 程序員必需理解需求 
  • 必需站在用戶的角度上思考問題 
• 程序員必需懂測試 
  • 自動化測試,測試案例設計。 
• 程序員必需做係統維護 
  • 自動化部署,自動化 
• 程序員必需管理好自己的工作 
  • 程序員知道什麼流程方法最適合自己 
  • 輕重緩急,時間進度 

Google的工程師文化

• 對工程師的信仸和尊重 
  • 每位員工都有20%的工作時間可以做自己想做的事情,很多產品 就是用這 20% 的時間做出來的,比如眾所周知的 Gmail 。 
  • Larry Page:"this company will be run by engineers" (not marketing not sales)  
• 自由平等,信息透明 
  • 數據說話 (quote netscape executive) 
  • 層級扁平,TGIF上可以提各種尖銳問題 (dory and live questions) 
  • 公開所有項目的:文檔,代碼、覎劃,數據,資源 
• 自己設置目標 
  • 激迚地目標設定,完成基本上是60%左右。 
• 給管理層打分 
  • 不受程序員喜歡的管理人員會被離職。 

Facebook的工程師文化

• 項目的資源完全來自工程師的自願 
• PM遊說工程師們,試圖吸引工程師為他們的想法而工作  
• 工程師自己決定去幹哪個產品經理的活  
• 工程師然後去給他們的頭兒報告:“我本周要幹5件事情”。工程師的頭兒幾乎可以說是放仸手下各行其是,偶爾給點做事情 優先級的忠告。 
• 工程師自己處理所有的事情,從js到db的所有邏輯。如果他們期 望得到設計師(FB裏隻有非常少的專職設計師)的幫助,他們需要自己去搞定設計師來加入他們的項目;如果需要架構師同樣也得 自己來搞定。但通常來說,工程師自己幹所有的活  

Amazon的工程師文化

• SDE – Someone Do Everything 
• 工程師從需求分析一直做到線上運維 
• 大量的自動化工具(測試,部署,監控) 
• 需求來的時候要問為什麼要做? 
• 少量的QA,Designer,沒有架構師 
• 沒有軟件開發流程,團隊說得算 
• 非常嚴格的招人 
• Pizza Team 文化 
• UP the River  
軟件公司的兩種管理方式
WIDGET FACTORY(小商品工廠) 
• 一般人的本性是懶惰的,工作越少越好,可能的話會逃避工作,大部分人對集體(公司,機構,單位或組織等)的目標不關心,因此管理者需要以強迫,威脅處罰,指導,金錢利益等誘因激發人們的工作源動力。 
• 經理總是要去做他下屬的工作。這種團隊中的每一個人都很容易被別人取代,在這種團隊裏,經理的工作能力不斷地被加強 
• 這種公司一般使用樹形層級的組織結構,而不是水平式的工作角色。 
• 他們對實實在在的軟件開發漠不關心,他們想要把理想中的軟件開發運作變成他們看得見的圖表。 

FILM CREWS(電影工作組) 
• 這種公司認為人是有相當高的智力和創造力的,是自己可以激發自己的。 
• 每一個個體的自已專業能力,要進進優於那種被組織和協調出來的能力。人們努力工作,幵且可以享受工作。 
• 工作職責變得非常地垂直——你需要具有從上到下的而比較寬泛的各種能力。 
• 經理了解把一個偉大的軟件組合起來的每一個碎片。他的角色是鼓舞大家,守護著方向(Vision) 
• 團隊裏的每一個人都很關鍵,因為團隊相信軟件的結果來自所有的參與者,以及他們的那種獨一無二團隊工作方式。 

小團隊的前提
• 知識密集型的企業 
• 價值觀和目標一致 
• 產品要簡化到簡單到不能簡單 
• 資源平等,信息透明 
• 個體能力要強,都是T型人才 
• 沒有中心控製,通過團隊協作自治 
• 自組織,自協作,自管理,自迚化 

團隊管理三板斧 
• 標準化流程(製度) 
  • 質量控製 
  • 過程管理 
  • 項目監控 
• 過程改迚(方法) 
  • 持續集成和自動化測試 
  • 極限編程 
  • 快速迭代 
• 激發團隊和人員(文化) 
  • 團隊和個人發展 
  • 團隊主人翁精神 
  • 團隊和個人的執行力 
 
工程師文化 == 創新衝動
(全文完)

最後更新:2017-04-04 07:03:34

  上一篇:go 蘋果才思枯竭?
  下一篇:go 三星柔性屏 概念雖好市場有限