浮潛潛水員游弋于海水表層,看魚戲淺灘,望影掠深海。水肺潛水員可以潛過海水表層的深度;他能潛到更深的地方,在一定的區(qū)域內(nèi)研究那些影子以發(fā)現(xiàn)魚類、沉船殘骸以及珊瑚的細(xì)節(jié)。在相同的時(shí)間內(nèi),浮潛潛水員可以游歷更寬闊的水域;而水肺潛水員則在潛游深度上占據(jù)優(yōu)勢。成功的項(xiàng)目團(tuán)隊(duì)在項(xiàng)目的整個(gè)過程中會(huì)把浮潛和水肺潛水這兩種方式結(jié)合起來使用,在特定的時(shí)刻明智地選擇合適的方法,從而有效地利用了時(shí)間。
浮潛是一項(xiàng)很好的技術(shù),項(xiàng)目團(tuán)隊(duì)可以用來弄清楚需要研究多少領(lǐng)域,以理解問題和達(dá)成目標(biāo)。往往在項(xiàng)目或者子項(xiàng)目的起始階段,團(tuán)隊(duì)通過浮潛識(shí)別出研究范圍、目標(biāo)、利害相干人、研究邊界、已知事實(shí)以及需要進(jìn)一步水肺潛水的地方。
當(dāng)潛水員感覺到一些有趣的東西、陌生的事物或者更深的細(xì)節(jié)信息需要考察時(shí),他會(huì)進(jìn)行較深的水肺潛水。深度潛水的發(fā)現(xiàn)常常會(huì)改變浮潛階段所設(shè)定的假設(shè)。假如我們發(fā)現(xiàn)了某種海產(chǎn)生物,而此前我們并未預(yù)料到能在這片水域找到這種生物;那么,我們就需要調(diào)查更寬更廣的范圍,以找出這種生物的繁衍區(qū)。
本模式的跡象之一是團(tuán)隊(duì)在做廣度(浮潛)考察的同時(shí),也會(huì)——而不是忽略——針對(duì)特定問題進(jìn)行具體的(水肺潛水)工作。關(guān)鍵是團(tuán)隊(duì)在項(xiàng)目的整個(gè)過程中應(yīng)用廣度與深度研究技巧的能力。研究的廣度范圍識(shí)別出可能會(huì)對(duì)項(xiàng)目產(chǎn)生影響的人、組織、硬件和軟件系統(tǒng)。在廣度上知曉得越多,就能識(shí)別出高風(fēng)險(xiǎn)與高收益的領(lǐng)域,以及如果輔以進(jìn)一步的深度研究可能大有裨益的領(lǐng)域。
掌握浮潛與水肺潛水技能的項(xiàng)目團(tuán)隊(duì)不會(huì)因問題域之寬而氣餒。團(tuán)隊(duì)成員知道自己不需要對(duì)整個(gè)問題域都進(jìn)行同樣深度的研究。例如,如果他們決定針對(duì)問題的某一部分購買已有的解決方案,那么他們的研究只需要深入到足以驗(yàn)證解決方案是否適用于工作情形即可。當(dāng)他們決定開發(fā)自己的解決方案,則他們需要判斷這項(xiàng)變動(dòng)要求多深的研究。他們同樣知道某些更深入的研究可以推遲到以后某個(gè)更為合適的時(shí)間。面對(duì)較寬問題域的項(xiàng)目團(tuán)隊(duì)在響應(yīng)變化上面更勝一籌,因?yàn)樗麄兛梢灶A(yù)見改動(dòng)所引發(fā)的影響。他們對(duì)于哪些是自己所知道的、哪些是自己所不知道的、哪些是需要加以探索的以及哪些是可以放在一邊的,都是心中有數(shù)。他們能夠計(jì)劃如何使用資源以獲得最佳效果。
引入浮潛與水肺潛水技術(shù)的項(xiàng)目很可能把軟件原型、模擬物與上下文建模聯(lián)合在一起使用。他們也可能使用增量式的交付方法,在項(xiàng)目早期交付價(jià)值最高的功能。同樣,他們也能夠只用一頁的篇幅就清晰地解釋項(xiàng)目的范圍和目標(biāo)。
本模式的反例是團(tuán)隊(duì)要么沉迷于細(xì)節(jié)(“我們只做水肺潛水——懦弱無用的浮潛免談”),要么懼怕細(xì)節(jié)(“我們是浮潛潛水員——換句話而言,大海深處有怪物”)。并且,當(dāng)人們談?wù)?#8220;更高層次”和“細(xì)節(jié)”就好像它們互不相關(guān)、了無牽連的時(shí)候,也屬于本模式的反例。
優(yōu)秀的開發(fā)人員不會(huì)畫地為牢:他們既可以浮潛,也能水肺潛水。他們依據(jù)自己需要考察的對(duì)象來選擇技術(shù)。偵察的時(shí)候,淺層潛水就已足夠;但如果審察,就需要更深的潛水了。
有時(shí),僅僅用腳趾探探水就足以知道不能跳下水。