如何向敏捷開發(fā)團隊轉(zhuǎn)型
轉(zhuǎn)向敏捷開發(fā)的理由大同小異:不斷后延的發(fā)布日期,不斷擴大的項目范圍,占領(lǐng)市場的有利時機...但是如何向敏捷的開發(fā)團隊轉(zhuǎn)型,方法卻大不相同。
敏捷轉(zhuǎn)型的第一步
對于一些企業(yè),提供敏捷訓(xùn)練是轉(zhuǎn)型的第一步,例如Vignette公司。這是一家位于得克薩斯州的Web內(nèi)容管理公司。Vishal Sheth是該公司的內(nèi)部敏捷教練。據(jù)他介紹,公司首先在管理人員中展開敏捷訓(xùn)練。除了內(nèi)部教練以外,公司還向咨詢公司Valtech邀請外部教練幫助訓(xùn)練和管理團隊。這種自上而下的方式為其他團隊成員轉(zhuǎn)向敏捷帶來推動力。很顯然,一旦管理層接受了敏捷方法,其轉(zhuǎn)型面臨的障礙將減少很多。
接著,Vignette公司的下一步是準實時(just-in-time)訓(xùn)練。首先,當(dāng)團隊準備開始一個新項目時,由資訊公司Valtech組織一個為期兩天的Scrum訓(xùn)練會議,訓(xùn)練內(nèi)容包括理論和實踐、發(fā)布計劃和sprint計劃。Vignette公司則派出Sheth參加Scrum教練會議,由他對公司其他團隊成員進行訓(xùn)練。
擔(dān)任Vignette公司外部教練的Subramanian認為,在團隊正式開始敏捷開發(fā)前,訓(xùn)練確實非常重要;能有一位稱職的敏捷教練普及敏捷開發(fā)理論,帶領(lǐng)團隊開始早期的sprint和release訓(xùn)練同樣大有裨益。
Intuit公司Basab Dattaray表示,他的團隊同樣聘請外部Scrum教練。他認為,訓(xùn)練本身是不夠的,必須與實踐相結(jié)合,訓(xùn)練才會真正對團隊的敏捷轉(zhuǎn)型有所幫助。
同樣聘請外部教練進行敏捷訓(xùn)練的還有AMS公司。所不同的是,AMS公司首先成立了一個敏捷指導(dǎo)委員會,按照整個軟件開發(fā)生命周期的不同階段抽取負責(zé)不同任務(wù)的角色代表,作為委員會成員。先對委員會進行Scrum教練的訓(xùn)練,并由他們制定出讓整個團隊接受Scrum方法的計劃。
何時開始敏捷轉(zhuǎn)型?
當(dāng)然,并非每個團隊都會采用正式訓(xùn)練作為轉(zhuǎn)型的開始。Ajira公司的Kannan就通過工作中的訓(xùn)練來培訓(xùn)員工。Kannan曾在以前的工作中應(yīng)用極限編程實踐,因此他訓(xùn)練自己的開發(fā)團隊混合使用XP和Scrum實踐來滿足實際需要。加入團隊的新員工,更多地是在工作中潛移默化地接受訓(xùn)練。Kannan認為,對于無力負擔(dān)那種坐在教室里進行正規(guī)培訓(xùn)的團隊,這是目前發(fā)現(xiàn)的最好方法。
那么,在開發(fā)生命周期的哪個階段轉(zhuǎn)向敏捷開發(fā)實踐更加適合呢?例如Vignette,就是在每個開發(fā)團隊開始一個新項目時轉(zhuǎn)向采用敏捷方法。這個轉(zhuǎn)型的過程持續(xù)了大約一年時間。
相反地,AMS恰好從開發(fā)周期的中間開始它的全面轉(zhuǎn)型。AMS的Kinsman回憶道,“這是一個艱難的過程,但是大多數(shù)人很快掌握了方法。我們制定了一份3個月的sprint計劃,但是當(dāng)開發(fā)接近尾聲時,我們才發(fā)現(xiàn)還是有小部分人沒有適應(yīng)Scrum方法,產(chǎn)品發(fā)布工作阻塞在質(zhì)量保證這里。于是,整個開發(fā)團隊都投入到幫助進行回歸測試的工作中。這段小插曲反而真正擦亮了開發(fā)人員的眼睛。經(jīng)過初次的嘗試,AMS的開發(fā)團隊在此后的開發(fā)中完全地轉(zhuǎn)向敏捷開發(fā)方法?!?/P>
如何建立敏捷團隊?
轉(zhuǎn)型過程中,需要確定的還包括開發(fā)團隊的規(guī)模和構(gòu)成。Intuit公司的開發(fā)團隊是跨部門的,其中包括遠程開發(fā)成員。整個團隊使用ScrumWorks,Portland公司的一個敏捷項目管理工具。根據(jù)Dattaray的的介紹,開發(fā)團隊從6周的sprint計劃開始,逐步縮減為4周,最終達到2周一個sprint計劃。Dattaray認為,市場變化風(fēng)云莫測,對于軟件開發(fā)最重要的便是迅速跟上變化,盡快發(fā)布產(chǎn)品,這就需要各相關(guān)部門在一開始就都加入進來。以Dattaray的團隊為例,去年他們共交付6個不同產(chǎn)品,其中規(guī)模最小的產(chǎn)品由2個開發(fā)人員在兩周內(nèi)完成;規(guī)模最大的產(chǎn)品則由一個15人的項目組用了一年時間完成。
AMS同樣建立的是跨部門開發(fā)團隊。在此之前,AMS整個開發(fā)團隊的狀態(tài)是相當(dāng)分散的。AMS首先將開發(fā)團隊分為4個Scrum組,平均每組由8位成員組成。Scrum組的目標是在每個sprint周期結(jié)束,按時交付功能齊全的軟件產(chǎn)品。由于此前,開發(fā)人員習(xí)慣了各自獨立展開工作,這一變化對他們來說是巨大的考驗。而最大的挑戰(zhàn)就是讓每個成員學(xué)會將用例分解成更小單元。Kinsman表示,AMS一直在為準時交付實際可用的產(chǎn)品價值而努力。
對于Vignette公司,最大的挑戰(zhàn)則來自于分布式的開發(fā)團隊。一般來說,團隊成員在一起工作會更加高效。但是對于某些企業(yè),必須面對開發(fā)人員分布各地的現(xiàn)狀。例如,開發(fā)團隊并不總是需要配備專人負責(zé)性能分析或者用戶體驗,不同團隊可以共享一個負責(zé)此項工作的成員。這樣,為了這些“共享成員”能夠隨時掌握團隊動向并融入其中,Vignette的開發(fā)團隊使用了信息共享工具,如Wiki。Subramanian的經(jīng)驗是,如果身處一個分布式的大開發(fā)團隊,我們就必須適應(yīng)它的工作方式。不同的產(chǎn)品需要不同規(guī)模的開發(fā)隊伍。具體地,團隊如何組織和協(xié)作,就由他們自己來決定。
自我管理增強主動性
在Vignette公司,向敏捷轉(zhuǎn)型的最初目標還包括加強團隊成員的主人翁意識。公司也一直在跟蹤調(diào)查開發(fā)部門員工在轉(zhuǎn)型過程中的感受到底如何?Sheth認為,自從轉(zhuǎn)向敏捷開發(fā)方法,各開發(fā)團隊之間一直在共享如何更好工作的經(jīng)驗和收獲,并逐漸成為首選的方法。
AMS有著類似的結(jié)果。雖然AMS的敏捷轉(zhuǎn)型運動是從上之下執(zhí)行的,但是在個體團隊的層面,如何執(zhí)行則取決于他們自己。通常,Scrum教練會在某個團隊出現(xiàn)具體問題時召開Scrum會議,然后大家一起自我糾正問題。
Dattaray也表示,通過Scrum方法,Intuit的團隊成員變得更加負責(zé)和主動,甚至不再需要別人監(jiān)督工作。
【編輯推薦】