QA,全稱為Quality Analyst,即質(zhì)量分析師(有些稱為Quality Assurance,即質(zhì)量保證師)。為什么它總跟質(zhì)量扯在一塊?感覺(jué)這個(gè)角色明明做的都是測(cè)試的事情,為什么不直接叫做tester那?敏捷項(xiàng)目中的QA日常都做什么事情那?可能一大推問(wèn)題都會(huì)冒出來(lái)。別急,跟著我這篇文章來(lái)一步步的回答這些問(wèn)題。
假設(shè)現(xiàn)在有一個(gè)保險(xiǎn)公司,他想找一個(gè)軟件公司做一個(gè)在線賣保險(xiǎn)的系統(tǒng)。那么這個(gè)系統(tǒng)從開(kāi)始到完成至少需要三個(gè)角色。
Business owner -> developer -> end user
Business owner即保險(xiǎn)公司的人,也是我們的需求來(lái)源,由他來(lái)提出業(yè)務(wù)需求。
developer即軟件開(kāi)發(fā)工程師,根據(jù)客戶的需求做出客戶期望的產(chǎn)品,最終交付給客戶。
end user即產(chǎn)品的最終用戶,在本例子中即有意愿在網(wǎng)上買保險(xiǎn)的人。這個(gè)系統(tǒng)到底好不好用,他們最有發(fā)言權(quán)。(有的時(shí)候end user和business owner有可能是同一批人,比如開(kāi)發(fā)的是一個(gè)內(nèi)部公司使用的OA系統(tǒng))。
只有這些角色能夠順利、成功的完成一個(gè)產(chǎn)品嗎?實(shí)際操作中肯定會(huì)遇到很多問(wèn)題。這些問(wèn)題會(huì)集中在兩個(gè)地方。
第一個(gè)問(wèn)題出在Business owner和developer。在溝通需求的時(shí)候他們彼此會(huì)發(fā)現(xiàn)太費(fèi)勁了。Business owner張口就來(lái)的quote、premium、policy這些名詞軟件開(kāi)發(fā)工程師不懂什么意思,因?yàn)樗麄儧](méi)有保險(xiǎn)行業(yè)的背景知識(shí),而軟件工程師喜歡說(shuō)的MVC、BDD、Java之類的,Business owner也搞不懂,并且人家對(duì)這也不感興趣。那么軟件開(kāi)發(fā)工程師想,如果有人能即懂得保險(xiǎn)行業(yè)知識(shí),又具有IT背景,那么分析需求肯定會(huì)順利不少。這樣的人在敏捷團(tuán)隊(duì)中就叫做BA(Business Anslyst,業(yè)務(wù)分析師)。BA會(huì)理解并挖掘客戶的需求,然后將需求轉(zhuǎn)變?yōu)榫唧w的AC(驗(yàn)收條件,Acceptance critirial),再交由開(kāi)發(fā)工程師來(lái)實(shí)現(xiàn)。同時(shí)他也可以將業(yè)務(wù)知識(shí)最大化的傳遞給開(kāi)發(fā)工程師,保證開(kāi)發(fā)工程師能夠準(zhǔn)確的理解需求(為什么不讓Business owner直接將業(yè)務(wù)知識(shí)傳遞給開(kāi)發(fā)工程師那?原因很簡(jiǎn)單,人家可是一秒鐘幾十萬(wàn)上下的主,那里有這么多閑工夫。)