外科手術(shù)隊(duì)伍
面對大型項(xiàng)目,不得不思考如何整合幾百人的團(tuán)隊(duì)。薪水差二倍的工程師工作效率可差十倍,且與經(jīng)驗(yàn)無關(guān)。小團(tuán)隊(duì)的成員間的溝通成本會比大團(tuán)隊(duì)少很多,在效率和概念的傳達(dá)也更優(yōu),而在大項(xiàng)目和時(shí)間要求上小團(tuán)隊(duì)又不足面對。
外科醫(yī)生-副手團(tuán)隊(duì):
外科醫(yī)生:對整個(gè)系統(tǒng)的開發(fā)設(shè)計(jì)者,需要天賦、經(jīng)驗(yàn)以及應(yīng)用數(shù)學(xué)。副手:經(jīng)常與外科醫(yī)生溝通,對系統(tǒng)的熟悉程度僅次于外科醫(yī)生,作為替補(bǔ)。管理員:具體負(fù)責(zé)團(tuán)隊(duì)的財(cái)務(wù)、法律和人事。編輯:負(fù)責(zé)按外科醫(yī)生的草稿編寫所有文檔。兩個(gè)文秘:分別配合管理員和編輯。程序職員:這是離物理機(jī)最近的人,管理軟件版本、輸入與輸出。工具維護(hù)人員:負(fù)責(zé)檢查和開發(fā)基礎(chǔ)依賴和公共庫。測試人員:負(fù)責(zé)單測和計(jì)劃的測試。語言專家:充分熟悉當(dāng)前開發(fā)語言,能使用語言特性解決一些問題。
貴族專制、民主政治和系統(tǒng)設(shè)計(jì)
在修繕某些教堂的過程中,建筑師和時(shí)代特色會使一個(gè)教堂出現(xiàn)“混搭”。軟件系統(tǒng)開發(fā)則是因?yàn)榭臻g上拆分任務(wù),不同的開發(fā)者可能損害系統(tǒng)完整性。
易用性:功能復(fù)雜度與理解難度的比值。單純追求復(fù)雜和簡潔的衡量標(biāo)準(zhǔn)都不均衡。簡潔是系統(tǒng)體量的描述,直白是使用一致性的描述。設(shè)計(jì)的一致性和概念的完整性使得用戶使用時(shí)不會有“混搭”的感覺。
團(tuán)隊(duì)合作上可以采用“專制”,概念和設(shè)計(jì)由少數(shù)設(shè)計(jì)者實(shí)現(xiàn),兼顧創(chuàng)造性的想法能夠得到好的討論(局部想法須符合整體概念)。
為了填充等待時(shí)間讓實(shí)現(xiàn)人員參與概念設(shè)計(jì),在時(shí)間和質(zhì)量上都會更糟。在系統(tǒng)功能的外部說明有了雛形后,系統(tǒng)結(jié)構(gòu)、設(shè)計(jì)實(shí)現(xiàn)和物理實(shí)現(xiàn)的設(shè)計(jì)工作可以并行開始。這種開發(fā)模式使系統(tǒng)反應(yīng)少數(shù)人的想法,概念一致性得到貫徹,而且垂直的工作劃分會更節(jié)省人力,提升效率。