構(gòu)建之法-5-團(tuán)隊(duì)和流程

團(tuán)隊(duì)和流程.png

只有一個(gè)好的團(tuán)隊(duì),才能做成大事。
——魯迅沒說過

5.1 非團(tuán)隊(duì)和團(tuán)隊(duì)

提出了一個(gè)問題:什么是一個(gè)團(tuán)隊(duì)?隨便湊一伙人算是團(tuán)隊(duì)嗎?這個(gè)說不好,但是一個(gè)好的團(tuán)隊(duì)?wèi)?yīng)該會(huì)滿足兩個(gè)特點(diǎn):

  1. 團(tuán)隊(duì)有一致的集體目標(biāo),團(tuán)隊(duì)要一起完成這目標(biāo)。一個(gè)團(tuán)隊(duì)的成員不一定要同時(shí)工作,例如接力賽跑。(王屋村搬磚的“非團(tuán)隊(duì)”成員則不然,每個(gè)人想搬多少就搬多少,不想干了就結(jié)算工錢走人。
  2. 團(tuán)隊(duì)成員有各自的分工,互相依賴合作,共同完成任務(wù)。(王屋村搬磚的“非團(tuán)隊(duì)”成員則是各自行動(dòng),獨(dú)立把任務(wù)完成,有人不辭而別,對其他的搬磚人無實(shí)質(zhì)影響。)

5.2 軟件團(tuán)隊(duì)的模式

軟件團(tuán)隊(duì)的模式

每種模式都各有優(yōu)劣,不同的團(tuán)隊(duì)可能會(huì)有不同的最佳合作模式。


5.3 開發(fā)流程

做開發(fā)總得有一個(gè)完整的開發(fā)流程。

我們在開發(fā)、運(yùn)營、維護(hù)軟件的過程中有很多技術(shù)、做法、習(xí)慣和思想。軟件工程把這些相關(guān)的技術(shù)和過程統(tǒng)一到一個(gè)體系中,叫“軟件開發(fā)流程”,軟件開發(fā)流程的目的是為了提高軟件開發(fā)、運(yùn)營和維護(hù)的效率,以及提升用戶滿意度、軟件的可靠性和可維護(hù)性。

開發(fā)流程
5.3.1 寫了再改模式(Code-and-Fix)
寫了再改模式.png

這種模式就像小孩“過家家”一樣,開發(fā)的程序用過一次就扔了,不足取。

5.3.2 瀑布模型(Waterfall Model)
收集反饋并改進(jìn).png

在這個(gè)模型下文檔的重要性
5.3.3 瀑布模型的各種變形
  • 生魚片模型
    這個(gè)模型解決了各個(gè)步驟之間分離的缺點(diǎn),同時(shí)也帶來了一些困擾—究竟什么時(shí)候上一個(gè)階段會(huì)結(jié)束呢?

    生魚片.png

  • 大瀑布帶著小瀑布
    在這種瀑布群下,要把各個(gè)子系統(tǒng)統(tǒng)一到最后做系統(tǒng)測試(System Testing)的階段,難度非常大!另外,在這樣的開發(fā)流程中,用戶只有到了最后才能看到結(jié)果,用戶真是等不起。

    子瀑布模型

5.3.4 Rational Unified Process 統(tǒng)一流程(RUP)
RUP的工作流(縱軸)和開發(fā)流程的各個(gè)階段(橫軸),圖中的陰影面積代表不同角色在各個(gè)階段的參與程度。由于陰影面積起起伏伏,這個(gè)圖又被稱為RUP駝峰圖
5.3.5 老板驅(qū)動(dòng)的流程(Boss-Driven Process)
  • 領(lǐng)導(dǎo)對許多技術(shù)細(xì)節(jié)是外行。
  • 領(lǐng)導(dǎo)未必懂得軟件項(xiàng)目的管理,領(lǐng)導(dǎo)的權(quán)威影響了自由的交流和創(chuàng)造。
  • 領(lǐng)導(dǎo)最擅長的管理方式是行政命令,這未必能管好軟件團(tuán)隊(duì)或任何需要?jiǎng)?chuàng)造力的團(tuán)隊(duì)。
  • 領(lǐng)導(dǎo)的精力有限,領(lǐng)導(dǎo)很忙時(shí),團(tuán)隊(duì)怎么辦?
5.3.6 漸進(jìn)交付的流程(Evolutionary Delivery),MVP和MBP
不斷演進(jìn)的evolution循環(huán)

這種流程比較像敏捷開發(fā)模式。

  • MVP(Minimal Viable Product,最小可行產(chǎn)品)
    把產(chǎn)品最核心的功能用最小的成本實(shí)現(xiàn)出來(或者描繪出來),然后快速征求用戶意見。例如,一個(gè)社交網(wǎng)站已經(jīng)有很多用戶,都是免費(fèi)的,產(chǎn)品團(tuán)隊(duì)想設(shè)計(jì)一個(gè)付費(fèi)的VIP服務(wù),MVP的做法可以是這樣—在目前的用戶入口頁面中加一個(gè)“VIP服務(wù)”的鏈接,指向一個(gè)簡單的介紹頁面(用最小成本做出來)。觀察到底有多少用戶點(diǎn)擊這個(gè)鏈接。如果點(diǎn)擊量太小,那么這個(gè)VIP服務(wù)就不用做了。

用MVP的思路,團(tuán)隊(duì)會(huì)找出最關(guān)鍵、最小的功能集,快速實(shí)現(xiàn),三個(gè)月就可以聽到用戶的反饋

  • Maximal Beautiful Product(最強(qiáng)最美產(chǎn)品,MBP)
    更像是憋大招,一下子拿出劃時(shí)代意義的產(chǎn)品,例如iPhone,iPod。。。。這對產(chǎn)品團(tuán)隊(duì)有更高的要求。

結(jié)束

有人說,現(xiàn)代軟件工程分為四個(gè)階段:

和PM吵
和設(shè)計(jì)吵
和測試吵
和用戶吵

你覺得應(yīng)該如何避免吵架?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 每天進(jìn)步一點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)~~從開始只能寫幾句話、模仿別人的觀點(diǎn),到現(xiàn)...
    一個(gè)帥氣的名字呀閱讀 19,451評(píng)論 4 31
  • 1.1 軟件 = 程序 + 軟件工程 作為程序員,大家都知道有“程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法” 。確實(shí),程序的確是...
    jacob_閱讀 1,334評(píng)論 0 1
  • 第一部分有效開發(fā) 第二章快速軟件開發(fā)的策略 快速開發(fā)的總體策略 *避免典型錯(cuò)誤 *打好開發(fā)基礎(chǔ) *管理風(fēng)險(xiǎn) 避免災(zāi)...
    Seymoure閱讀 1,328評(píng)論 0 2
  • 導(dǎo)讀 前言 第五章 團(tuán)隊(duì)與流程 第七章 MSF 前言 借著值班的東風(fēng),抓緊看了三章,這三章內(nèi)容主要講軟件開發(fā)的流程...
    socoo123閱讀 781評(píng)論 0 0
  • 橫臥于時(shí)間末梢的我 看到大地在不停地翻滾 那里有太多不曾回顧的美麗 侃侃而談的啞巴 活蹦亂跳的瘸子 以及眺望遠(yuǎn)方的...
    天藍(lán)就吃草吧閱讀 270評(píng)論 0 1

友情鏈接更多精彩內(nèi)容