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