您的位置:軟件測試 > 軟件項目管理 > 團隊管理 >
建設全功能團隊??實踐篇
作者:網絡轉載 發(fā)布時間:[ 2013/7/24 15:42:04 ] 推薦標簽:

訂后一顆紐扣

前端開發(fā)有其獨特的知識領域,但這并不意味著任何界面工作都要由前端開發(fā)工程師來完成。前后端的分離增加了開發(fā)過程中的瓶頸以及人員認知領域中”Unknown Unknown”的區(qū)域,降低了找到更優(yōu)解決方案的可能性。前端開發(fā)能力的培養(yǎng)特別適合在全團隊中無差別的展開:讓后端開發(fā)人員進行前端開發(fā)可以減少瓶頸,積累知識,構造“T”型知識區(qū)。測試人員需要測試界面,所以了解界面是如何工作,可以幫助她們設計出更高質量的用例,對于需求分析人員來說,高保真原型可以用作高效的交流工具。一個有效的方法是全面鋪開,引入專家,重點培養(yǎng),我們所采取的步驟是:

要求全團隊在業(yè)余時間完成一組界面練習,在全團隊普及Html, Css和Javascript知識。
   引入界面開發(fā)專家重點培養(yǎng)一名有興趣進行界面開發(fā)的團隊成員,對系統(tǒng)的界面結對進行改進,優(yōu)化。
   在界面開發(fā)專家的帶領下,全員重新完成之前的界面練習,專家每天用一個小時講解對應的前端技術并點評作業(yè)。
   從全面普及知識到引入界面專家再到培養(yǎng)出新人,總共花費3周時間。值得一提的是,在整個過程中,由于之前團隊建設的鋪墊,其它成員有能力完全分擔工作,團隊重點培養(yǎng)的開發(fā)人員可以不受任何干擾,全職投入到前端開發(fā)中,大程度的利用了界面開發(fā)專家的價值,提升了學習效果。

上同一艘船

項目經理是和技術是作為現(xiàn)場管理者存在的,他們必須能夠理解現(xiàn)場,能夠通過現(xiàn)場的痕跡找到團隊的不足和改進方向。那么,沒有什么比卷起袖子參與到一線的工作中更能幫助這些角色理解現(xiàn)場。形成對產品質量和進度的親身體驗。理解現(xiàn)場,有效的管理現(xiàn)場而不是管理數(shù)據,是這些角色輪換到開發(fā),測試或者分析工作的主要價值所在。現(xiàn)場管理人員常常有太多的職責,既要對內負責也得對外負責,一個自然而然的問題是:”沒有時間投入一線工作“。我認為現(xiàn)場管理人員的工作主要是兩個部分:首先是職位責所賦予的管理性事務,譬如狀態(tài)的匯報,客戶的管理等;其次是能力所賦予的工作,作為團隊中有經驗的成員,他們需要參與到需求分析、架構設計、決策的制定、培訓等活動中;鶎庸芾碚邞斢幸庾R的主動的卸下身上的工作職責,完成到一線角色的轉換,從另一個角度看,這個過程是整個團隊能力提升的過程。

個人經驗是:

對職位責所賦予的工作,首先做到對團隊的狀態(tài)、開發(fā)的進度等盡量的做到自動化、透明化、可視化,讓所有人都能獲得這些信息,其次通過知識傳遞,把不涉及敏感內容的工作下放,重點培養(yǎng)一、兩名團隊成員參與管理。
   對能力所賦予的工作,一是針對團隊急需提升的能力組織培訓,二是通過結對工作(參見結對工作,不止于結對)傳遞知識,提升能力,讓團隊習慣于自行決策,有意識的逐步弱化自己在團隊中的重要程度。
   我們的的經驗數(shù)據是大約需要4個星期,新人可以在指導下正確的進行管理實踐(正確的做事),這已經可以保證基層管理角色一定的參與一線工作的時間;而讓新人具備辨別團隊目前需要什么幫助(作正確的事),進一步將原有的管理角色基本弱化為開發(fā)角色,則需要6個月左右的引導和練習。

結對工作,不止于結對

我完全認可結對工作在知識傳遞、提升工作正確性方面的作用。我們幾乎結對作所有的事情,某種程度上結對工作成為一種文化,成為了思維慣性和一種必然。長期的結對工作讓我發(fā)現(xiàn)目前的結對方式對于培養(yǎng)新人還不夠友好,這里,新人所指代的是廣義的新人概念,不僅僅指畢業(yè)生,剛剛從事測試工作的開發(fā)達人也算是測試新人。目前結對方式的的缺點在于:

培養(yǎng)了思維惰性,心理上依賴于別人的帶領。

無法從失敗中學習。有經驗的人常常會跳過很多陷阱,新人的工作經歷全是各種成功,一旦獨立工作被這些陷阱打的措不及防。
   只見樹木不見森林。譬如在TDD的過程中,新手可以看到一個個的方法是如何被設計的,如何從測試中被驅動出來,但很難從他的搭檔那里學會如何想到要設計這些方法?從下向上驅動還是從上向下,各有什么分別?為什么這個方法要被放在這個類,而不是那個?
   我認為結對工作其中一個被忽略的要點在于讓新人在可控的狀態(tài)下經歷失敗,獲取經驗,并且在工作中學會思考問題的方式(如何發(fā)現(xiàn)問題?從何處著手?怎么在不同的方案中取舍?從哪里開從哪里開始分析?),而不僅僅是思考問題本身(寫什么測試?如何讓測試通過?)。從我的觀察看,培養(yǎng)新人比較有效的途徑是從全程結對工作開始,通過對細節(jié)的指導讓新人了解工作的主要方式和職責,進行必要的知識貯備,學會如何正確的做事。接下來應當讓新人逐漸學會什么是正確的事情。我們的做法是:

新人接到任務后,自行思考。
   在白板上寫下完成任務的主要步驟
   向教練講解主要思路和考慮點,教練通過提問引導他(輸入特殊字符會怎樣?)
   自行完善方案
   和教練一起確認方案
   教練對整個思考過程進行點評,告訴新人這類問題的思考要點
   整個過程大致耗時半個小時,這種方式的優(yōu)點是新人對方案非常了解,執(zhí)行起來不容易跑偏;有機會在可控范圍內犯錯,成長更快;   新人可以通過不斷的練習有能力通過多個任務逐漸總結出一套思維方式。教練利用這種方法可以通過代碼檢視和有選擇的結對(譬如針對任務中的難度部分結對)同時幫助多人,更有效率。

結局
   在咨詢的過程中,我見過太多的團隊把目標放在交付上,冀希望于工具,外部力量能夠快速的解決問題,往往對小步前進不夠耐心,不關心團隊的成員。在我們這個 90%以上成員沒有.Net經驗,50%是畢業(yè)生的團隊中,那些微不足道的改進,一點點的提升,終造了這個9個月中沒有加班,幾乎沒有缺陷,提前交付的項目,客戶甚至愿意為他們的滿意額外支付3萬美金作為獎勵。我把全篇總結為一句話:把項目目標放在人員能力提升,讓項目成功成為能力提升的副產物。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd