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