束 勉,杜 宇
(中國聯合網絡通信有限公司軟件研究院,濟南 250199)
個人歸屬項目管理部,負責項目的質量管理工作,我會經常和公司的質保工作者談話,也經常和項目經理聊天,在和他們的交談中我發(fā)現,項目經理需要對軟件的整個質量負責,但是,在實際的質量管理中,也存在著很多的問題和困難。因此,針對開發(fā)團隊常常都會遇到這些問題,大體可以總結為以下:
技術人員需要觀念的轉變;缺乏敏捷項目管理創(chuàng)新方法和實踐;缺少敏捷軟件開發(fā)專家和人才;項目中缺乏相應的質量控制方法;自動化測試每日構建依然實現不了。
QA作為敏捷團隊的重要部分,敏捷導師,要進行支持和訓練,從而使其能夠快速地適應到團隊開發(fā)中。測試人員要經常和其他的成員就工作展開溝通和交流,做好“三方協作”,即測試人員和開發(fā)人員以及業(yè)務專家之間的合作。他們?yōu)榱苏麄€項目的最終交付而辛苦忙碌著,并且十分喜歡收集信息,并且分享給大家,和業(yè)務部門之間的合作,能夠輔助他們,能夠將自己的需求展示出來,以得到他們需要的功能,并且,能夠給與其他人項目進展和項目的反饋說明。
QA要實現角色轉變,從檢查者逐漸變?yōu)閷熜蜗?。傳統(tǒng)中,在團隊開展CMM中,他的作用相當于檢查者,就是帶著checklist和檢查單等等,到團隊進行查看,檢查他們是否滿足計劃、執(zhí)行、結果,如不符合就會提出一些可能不符合實際情況的改進措施,基本整天就干這個活,但是引入敏捷之后,QA感覺開展工作困難,在我所參與的團隊中,我們試著把QA作為導師來看待,讓他去帶領整個項目團隊,教他們怎樣開會,怎么組織例會,怎么進行高效的工作計劃制定等,在這個過程中,QA是更多地為了知道整個項目而進行的,他們來知道團隊建設,提高他們的質量,方便高效的開展工作,另外,在質量管理中,QA能夠獲得一些數據,比如代碼缺陷率,上線出現問題數,人均產能,接收測試問題數等等。
基于敏捷開發(fā),迭代模式造成了大量的代碼量,迭代越靠后,就會造成我們的更大的整合壓力,帶來的測試任務就更重。敏捷測試要求測試人員,可以隨意啟動自動化回歸測試,然后快速驗證迭代代碼。如果缺乏短期反饋,沒有安全回歸測試的話,就會使團隊容易背上技術債務,從而不斷擴大缺陷,造成速度更慢。
敏捷的核心價值就是反饋,只有敏捷的短期迭代,才可以為團隊的帶來持久的反饋,從而促進團隊的運作,測試人員需要利用自動化,進行結果的測試,并且用觀察結果形式,對團隊的工作提供支持。接收測試人員可以了解研發(fā)與測試的具體工作思路與需求方的真實差距,以便持續(xù)改進;QA等相關要對開發(fā)人員進行詢問,看其是否有了充足的信息來理解需求,并是否可以指導編碼,對業(yè)務部門進行詢問,看其是否能夠對質量標準進行理解,要參與到迭代計劃會議中去,經常召開回顧會議,提出問題解決的方案。
(1)灰度發(fā)布。對現有生產系統(tǒng)逐步上線的一個過程,一般采用分批的方式去發(fā)布,實現指定范圍內的用戶通過相同服務訪問地址訪問不同版本的服務。我們的系統(tǒng)為提高質量,降低問題發(fā)生范圍,傳統(tǒng)的方式每發(fā)布一個新版本應用,都需要外圍系統(tǒng)配合業(yè)務驗證;為降低版本發(fā)布風險、減少外圍系統(tǒng)配合發(fā)版的工作量,通過灰度方式選取小范圍營業(yè)試點賬號將需要外圍系統(tǒng)配合驗證的業(yè)務場景按照實際的營業(yè)情況進行驗證。
(2)持續(xù)集成。團隊的成員需要經常集成測試他們的工作,每次集成通過自動化構建完成,通過實現自動化測試腳本,能夠完成持續(xù)集成。在代碼管理方面,對于那些服務端的代碼,如果有變化,那么是都能夠利用自動化測試的,不斷是什么錯誤,也都可以隨時告知研發(fā)人員。通過每天生成可部署的軟件;避免功能最終集成時爆發(fā)大量問題。
(3)迭代回顧會議。在每次的迭代完成后,都要開展會議,主要是為了進行經驗的分享,并且能夠及時發(fā)現和改進缺點,從而使團隊建設不斷。
(4)每日站會:對于每個團隊而言,需要在每天中,都能利用10-20分鐘,進行之前的問題回顧和分析,同時,也做好當天的工作介紹。公司倡導的每日站會,在會議中,通常是輪流擔任主持人,可以對每天發(fā)生的事進行了解,還可以利于人員培養(yǎng)。
總之,創(chuàng)新與創(chuàng)業(yè)已經是當今社會的主要,創(chuàng)新需求方法論和技術的支撐,敏捷的研發(fā)流程是企業(yè)持續(xù)交付信息化產品的非常有效的方法,質量管理也更要發(fā)揮積極有效的左右,對于敏捷團隊而言,測試和質量是主要的職責,在團隊中,所有人都要做好自己的研發(fā)任務,在敏捷模式下,和傳統(tǒng)瀑布模式相比,質量管理挑戰(zhàn)更高,而且它在需求應對上、產品質量上以及周期上,都具有很大優(yōu)勢。敏捷的焦點在于持交付有價值的軟件直到業(yè)務部門滿意為止。
[1] 徐永富.對日軟件外包中關于敏捷開發(fā)的質量管理研究[D].南京郵電大學,2013.