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