當(dāng)軟件開(kāi)發(fā)組織采用敏捷開(kāi)發(fā)時(shí),測(cè)試團(tuán)隊(duì)通常需要花很長(zhǎng)時(shí)間來(lái)完成轉(zhuǎn)變。在很多公司中,獨(dú)立的質(zhì)量保證團(tuán)隊(duì)已經(jīng)根深蒂固。當(dāng)它們開(kāi)始適應(yīng)新的敏捷組織時(shí),會(huì)遇到難以接受的文化差異。敏 捷測(cè)試專(zhuān)家Lisa和Janet對(duì)此進(jìn)行了詳細(xì)分析,對(duì)文化因素在敏捷測(cè)試中的影響提出了自己的建議,InfoQ中文站對(duì)相關(guān)內(nèi)容做了整理。

  組織文化通過(guò)其價(jià)值、標(biāo)準(zhǔn)和設(shè)想來(lái)定義。組織文化支配著人們?nèi)绾螠贤、交互和做決定,這可以通過(guò)觀察員工的行為很容易地看出來(lái)。組織文化可以影響敏捷團(tuán)隊(duì)的成功。敏捷團(tuán)隊(duì)適合于允許獨(dú)立思考的組織。例如,如果一個(gè)公司是等級(jí)結(jié)構(gòu)的,所有的項(xiàng)目都鼓勵(lì)指令式管理風(fēng)格,敏捷團(tuán)隊(duì)可能會(huì)很吃力。組織以往的經(jīng)歷也可能會(huì)影響新的敏捷團(tuán)隊(duì)的成功。如果公司嘗試敏捷,但是結(jié)果糟糕,人們會(huì)懷疑再次嘗試的必要性,舉例證明為什么敏捷不起作用。他們甚至可能積極地反對(duì)它。

  當(dāng)嘗試采用敏捷過(guò)程時(shí),組織文化經(jīng)常被遺忘,人們懷疑敏捷為什么不像承諾的那樣有用。改變已有的過(guò)程是困難的,尤其是當(dāng)人們覺(jué)得習(xí)慣于現(xiàn)狀時(shí)。每個(gè)任務(wù)組形成了滿(mǎn)足自己需求的文化和過(guò)程。他們習(xí)慣于自己的工作方式?謶值那榫w非常強(qiáng)大,如果不能妥善解決,可能破壞向敏捷的轉(zhuǎn)變。如果團(tuán)隊(duì)成員覺(jué)得新的敏捷過(guò)程威脅他們的工作,那么會(huì)抵制這種變化。

  以如何定義軟件質(zhì)量的可接受水平的角度思考組織的質(zhì)量哲學(xué)。是否容忍劣質(zhì)的質(zhì)量?是否考慮客戶(hù)的質(zhì)量需求,還是只關(guān)心是否可以盡快地將產(chǎn)品交付給客戶(hù)?當(dāng)一個(gè)組織缺乏全面的質(zhì)量哲學(xué)和團(tuán)隊(duì)沒(méi)有生產(chǎn)高質(zhì)量產(chǎn)品的壓力時(shí),測(cè)試人員會(huì)感覺(jué)到無(wú)助。在這種環(huán)境中嘗試使用敏捷開(kāi)發(fā)的團(tuán)隊(duì)會(huì)面臨更大的障礙。

  如果一個(gè)現(xiàn)有的質(zhì)量團(tuán)隊(duì)自封為“質(zhì)量警察”的角色,它的成員通常通過(guò)確保 完成代碼審查和缺陷嚴(yán)謹(jǐn)?shù)赜涗浀饺毕莞櫹到y(tǒng)來(lái)保證質(zhì)量。他們跟蹤發(fā)現(xiàn)的缺陷數(shù),然后負(fù)責(zé)終決定是否發(fā)布產(chǎn)品。我們?cè)?jīng)接觸過(guò)一些測(cè)試人員吹噓他們的成,例如越過(guò)開(kāi)發(fā)經(jīng)理直接強(qiáng)制程序員遵循代碼標(biāo)準(zhǔn)。甚至聽(tīng)說(shuō)有測(cè)試人員浪費(fèi)時(shí)間編寫(xiě)不符合標(biāo)準(zhǔn)的需求的缺陷。這種態(tài)度并不符合協(xié)作的敏捷團(tuán)隊(duì),將引起敵對(duì)行為!百|(zhì)量警察”角色的另一個(gè)風(fēng)險(xiǎn)是團(tuán)隊(duì)不認(rèn)同構(gòu)建質(zhì)量的概念,程序員將測(cè)試人員視為安全防護(hù)網(wǎng)。團(tuán)隊(duì)通過(guò)缺陷跟蹤系統(tǒng)溝通,但這并不是一種高效的交 流,所以團(tuán)隊(duì)并不“凝聚成一團(tuán)”。

  技能和適應(yīng)能力

  很多程序員不能適應(yīng)敏捷實(shí)踐??但是對(duì)于習(xí)慣于根據(jù)需求文檔編寫(xiě)測(cè)試腳本的測(cè)試人員,情況如何呢?他們學(xué)會(huì)在編寫(xiě)代碼的 時(shí)候提出問(wèn)題了嗎?不能改變測(cè)試方式的測(cè)試人員與開(kāi)發(fā)團(tuán)隊(duì)的其他人密切工作的時(shí)候會(huì)很艱難。習(xí)慣于通過(guò)用戶(hù)界面手動(dòng)測(cè)試的測(cè)試人員可能無(wú)法理解敏捷開(kāi)發(fā)的本質(zhì)??自動(dòng)化方式。這些測(cè)試人員需要很大勇氣來(lái)面對(duì)變化的角色,因?yàn)樽兓馕吨枰l(fā)展其熟悉范圍之外的新技能。

  輔助因素

  即使有許多需要考慮的文化因素,但是大部分質(zhì)量保證團(tuán)隊(duì)關(guān)注過(guò)程改進(jìn),并且敏捷項(xiàng)目通過(guò)使用例如回顧總結(jié)等工具來(lái)鼓勵(lì)不斷改進(jìn)和適應(yīng)。大多數(shù)質(zhì)量保證專(zhuān)家希望使用他們學(xué)到的知識(shí)并改進(jìn)它。這些人 適應(yīng)性強(qiáng),不僅能適應(yīng),并且能在敏捷項(xiàng)目中獲得發(fā)展。如果你的組織專(zhuān)注于學(xué)習(xí),它將鼓勵(lì)持續(xù)的過(guò)程改進(jìn)。它將比把更多的精力放在如何應(yīng)對(duì)危險(xiǎn)而不是改進(jìn)過(guò)程的組織更快地適應(yīng)敏捷。

  如果你是有效的質(zhì)量哲學(xué)的組織中的一個(gè)測(cè)試人員,你可能努力使質(zhì)量實(shí)踐獲得接受。敏捷方式將提供引入的面向質(zhì)量的實(shí)踐的機(jī)制。像其他學(xué)習(xí)如何在敏捷項(xiàng)目中工作的每個(gè)人一樣,測(cè)試人員需要時(shí)間和培訓(xùn)。如果管理一個(gè)有測(cè)試人員的團(tuán)隊(duì),確保給他們足夠的支持。新項(xiàng)目通常不在一開(kāi)始引入測(cè)試人員,一般讓他們適應(yīng)一個(gè)已經(jīng)在一起工作了幾個(gè)月的團(tuán)隊(duì)。為了幫助測(cè)試人員適應(yīng), 可能需要引入一名有經(jīng)驗(yàn)的敏捷測(cè)試?yán)蠋煛F赣靡幻郧霸诿艚輬F(tuán)隊(duì)工作過(guò)的員工作為老師和教練可以幫助測(cè)試人員融入到新的敏捷文化中,不管是進(jìn)入一個(gè)現(xiàn)有的團(tuán)隊(duì)還是加入一個(gè)新的敏捷開(kāi)發(fā)團(tuán)隊(duì)。

  合適的節(jié)奏

  傳統(tǒng)的測(cè)試團(tuán)隊(duì)習(xí)慣于在項(xiàng)目結(jié)束時(shí)快速、激烈地測(cè)試,這會(huì)導(dǎo)致和夜間的加班。在項(xiàng)目結(jié)尾的測(cè)試階段,一些組織通常會(huì)讓團(tuán)隊(duì)每 周工作五十、六十或者更多小時(shí)來(lái)應(yīng)付終期限。組織經(jīng)常將加班作為個(gè)人貢獻(xiàn)的度量標(biāo)準(zhǔn)。這與敏捷價(jià)值沖突,敏捷價(jià)值的中心思想是讓大家時(shí)刻以好的狀態(tài)工 作。

  在敏捷項(xiàng)目中,鼓勵(lì)人們以一個(gè)合適的節(jié)奏工作。這意味著團(tuán)隊(duì)以一致的速度工作,團(tuán)隊(duì)可以保持在這個(gè)保持高質(zhì)量標(biāo)準(zhǔn)的速度。新的敏捷團(tuán)隊(duì)往往對(duì)其能夠完成的工作過(guò)分地樂(lè)觀,而承諾太多的工作。在一個(gè)或兩個(gè)迭代之后,會(huì)學(xué)會(huì)承擔(dān)不需要加班完成 的足夠工作。每周四十小時(shí)是極限編程團(tuán)隊(duì)通常的合適速度,這是保證人們連續(xù)幾周完成大部分工作并創(chuàng)造優(yōu)質(zhì)產(chǎn)品所能承受的工作強(qiáng)度。

  團(tuán)隊(duì)可能偶爾需要高強(qiáng)度地工作,但是這是特例,不是一般情況。如果需要短期加班,那么整個(gè)團(tuán)隊(duì)都應(yīng)該加班。如果sprint的后某些測(cè)試沒(méi)有完成,那么整個(gè)團(tuán)隊(duì)不僅僅是測(cè)試人員都應(yīng)該加班完成測(cè)試。在團(tuán)隊(duì)更好地管理負(fù)載和節(jié)奏之后,加班才會(huì)消失。

  客戶(hù)關(guān)系

  在傳統(tǒng)的軟件開(kāi)發(fā)中,開(kāi)發(fā)團(tuán)隊(duì)和他們的客戶(hù)之間的關(guān)系更像是買(mǎi)賣(mài)關(guān)系。即使客戶(hù)是內(nèi)部的,但是感覺(jué)更像是兩個(gè)獨(dú)立的公司,而不是為了生產(chǎn)業(yè)務(wù)這一目標(biāo)而共同奮斗的兩個(gè)團(tuán)隊(duì)。敏捷開(kāi)發(fā)依賴(lài)于客戶(hù)或者至少是客戶(hù)代表的緊密參與。敏捷團(tuán)隊(duì)邀請(qǐng)客戶(hù)協(xié)作,如果可能, 在同一地點(diǎn)工作,并且密切地參與開(kāi)發(fā)過(guò)程。雙方都了解對(duì)方的強(qiáng)項(xiàng)和弱點(diǎn)。

  不管客戶(hù)是內(nèi)部的還是外部的,這種關(guān)系的改變需要雙方的認(rèn)同。開(kāi)放的關(guān)系對(duì)敏捷項(xiàng)目的成功至關(guān)重要,在敏捷項(xiàng)目中,客戶(hù)團(tuán)隊(duì)和開(kāi)發(fā)團(tuán)隊(duì)之間的關(guān)系更像是合作關(guān)系,而不是買(mǎi)賣(mài)關(guān)系。擁有一些領(lǐng)域?qū)<掖恚⑶页掷m(xù)地向所有相關(guān)人員報(bào)告狀態(tài),是實(shí)現(xiàn)開(kāi)發(fā)人員和客戶(hù)成功協(xié)作的辦法?蛻(hù)對(duì)敏捷項(xiàng)目的成功是至關(guān)重要的。他們對(duì)將要實(shí)現(xiàn)的功能確定優(yōu)先級(jí),并對(duì)項(xiàng)目的質(zhì)量有終的評(píng)判權(quán)。測(cè)試人員與客戶(hù)緊密合作來(lái)理解需求,并定義證明滿(mǎn)足條件已經(jīng)達(dá)到的驗(yàn)收 測(cè)試。測(cè)試活動(dòng)對(duì)于開(kāi)發(fā)團(tuán)隊(duì)與客戶(hù)團(tuán)隊(duì)關(guān)系是很重要的。因此,測(cè)試專(zhuān)家是敏捷團(tuán)隊(duì)的關(guān)鍵。

  組織規(guī)模

  組織的規(guī)模對(duì)項(xiàng)目如何運(yùn)轉(zhuǎn)及公司如何完善結(jié)構(gòu)有重要的影響。組織越大,結(jié)構(gòu)中的層次可能會(huì)越多。當(dāng)形成自頂向下的交流渠道時(shí),報(bào)告結(jié)構(gòu)變得指令化,不適合技術(shù)和業(yè)務(wù)的溝通。

  溝通挑戰(zhàn)

  一些敏捷過(guò)程提供了便于團(tuán)隊(duì)交流的方法。例如,Scrum有Scrum會(huì)議,來(lái)自多個(gè)團(tuán)隊(duì)的代表每天交流。如果工作的測(cè)試團(tuán)隊(duì)或其他部門(mén)與編碼團(tuán)隊(duì)分離,那么需要找到保持不斷交流的方式。例如,如果數(shù)據(jù)庫(kù)團(tuán)隊(duì)是完全分離的,那么需要尋找一種與數(shù)據(jù)庫(kù)專(zhuān)家密切合作的方式來(lái)及時(shí)獲得需要的信息。大公司容易存在的另一個(gè)問(wèn)題是客戶(hù)可能不像小公司那樣容易接近。這是當(dāng)你試圖獲取需求和實(shí)例并牡蠣在開(kāi)發(fā)周期中讓客戶(hù)參與的巨大障礙。一個(gè)解決方案是讓測(cè)試人員或分析人員及領(lǐng)域?qū)<易鳛榭蛻?hù)代理。交流工具也可以幫助處理這種情況。需要尋找創(chuàng)造性的方式來(lái)克服大公司固有的這些問(wèn)題。