構建之法(第五章 團隊和流程)
第五章主要講了典型的軟件團隊模式和開發流程。以及我們也將討論團隊模式和開發效率之間的一些關系。
1.非團隊和團隊
團隊的主要特點:
1) 團隊有一致的集體目標,團隊要一起完成這個目標。一個團隊的成員不一定要同時工作。
2) 團隊成員有各自的分工,互相依賴合作,共同完成任務。
2.軟件團隊的模式
1.主治醫師模式
有首席程序員,他/她負責處理主要模塊的設計和編碼,其他成員從各種角度支持他/她的工作。
2.明星模式
主治醫師模式運用到極點,可以蛻化為明星模式,在這裏,明星的光芒蓋過了團隊其他人的總和。
3.社區模式
社區很多誌願者參與,每個人參與自己感興趣的項目,貢獻力量,大部分人不拿報酬。
4.業余劇團模式
這樣的團隊在每一個項目中,不同的人會挑選不同的角色。。
5.秘密團隊
一些軟件項目在秘密狀態下進行,別人不知道他們具體在做什麽。
6.特工團隊
軟件行業的一些團隊由一些有特殊技能的專業人士組成,負責解決一些棘手而緊迫性的問題。
7.交響樂團模式
當某個軟件領域處於穩定成長階段的時候,眾多大型軟件公司的開發團隊就會采取這種模式。
8.爵士樂模式
強調個性化的表達,強有力的互動,對變化的內容有創意的回應。
9.功能團隊模式
具備不同能力的同事們平等協作,共同完成一個功能。
10.官僚模式
幾個人報告給一個小頭目,幾個小頭目報告給中頭目,依次而上。
3.開發流程
3.1寫了再改模式
1.只用一次的程序
2.看過了就扔的原型
3.一些不實用的演示程序
3.2瀑布模型
1.如果產品的定義非常穩定,但是產品的正確性非常重要,需要每一步的驗證
2.產品模塊之間的接口、輸入和輸出能很好地用形式化的方法定義和驗證
3.使用的技術非常成熟,團隊成員都很熟悉這些技術
4.負責各個步驟的子團隊分屬不同的機構,或在不同的地理位置,不可能做到頻繁的交流
3.3統一流程(RUP)包括:業務建模,需求,分析和設計,實現,測試,部署,配置和變更管理,項目管理,環境
構建之法(第五章 團隊和流程)