曾經和一位擔任測試經理不久的朋友和我談到過他們部門建設的問題。剛開了個頭,這位經理就急不可耐地倒起了苦水:“部門的工作真是不好開展,員工沒有勁頭……”“某某員工簡直是不可救藥,總是把事情辦砸……”、“某某員工真是讓人著急,來公司三年了,對業務也熟悉,你想要提拔她吧,她就是不上進,讓她去做一點以前沒做過的事情她都會驚慌失措”、“老員工都死氣沉沉,新員工都沒有上進心……”、“某某最近要辭職了,我也不明白怎麼回事,我還一直以為他工作得很愉快呢……”。足足在發了半個多小時的牢騷以後,他仍然沉浸在自己的痛苦中。
說實在的,我真的很同情他,也很同情他現在的處境。作為一個新上任的測試經理,自然會有一股子勁頭,恨不能一夜之間就讓部門面貌煥然一新,恨不能讓所有的員工一夜之間突飛猛進……,可惜,羅馬不是一天建成的,部門管理的問題也絕對不會解決得那麼輕易。
管理是一種藝術,對測試團隊的管理更是一種需要小心的藝術。測試工程師一般都敏感且自尊,他們有發現缺陷的能力,自然也能輕易發現你在管理工作中的疏忽;他們能夠評價應用系統,評價你的管理工作對他們來說也不是難事。
那麼,真的就那麼難建立一個高效的測試團隊嗎?實際上,管理工作的核心是“人”,作為測試部門的負責人,只要抓住了這點,就能很順利地把整個團隊調動起來。我在不同的公司經歷過不同的測試團隊,在我的感覺中,測試工程師其實都是很好相處的人。測試工程師不是純粹的技術人員,他們一般來說都敏銳、有耐心、有責任心、能承受工作壓力,也具有比較好的溝通能力。但是,“測試工程師”這個對他們的統稱掩蓋了太多他們之間的不同。
回到我們在文章最初的例子,當我問那位新測試經理“你覺得你理想中的測試工程師是什麼樣子的呢?”這個問題的時候,他的回答是“我希望他們都能有上進心、積極進取、有高的技術水平,同時能夠承擔工作壓力。”我想,他的回答可能是用對自己的要求來要求部門所有的測試工程師了。一個全是將軍的團隊絕對不會比一個分工明確、高效協作的團隊更加有戰鬥力。
那麼,究竟如何來建立一個高效的測試團隊呢?這個問題,一定是“仁者見仁,智者見智”的問題。不過在這裡,我不揣冒昧,說一些自己的看法。
1、測試團隊中的“人”
首先,高效的測試團隊需要不同角色的“人”。根據我的經歷,一般來說,測試團隊中經常都有些這樣型別的員工:
1.1 不同型別的員工
◆ 老虎
測試部門的老虎是那些有活力、有衝勁的人。他們聰明、能幹、敏銳、不懼怕壓力。每個我見過的測試經理都期望能找到這樣的人才,可惜,這樣的人才並不多見,而且,這樣的人才大多都是依靠測試組織自己培養出來的,一隻“外來的”虎不一定能在新的組織中也發揮虎的威力。
不過,即使在部門中有了老虎的存在,還必須為老虎創造出適合他的空間。很多測試經理都會為部門中能人的離去而煩惱,但在煩惱的同時,你有沒有想過為什麼他要離去?純粹為了薪酬待遇?——實際上,老虎是很有上進心的,一旦他發覺自己只能在一個固定的環境中做固定的事情,他就會選擇離開。要想留住這種型別的人才,必須為他創造一個時刻充滿挑戰的環境——讓他開拓一片天地,讓其他角色來“守城”,最可能是最合適的搭配。
◆ 牛
牛是最勤勤懇懇的,踏實、勤勞、敬業是牛最好的寫照。這樣的員工能完成你交給他的明確的任務,把明確的任務交給他是最讓人放心的。但美中不足,這樣的員工往往缺少主動的創造性,明明他對業務很熟悉,明明他經驗很豐富,但一旦要他跳出自己習慣的工作氛圍和角色,創造性地完成一些工作,他們就束手無策了。這種型別的員工讓人又愛又恨,愛的是他勤勤懇懇的態度,恨的是他不肯進取的心態。
◆ 猴子
猴子是聰明的代名詞,這種型別的員工聰明、大膽、活躍。在部門裡,這類員工總是在鼓搗各種新工具、新技術、新名詞。他們是工具引入的主要建議者和新技術採用的主要倡導者。這類員工對新事物有執著的熱情,願意去了解每一種他們所能接觸到的新東西。對於解謎,這類員工有著天生的愛好,他們最大的興趣就是從謎團一樣的系統中找到能證明自己聰明的證據。然而,這類員工的缺點幾乎和優點一樣明顯——缺乏持之以恆的耐心,一旦他們不得不長期進行一些重複性強的工作(例如,手工的迴歸測試),他們就會表現出不耐煩和由此因為疏忽產生錯誤。
◆ 長頸鹿
長頸鹿在這裡並不是“遲鈍”的同義詞。長頸鹿通常是一個部門中最有前瞻能力的人。他們具有對軟體測試深入的理解和認識,能夠對測試部門的發展提出非常好的建議(而不僅僅是意見),唯一的問題是,對細節上他們總是缺乏關注,能夠給出漂亮的流程圖或是建議書,但如果由他來執行,則一定是一場災難。
◆ 狐狸
測試部門中也會存在一些狡猾的人,我們可以把他們稱為“狐狸”。狐狸這種型別的員工總是整個部門看上去最為忙碌的一個——他們為自己攬下一個又一個的工作,卻用一個工作去掩飾在另一個工作上投入的無效勞動。每當你問起這類員工“A事情進行得如何?”,他們總能用“我正在忙著B事情(或是C事情)”這樣的回答搪塞你。最終的結果是,經過幾個月時間的忙碌,他們可能拿不出任何有效的工作成果。
◆ 鼴鼠
當然,這種型別的員工可能是我們都不希望見到的。他們永遠都想沒有睡醒一樣,更多時候看到的是他們茫然的眼神。交給他的任何工作都可能沒有理由地失敗,而且,更可怕的是,他們很少能夠從失敗中學習到教訓。
對這些不同型別員工來說,重要的不是改變他們的性格型別,而是要了解他們的性格型別,再根據他們的性格型別為他們分配不同的工作,讓他們能夠在一個能順利施展自我和自我前進的環境中工作。
1.2 不同型別員工的對策
◆ 老虎——給他挑戰,把部門最重要的、最困難的工作交給他,你只需要充分發揮他的主動性,定期讓他彙報工作的進展就可以。讓老虎覺得最安全的方法是讓他能夠充分證明自己的能力。當然,要注意的是,如果一個團隊中有幾隻老虎,合理分配他們的工作(負責不同的方面)可能是一個好主意。
◆ 牛——讓他做自己最擅長的事情。牛會很高興自己在某個方面可以一直髮展,直到成為這方面業務或是實施方面的專家。讓他接手老虎開拓的工作範圍,做一個好的執行者對組織是最有利的。當然,牛有時候也會提出想要一些“挑戰”,這時候最好先為他準備好退路。
◆ 猴子——部門新技術研究的不二人選。無路是在測試自動化、測試工具引入、新的測試方法和測試技術引入方面,都可以仰仗猴子。不過,最大的風險來自於他們的不確定性和其天生地樂觀心態,因此,如果讓他們主導某個專案(例如,測試工具引入專案),要他們更加頻繁地彙報工作進展和為他們規劃細節。
◆ 長頸鹿——參謀。在規劃部門發展的時候,可以多聽聽他們的意見,但最好不要讓他們去完全承擔部門測試過程改進的任務,在執行方面,他們可能並不會照顧到太多的細節。
◆ 狐狸——拿掉他用來隱藏自己的“多工”。明確交給他一個任務,例如“完成某專案的測試”,時刻關注他們在任務進行過程中的報告,一旦發現他們主動承擔不屬於自己的任務,就要立刻分析,看他們是否又犯了老毛病。
◆ 鼴鼠——怎麼說呢?給他一個機會吧。可能是他並不真正熱愛這個工作,也或者是他有些心理上的疙瘩沒有解開,不管怎麼說,找出他這樣糟糕表現的原因,如果真的沒有辦法改變他的工作,很可能只能選擇讓他離開現在的團隊了。
1.3 團隊成員的默契
沒有一個測試團隊可以依靠一個人取得成功,成功必然是大家共同努力的結果。在短時間內建立一支成功的團隊非常困難,因為你必須按照部門的規劃去了解每個團隊成員、對他們進行培訓、在必要的時候重新培訓等等。
然而,由於種種原因,一個團隊不可能總保持在建立之初的狀態,有老成員的離開、也有新成員的加入。團隊規模可能在變化,團隊承擔的職責也可能在發生變化。那麼,在這些變化的同時,我們怎樣讓一個團隊始終保持人員上相對的成功呢?答案就是“默契”。
一個團隊必須依靠制度才能建立這種默契。比如,建立員工之間的定期的溝通會、強制的培訓和接受培訓的機制、人員的定期輪換、崗位角色的互相備份等等。這方面沒有定式可以遵循,每個人都可以按照自己團隊的特點來建立體系,但必須要有這樣的體系,才能將團隊的成果和發展以某種形式固定下來。
2、測試團隊的“規則”和“氛圍”
除了人員之外,最重要的就是團隊的“規則”,也就是團隊賴以生存的規範土壤了。一個團隊的戰鬥力更多地體現在“令行禁止”上,因此,對成功的測試團隊而言,必須要有明確的角色分工和明確的團隊規則。
另外,“氛圍”也是測試團隊的一個重要因素。所謂測試團隊的氛圍,就是一種置身其中的感受,一個高效的測試團隊,必然有良好的氛圍。
2.1 學習和交流的氛圍
一個高效的團隊必然是一個持續學習的團隊。測試團隊中每個測試工程師其實都會對自己的未來有自己的規劃,也會希望自己能夠在團隊中學習到更多的知識和技能。高效團隊依賴團隊中的每一個人來達到“高效”的目的,也要求每個團隊成員都具有良好的技能,因此,學習的氛圍是高效的測試團隊必不可少的。
但是,要建設學習型組織,並不是一件輕易的事情。組織不可能把學習作為一個任務來下達,因此學習必須要與工作進行結合;另外,如何調動組織中“能者”帶動“暫時不能者”進行學習,也是很有技巧的事情。
◆ 部門講師制度
部門講師制度是一種比較有效的制度。在我的實踐中,部門講師是一種權利,也是一種責任:“部門講師”認證是獲得“高階測試工程師”級別的必要條件;同時,要保留住“部門講師”的認證,必須保證每月至少4個小時的內部課程,而且,內部課程獲得的評價要大於平均8分。
除此之外,每年評選一次年度的“最佳內部講師”,每年對內部講師進行一次重新認證,內部講師可以優先獲得一些外部交流的機會等等,這些都進一步將內部講師變成了一種榮譽,從而使更多的成員願意為整個團隊奉獻自己的知識和經驗。
◆ 專題研究
測試工程師都知道,測試工作最容易陷入的一種不好的工作狀態就是“事件驅動”——測試工程師整天忙於處理臨時的突發事件,而忽略了自身技能的提升和部門長遠的目標。這種狀態一旦持續下去,形成慣性,測試團隊的成員很容易產生厭倦和倦怠的情緒,失去目標和方向,而這種沒有目標和方向的氛圍又很容易影響到整個團隊的士氣,乃至於導致人員的流失。
我在工作中會採用一種“專題研究”的指導方式。實際上,在測試團隊中,可以進行的研究和提高工作是非常多的,我們正好可以利用測試工作的“間歇性”特點,在不是很緊張的時候進行一些針對性的研究工作。之所以採用專題的方式進行研究,是因為要確定研究的目標,否則,研究工作沒有目標的指引,很容易就會被忽略。而且,這種專題研究不要設定過大的專題,最好是能夠在短時間內可以看到一定成果的專題。
◆ 重總結的氣氛
及時對自己的工作進行總結是一個非常良好的提升個人和組織能力的機會,一定要在組織內建立這種“重視總結”的氛圍。總結並不僅僅是描述做了哪些事,更重要的是,要總結得失——“我們在這次的工作/專案中得到了什麼?哪些地方有失誤?能不能做得更好?”總結的目的不是為了懲罰某個人,而是為了讓團隊成員都能看到工作中的成績和不足,總結出好的地方形成流程或是規範,從而提升個人能力和組織的能力。
2.2 用制度和流程形成團隊的戰鬥力
◆ 制度流程先行
“沒有規矩,不成方圓”。一個高效的測試團隊同時也一定是一支紀律嚴明的隊伍。我們團隊的每一個新入職者,不是首先去學習業務知識和測試技能,而是首先用一個月的時間學習我們的測試流程和工作規範,因為這些才是團隊最直接的經驗總結和提煉。
◆ 知識不止是個人的,更是團隊的
人員的交替對測試團隊來說很很正常的事情,但無論人員如何變化,測試團隊必須要能夠保證團隊不會由於某個人的離去而不能正常運轉。我們在前面提到了“人員備份”的概念,除了“人員備份”之外,還必須通過一定的制度來保證人員的經驗和知識能及時轉化成團隊的知識和經驗。
- “專案總結”制度可以保證在每個測試專案結束時,專案成員的經驗能夠體現為組織的經驗;
- “部門講師制度”可以讓個體(講師)的技能與知識通過文字、語言的方式成為團隊的知識和技能;
最後建立高效的測試團隊並不是一個輕鬆的任務,但也絕對不是“Mission Impossible”,只要團隊的管理者能夠管好“人”、“制度”、營造良好的“氛圍”,相信每個管理者都能營造具有特色的成功高效的團隊。