吃自己的狗糧
當開發(fā)人員坐在測試工作站前,你將會詫異于多少開發(fā)人員因為繁瑣的步驟而不會安裝/升級自己參與制作的軟件,多少人認為自己設(shè)計的復雜配置是荒唐的。在很多情況下,這都不是安裝、配置的問題,而是設(shè)計問題,將開發(fā)和測試過程分離把痛苦轉(zhuǎn)嫁給了另一個團體(測試、用服、用戶),開發(fā)人員喪失了親身使用軟件的機會,從而無法發(fā)現(xiàn)問題的存在。暴露并修正這些問題,是將開發(fā)人員和測試人員進行輪換的主要價值之一。從我們的經(jīng)驗數(shù)據(jù)看,開發(fā)人員可以在一周內(nèi)掌握大多數(shù)的測試技巧,個人的建議是從經(jīng)驗豐富的開發(fā)人員開始輪換,一方面他們更能認識到測試的必要性,便于交流,也便于形成表率。另一方面豐富的經(jīng)驗更容易幫助他們察覺到問題的存在。其它的一些要點是:
一對一的充分交流,讓開發(fā)人員認識到進行測試工作的價值和目的。
引導開發(fā)對痛點進行思考、改進。改變測試簡單、重復的工作面貌,要對開發(fā)人員形成挑戰(zhàn)。
一周輪換2天持續(xù)數(shù)周或連續(xù)輪換2星期為宜。
睜開眼睛看大象
開發(fā)人員習慣于正確性驅(qū)動,然而正確的返回結(jié)果卻不一定是必須的,有時甚至是一種浪費。我們項目所需要處理形如1001的期貨時間戳,10代表2010年,01代表一月份。開發(fā)人員自然想到了如何區(qū)分1910年、2010年、2110年的問題。于是復雜的內(nèi)部表達被設(shè)計出來,用于推斷正確年份。這是必須的么?如果我們能了解到客戶最大的壓力在于半年后項目能否成功上線替換掉現(xiàn)有無人能夠維護的應(yīng)用,而不是100年后才可能出現(xiàn)的問題,我們是否能在類似的技術(shù)決策中,做出更聰明的選擇呢?幫助開發(fā)/測試角色獲取更多的信息,讓他們了解到制定需求的上下文,而不僅僅是需求是什么;讓他們更高的層面認清各個故事之間的關(guān)聯(lián),能夠分辨可以給客戶帶來最大價值的任務(wù),這是將開發(fā)角色/測試角色與分析角色對換的主要價值。一些要點是:
在進行分析工作前,開發(fā)人員需要完成多個模塊的開發(fā),而測試人員最好完成開發(fā)輪崗,否則收效甚微。分析工作可以兼職進行,我們認為比較有效的方法是每天下午花40分鐘讓開發(fā)/測試人員在教練的帶領(lǐng)有重點的分析一、兩個故事。
重點放在提供一套思考框架幫助新手梳理分析思路,我們發(fā)現(xiàn)一個有效的方法是結(jié)對工作、獨立思考、演講并點評。(參見結(jié)對工作,不止與結(jié)對一節(jié))
根據(jù)我們的經(jīng)驗,兩周全程跟蹤式的結(jié)對分析足夠幫助新手初步掌握分析思路,教練可以考慮逐漸減少在新手思考過程中的侵入,再經(jīng)過大概2個月的練習,新手基本可以獨立工作。
和客戶對話
在進行過分析角色的輪換后,可以進一步利用需求管理作為主線讓團隊成員參與到客戶交流中,慢慢削弱項目經(jīng)理的客戶聯(lián)系人角色,其主要價值在于:
提升交流質(zhì)量,一線人員常常比項目經(jīng)理更了解產(chǎn)品。
展示開發(fā)人員的能力,增強客戶信心。
弱化項目經(jīng)理在客戶眼中的重要性,為未來平滑的取代項目管理者,減少開銷作準備。
幫助技術(shù)人員掌握交流技巧、提升團隊能力。
個人建議是:
從例行的功能展示會(showcase)開始,讓每個成員練習從客戶的角度進行思考(客戶想看什么?),鍛煉語言能力,消除與客戶交流的恐懼感,并且讓客戶熟悉開發(fā)團隊的每個成員,習慣開發(fā)團隊的交流方式。由多人分別準備客戶進行電話會議中需要討論的議題,每人深入思考的一、兩個問題,通過充分思考彌補經(jīng)驗、技巧上的不足。結(jié)對完成發(fā)給客戶的郵件,讓另一雙眼睛檢查有沒有把該說的問題點到,表達方式、方法是否得當。提供一套與客戶交流的思考框架,并在與