**簡評:**原文作者 fergus henderson 在 google 工作了 10 年以上,目前負責 google 的 text-tospeech 工程小組。有很多書籍或文章會從 商業/管理 等非技術角度來講 google 是如何運作的,這篇文件則是從軟體工程學的角度來講 google 是如何運作的。google 的成功有很多原因,其中乙個重要原因就是 google 不斷積累的、優秀的軟體工程實踐經驗。
本文的目的是梳理並簡要介紹 google 軟體開發的核心流程,內容上主要分為軟體開發 (software development)、專案管理 (project management) 和團隊建設 (people management) 三個方面。
原文目錄
原始碼倉庫(the source repository)
blaze 分布式構建系統(the build system)
**審查(code review)
測試(testing)
bug 跟蹤(bug tracking)
程式語言(programming languages)
除錯和分析(debugging and profiling tools)
發布(release engineering)
post-mortems
頻繁重寫(frequent rewrites)
20% 時間
okrs(objectives and key results)
公司重組(corporate reorganizations)
角色(roles)
技術角色與管理角色分開,專案由技術主管領導和決策,而經理負責管理技術主管,指導職業發展,並負責績效評估。
工作環境(facilities)
培訓(training)
換崗(transfers)
本文簡要介紹了在 google 使用的重要軟體工程的實踐方法。google 是乙個龐大並且多元化的組織,有一些部門用的是不同的實踐方法,但是這裡描述的實踐方法被 google 大多數的團隊所遵循。
software engineering at google
軟體工程學概述
第一章 軟體工程學概述 1.1軟體危機 表現 對軟體開發成本和進度估計不準確 使用者對已完成的軟體常常不滿意 軟體質量不可靠 軟體不可維護 軟體缺乏適當文件 軟體成本佔計算機系統總成本比例逐年上公升 軟體開發生產率提高的速度更不上計算機應用普及的速度 原因 軟體 軟體維護通常意味著改正或者修改原來的...
軟體工程學簡述
軟體危機是指計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。考試中名詞解釋或者選擇題為主 1 對軟體開發成本和進度的估計常常很不準確。2 使用者對 已完成的 軟體系統不滿意的現象經常發生。3 軟體產品的質量往往靠不住。4 軟體通常沒有適當的文件資料。5 軟體成本在計算機系統總成本中所佔的比例逐年...
軟體工程導論 軟體工程學概述
軟體工程關注於大型程式的構造 軟體工程的中心課題是控制複雜性 軟體經常變化 開發軟體的效率非常重要 和諧的合作是開發軟體的關鍵 軟體必須有效地支援它的使用者 在軟體工程領域中通常由具有一種文化背景的人替具有另一種文化背景的人創造產品 用分階段的生命週期計畫嚴格管理 堅持進行階段評審 實行嚴格的產品控...