BDD怎样帮助你解决沟通问题并增进协作
行為驅(qū)動(dòng)開發(fā)(BDD)能夠用于改善測(cè)試人員、開發(fā)者和業(yè)務(wù)人員之間的溝通。舉例來說,你能夠使用以given-when-then方式表述的場景開發(fā)測(cè)試腳本,同時(shí)定義系統(tǒng)的需求。在敏捷測(cè)試日荷蘭2015大會(huì)的某場演講中,Nick van Giessel探討了使用BDD改善溝通與協(xié)作的方式。
\\van Giessel說道,只有當(dāng)我們把軟件發(fā)布到生產(chǎn)環(huán)境之后,才能獲得它的價(jià)值。而敏捷能夠幫助你將軟件更快地推向生產(chǎn)環(huán)境,并且更早的獲得反饋。如果在開發(fā)軟件時(shí),開發(fā)者和測(cè)試人員依然無法打破壁壘,那么你只是在敏捷中繼續(xù)使用傳統(tǒng)的瀑布式開發(fā)罷了。van Giessel表示,你必須打破不同專業(yè)人員之間這堵無形的墻,讓他們成為平等的團(tuán)隊(duì)成員,這樣才能夠?qū)崿F(xiàn)真正的敏捷。
\\van Giessel說道,使用BDD的主要目的在于讓團(tuán)隊(duì)中的所有人達(dá)成一致的理解。他在演講中表示可以通過不同的方式實(shí)施行為驅(qū)動(dòng)開發(fā),例如采用實(shí)例化需求方式、舉辦3 Amigos會(huì)議(又稱為實(shí)例工作間)、定義驗(yàn)收標(biāo)準(zhǔn)或使用given-when-then場景等等。這些方式都需要將團(tuán)隊(duì)成員聚在一起,并幫助他們對(duì)這個(gè)項(xiàng)目進(jìn)行思考。你也同樣可以使用given-when-then場景開發(fā)自動(dòng)化測(cè)試腳本。
\\Nick van Giessel認(rèn)為,使用同一種語言有助于幫助人們進(jìn)行溝通,并更好地互相理解,這一點(diǎn)對(duì)于團(tuán)隊(duì)來說也是一樣的。比如讓開發(fā)者與測(cè)試人員使用given-when-then場景,他們就能夠描述系統(tǒng)的行為。這些場景也可以用于設(shè)計(jì)測(cè)試腳本,并且用于定義系統(tǒng)的需求。
\\InfoQ有幸采訪了van Giessel,內(nèi)容涉及團(tuán)隊(duì)之間的協(xié)作以及團(tuán)隊(duì)和業(yè)務(wù)人員之間的協(xié)作,如何處理溝通問題,以及行為驅(qū)動(dòng)開發(fā)所能產(chǎn)生的價(jià)值。
\\InfoQ:你提到讓大家使用同一種語言對(duì)于團(tuán)隊(duì)來說是非常重要的,對(duì)于這一點(diǎn)你能否詳細(xì)說明一下?
\\\van Giessel:在一個(gè)Scrum團(tuán)隊(duì)中存在著各種不同的專業(yè),例如開發(fā)者、測(cè)試人員和業(yè)務(wù)人員。人們對(duì)于問題有著不同的思考方式,這本是一件好事,但它也會(huì)導(dǎo)致溝通的低效。團(tuán)隊(duì)工作的一個(gè)必要條件是共同的理解,而行為驅(qū)動(dòng)開發(fā)描述了某個(gè)客戶的實(shí)際行為。因此要通過BDD創(chuàng)建一種每個(gè)人都能夠理解的語言。客戶始終是最重要的人,因?yàn)槭撬跒槟愕腎T項(xiàng)目買單。
\\\InfoQ:你能否舉例說明一下,你曾看到敏捷團(tuán)隊(duì)中出現(xiàn)過哪些溝通方面的問題?
\\\van Giessel:我曾經(jīng)在某些團(tuán)隊(duì)中工作過,這些團(tuán)隊(duì)中不同的專業(yè)人員之間形成了一道壁壘,他們不會(huì)在整個(gè)團(tuán)隊(duì)之內(nèi)對(duì)問題進(jìn)行溝通。這種方式好像是在Sprint中進(jìn)行瀑布式開發(fā)一樣,雖然我們嘗試每兩周一次交付承諾的工作,但使用的方法仍然是瀑布式的。由于這種方式延遲了獲取反饋的時(shí)間,因此導(dǎo)致軟件交付的延誤與出錯(cuò)。當(dāng)發(fā)現(xiàn)問題與錯(cuò)誤的實(shí)現(xiàn)時(shí)往往為時(shí)已晚,因而導(dǎo)致了更多的返工。
\\\InfoQ:你是怎樣解決這些問題的呢?
\\\van Giessel:我們將不同團(tuán)隊(duì)的成員混在一起,向他們?cè)敿?xì)地介紹了BDD。我們打破了成員之間的壁壘,在Sprint還沒有開始之前就邀請(qǐng)每個(gè)人參與到會(huì)議之中,共同討論我們的產(chǎn)品。這需要投入一些時(shí)間與精力,但經(jīng)過幾個(gè)Sprint后就會(huì)顯出效果。這其實(shí)是一種心態(tài),即每個(gè)人都對(duì)最終結(jié)果負(fù)責(zé),我們都是同一專業(yè)的團(tuán)隊(duì)成員,而不是涇渭分明的測(cè)試人員、開發(fā)者或業(yè)務(wù)分析師。
\\\InfoQ:你能否分享一下你對(duì)行為驅(qū)動(dòng)開發(fā)的看法?你認(rèn)為它的價(jià)值體現(xiàn)在哪里呢?
\\\van Giessel:本質(zhì)上,BDD是一種幫助敏捷以本來面貌進(jìn)行應(yīng)用的方式。它的一個(gè)主要價(jià)值(對(duì)于我這個(gè)軟件測(cè)試人員來說)在于在開始創(chuàng)建軟件之前,先從測(cè)試開始設(shè)計(jì),并思考它的業(yè)務(wù)價(jià)值。這就減少了每個(gè)Sprint臨近結(jié)束時(shí)團(tuán)隊(duì)中每個(gè)人的壓力,尤其是負(fù)責(zé)測(cè)試的人的壓力。與其它專業(yè)的成員進(jìn)行溝通讓我的工作變得更為輕松,最重要的是它給我?guī)砹烁鄻啡ぁ?/p>\\\
Nick van Giessel是敏捷測(cè)試日荷蘭2015大會(huì)中 “優(yōu)秀的荷蘭敏捷青年才俊”這一專題的演講者之一。InfoQ之前也發(fā)表過這一主題中其它一些講座的內(nèi)容,包括“Scrum Master如何幫助團(tuán)隊(duì)增加敏捷性”以及“變得更透明有助于管理工作”。
\\查看英文原文:How BDD Has Helped to Address Communication Problems and Improve Collaboration
總結(jié)
以上是生活随笔為你收集整理的BDD怎样帮助你解决沟通问题并增进协作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery页面滚动图片等元素动态加载实
- 下一篇: redis-cli 常用命令