天天看點

《建構之法》讀書筆記第5章——團結就是力量?

本章節講的是團隊程式設計

随着現在軟體規模越來越大,團隊程式設計的作用也愈加凸顯。

團隊模式有以下模式:

  1. 一窩蜂模式:一堆人上來就幹,沒有協調性因為這樣的團隊存活時間不長,是以被觀察到的不多
  2. 主治醫師模式:首席程式猿工作,其餘人打輔助,不少學校的軟體工程的團隊作業淪為這種模式,隻靠團隊中一兩個完成任務,其餘人打醬油。
  3. 明星模式: 主治醫生的極端版本
  4. 社群模式:Unix和Linux屬于這種,依靠嚴格的品質管理和志願者參與完成
  5. 業餘劇團模式:學生的實踐教育訓練項目大概屬于這種
  6. 秘密團隊模式:蘋果研發發Macintosh以後的系統和不少創業公司團隊屬于這種
  7. 特工團隊:由特殊技能的專業人士組成,比如早年解決千年蟲的團隊和負責網絡安全的團隊
  8. 交響樂團團模式:大多數大型軟體公司開發團隊采用這種模式,比如office系列
  9. 爵士樂模式:比較散漫自由
  10. 功能團隊模式
  11. 官僚模式:即老闆驅動

開發流程模式:軟體開發過程中有很多種類的流程方法,目的是提高軟體開發、營運和維護的效率,以及提升使用者滿意度、軟體的可靠性和可維護性。書中總結的開發流程模式如下:

  1. 寫了再改

    不少軟體工程課程的作業屬于這種模式:

  2. 瀑布模型
    《建構之法》讀書筆記第5章——團結就是力量?
  3. 統一流程模式(RUP,Rational Unified Process )

    把軟體開發的各個階段整合在一個統一的架構裡,包括業務模組化、需求、分析和設計、實作、測試、部署、配置和變更管理、項目管理、環境。并且每個階段設定一個裡程碑(milestone),分為初始、細化、構造、傳遞四個階段,并且每個階段可以疊代幾次

  4. 老闆驅動模式

    由公司老闆或行政主管直接推動,在團隊尚不成熟或者上司水準較高方能顯出效果,但在上司是外行或者上司不在、不稱職的時候會很麻煩。

  5. 漸進傳遞和MVP

    不斷重複“開發→釋出→聽取回報→根據回報做改進”四個階段,直到使用者滿意或者錢用完。09年開始一些網際網路團隊采用MVP方法,即—Minimal Viable Product,最小可行産品,具體做法是:把産品最核心的功能用最小的成本實作出來(或者描繪出來),然後快速征求使用者意見。

在介紹完團隊模式和開發流程模式後,書中又介紹了優秀模式和流程的共同點(CMU軟體工程學院把這些共同點抽象總結為Team Soft-ware Process(TSP)的原則):

使用妥善定義的流程,流程中的每一步都是可以重複、可以衡量結果的。

2.團隊的各個成員對團隊的目标,角色,産品都有統一的了解。

3.盡量使用成熟的技術和做法。

4.盡量多地收集資料(也包括對團隊不利的資料),并用資料來幫助團隊做出理性的決定。

5.制定切合實際的計劃和承諾,團隊計劃要由負責具體執行的的角色來制定(而不是從上級而來)。

6.增加團隊的自我管理能力。

7.專注于提高品質,争取在軟體生命周期的早期發現問題。

團結就是力量,但是團隊如何“團結”起來,同學們在完成團隊作業前也可以好好看看這一章

繼續閱讀