是軟件產(chǎn)品不可能是小作坊式的開發(fā)方式能完成的,是否具備完善有效的控制能力,規(guī)避由其所帶來的質(zhì)量與可靠性方面引起的風險是關(guān)系到團隊生存的大事。
團隊模型的完善:
團隊模型是軟件開發(fā)隊伍建設(shè)的基礎(chǔ),一個結(jié)構(gòu)合理的團隊,雖然不能保證項目一定成功,但卻是保障產(chǎn)品長期穩(wěn)定的保持高質(zhì)量、高可靠性的基礎(chǔ)。
這里所建議的團隊模型,參考了敏捷開發(fā)和CMM、MSF等重要模型,并在實踐中應用了兩年以上,應該說是一個有效的中小團隊模型;這個模型本身不是固定不變的,它應結(jié)合不同時期,不同團隊的特點,加以完善,提高其可行性與有效性。
團隊模型中的重要概念:
團隊的基本構(gòu)思:
為了彌補傳統(tǒng)項目小組自上而下的層次結(jié)構(gòu)的一些不足,研發(fā)團隊應是小型、跨學科的小組,在這樣的小組中成員們共同承擔各項職責,權(quán)衡彼此間能力差異,以便將主要精力集中到手頭上的工作中。他們擁有共同的項目前景,以部署產(chǎn)品為中心,堅持高標準的質(zhì)量和溝通,保持樂意學習的心態(tài)。本文描述了小組中的各種角色群,以及他們的目標和職能領(lǐng)域。同時提供了指導,以便根據(jù)產(chǎn)品規(guī)模和復雜性來保障一個高效的團隊。
清晰的責任,共同的職責:
將工作進行中需要共同承擔的職責和確保工作如期完成需明確的工作責任結(jié)合起來。
團隊模型基于這樣一個前提,即小組里的每個角色都代表了對項目的一種獨一無二的觀點,但是沒有哪個個人能夠完全代表所有的不同質(zhì)量目標。為了解決這一問題,把對各種利益相關(guān)人的清晰角色職責與實現(xiàn)這個項目成功的整個小組的責任結(jié)合起來了。
在小組內(nèi)部,每個角色通過對小組本身負責(也對他們各自所屬的組織負責)實現(xiàn)該角色的質(zhì)量目標。在這種意義上,每個角色都對最終解決方案質(zhì)量的一部分負責。小組成員之間共同承擔職責(根據(jù)不同小組角色指派)。角色之間是相互依賴的,有以下兩個原因:首先,就其必要性而言,因為把每個角色的工作分隔開來是不可能的;其次,出于優(yōu)先的原因,如果每個角色都了解全局情況,那么小組的效率會更高。這種相互的依賴性會鼓勵小組成員對由他們負責的直接區(qū)域以外的工作做出評論和貢獻,以確保小組所有的知識、能力和經(jīng)驗能夠被應用到產(chǎn)品的構(gòu)造里。項目的成功屬于所有的小組成員;他們共同分享一個成功的項目所帶來的榮譽和回報,他們也同時希望,即使是一項不太成功的項目,也能做到全心投入并從中吸取教訓以完善他們的專長。
賦予小組成員權(quán)力:
在一個高效的小組里,所有的成員都被賦予權(quán)力以便根據(jù)他們自己的承諾交付任務(wù),并且充分信任小組的其他成員也能實現(xiàn)各自的承諾。類似的,未來客戶也能夠認為小組將會兌現(xiàn)其承諾,并進行相應的規(guī)劃。在最壞的情況下,小組也應該盡快地告知客戶項目出現(xiàn)了哪些延遲和變化。
賦予小組成員權(quán)力,讓其承擔指派的承諾。這種授權(quán)包括向小組成員提供進行工作所需的各種資源;負責制定決策以有效影響隊員的工作;理解隊員的權(quán)力界限,并不斷增加各種可用途徑來處理越權(quán)問題。
準備好向其他成員允諾。這些準備包含了心態(tài)(進行面談并樂意采取行動)、就緒,并理解承諾的內(nèi)在含義以及它對當前工作量和資源的影響。這樣做的結(jié)果就是,不到小組成員清楚承諾的內(nèi)在含義,就不要作出承諾。相反,小組成員要提出一個更小的、他們能夠理解的承諾,例如對這些承諾的內(nèi)在含義進行研究,然后再迅速堅定地作出承諾。對較小承諾的成功交付將建立小組的信任。
清晰定義自己擔負的承諾。這樣可以避免一些可能會導致小組成員間信任危機的誤會。
做出一切合理的努力來交付承諾的工作。如果一個小組有來自不同組織的成員,那么合理的期望也將因人而異。例如,某些小組成員可能認為在周末工作是合理的;而其他人則可