敏捷開發模式下如何快速提升產品質量
隨著敏捷開發模式逐漸走入大眾視野,它開始逐步取代了傳統的瀑布式開發模式,被越來越多的研發專案團隊採用。敏捷開發採用快速迭代,快速釋出可用版本的方法,持續輸出、持續改進。不同於傳統的軟體開發模式,敏捷開發模式有著自己鮮明的價值和方法。 但即使實踐了敏捷,我們可能還會發現,Bug並沒有消失。
面對這些Bug的出現,團隊成員常常會產生這樣的疑惑:
- 為什麼明明進行了很多輪的測試,但軟體正式上線還是會出現很多Bug?
- 為什麼這麼明顯的Bug,上線之前就沒有測試出來?
- 這些Bug,是不是因為測試人員工作不到位造成的?
但實際上,測試人員並不能決定軟體質量的好壞。尤其在團隊選擇敏捷開發模式下,敏捷測試部分也同以往的軟體測試流程有所不同。這對測試人員提出了新的要求,帶來了新的挑戰。那麼如何平衡敏捷的快速迭代開發和解決Bug的矛盾呢?
一、為團隊設立專職QA
敏捷團隊中的敏捷測試人員通常被稱為質量分析師、SET、測試工程師、QA Lead,在敏捷團隊,大多數人也會把QA當作一個獨立的角色使之與其他團隊成員區分開來。那麼QA之間又有什麼不同呢?通常QA可以分為三類:業務側、技術側、DevOps側,這三者形成了QA的三個維度。敏捷團隊中的QA可能具備其中的一個或者是這三類中所有的技能。
大多數人也會把QA當作一個獨立的角色使之與其他團隊成員區分開來。我認為這是一個過時的概念。QA和開發人員的區別在於思維方式的不同。
業務側QA
:他們幫助團隊更清晰地瞭解整個專案的業務問題。透過
QA
把客戶需求轉化為驗收測試用例,幫助沒有技術背景的客戶和沒有業務視角的程式設計師打破維度不同的職業壁壘。在使用者故事開始之前,敏捷團隊QA需要和程式設計師一起結對討論使用者需求,幫助團隊瞭解更多的業務資訊。在此期間,他們會督促軟體開發工程師來寫驗收測試,以確保使用者故事能夠及時被測試。
技術側QA
:通常在敏捷團隊中,技術側QA都需要有過硬的專業技術,他們甚至和程式設計師沒有任何技術上的差距。他們可以利用豐富的自動化測試知識實現TDD,協助團隊為專案選擇合適的測試框架,為團隊提供一個良好的測試策略,確保產品質量。
DevOps側QA
:在敏捷團隊中,DevOps側QA需要根據迭代節奏和持續交付的原則,幫助團隊構建持續整合的測試流水線,以便每次出現問題後都能及時得到反饋並解決。幫助團隊以良好的狀態高質量地完成持續交付。DevOps方向的QA會透過設定一些指令碼來幫助團隊成員能夠更方便地在本地執行測試,例如程式碼掃描、單元測試、元件測試和功能測試,並推進團隊實現自動化測試的開發與執行。
這三類QA的共同目標,都在於幫助團隊在敏捷開發的每個迭代週期都能夠更加註重交付給客戶的有效價值,並且確保交付給客戶的產品質量。敏捷團隊中的QA會扮演多種角色,但是他們最終的目的都是為了幫助團隊能夠實現更快更好的交付業務價值。
二、構建質量驅動型團隊
除了在敏捷團隊中加入QA,把握三大不同的業務方向,在敏捷過程中,有效的專案監管和控制是至關重要的。而軟體的質量也取決於每一個團隊成員,透過團隊間的充分合作,要做到團隊整體對質量負責。
1、確保資訊透明
需要讓團隊成員知曉團隊的共同目標,每次交付產品的服務物件和使用者需求和質量目標是什麼。包括短期目標和長期目標,包括業務動態、發展戰略、使用者反饋、工作中心、持續改進的狀態、專案進度、團隊壓力等各個方面,資訊透明能夠打破團隊成員間的業務邊界,更好地融入團隊,彼此協作,這是一個敏捷團隊健康與否的重要標誌之一。
2、建立及時反饋機制
在敏捷團隊中,軟體質量的基礎在於團隊是否能夠真正實現持續測試、持續交付、持續整合、及時反饋。這就需要團隊建立一個健康向上的合作機制,並不斷最佳化反饋渠道,一個良好和諧的反饋機制可以促進團隊的健康發展,有助於構建質量驅動型團隊。
3、認真對待Sprint回顧會議
Sprint回顧會議是敏捷軟體開發中非常重要的一環,但有些團隊的回顧會議流於形式,並沒有帶來什麼效果。Sprint回顧會議是團隊檢視自身並建立下一個Sprint的機會。Sprint回顧會議的目的在於:
- 回顧前一個Sprint中的情況;
- 找出並加以排序做得好的和潛在需要改進的主要方面;
- Scrum Master制定改進團隊工作方式的計劃。
在Sprint回顧會議中,最需要保持開放的氛圍,團隊成員彼此信任,並樂於接受新的想法、觀念,最終形成一個質量驅動的高效率團隊。
4、打造全員學習的團隊氛圍
敏捷方法論並不能取代生產力,不同技術水平的開發人員,最終交付的軟體質量是不同的,因為我們沒有辦法讓開發人員完成他能力範圍之外的工作。敏捷開發僅僅是一種開發模式,它不是銀彈,敏捷不能解決問題,只能讓問題暴露的更早。如果團隊不能解決技術問題。就不能完成持續的高質量交付。因此,構建學習型團隊,讓團隊成員養成不斷學習的習慣。這樣能夠幫助團隊從根本上提升研發水平,降低開發成本、提高開發效率並提升產品質量。
專案團隊整體對軟體質量負責是敏捷開發的基本原則,但要真正做到這點,並非易事。需要我們在研發過程中,明確總體的質量目標,並且確保團隊所有成員理解清楚各自需要為哪部分的質量負責,在研發專案的全生命週期,需要引入專業的QA人員來站在更高維度對整體質量做把控,需要多職能角色的合作,取長補短,能力互補。同時也要注重團隊建設,組建學習型的健康團隊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69982050/viewspace-2921431/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 敏捷迭代流程下,如何解決產品質量和研發週期的衝突?敏捷
- 如何開發高質量的Web閱讀產品Web
- 敏捷開發下平衡質量和進度敏捷
- 敏捷開發中如何做質量管理?敏捷
- 如何提升團隊速率、保證產品質量和提升團隊積極性?
- 質量基礎設施一站式服務平臺建設,NQI產品質量提升系統開發
- DevOps研發模式下「產品質量度量」方案實踐dev模式
- 軟體產品質量如何提升?專業軟體測試公司幫您解決
- 汽車行業如何有效提升產品質量水平,六西格瑪培訓來解決行業
- Quora 是如何做到高質量的快速開發的?
- 新產品開發模式(轉載)模式
- 產品研發團隊Scrum敏捷開發協作流程Scrum敏捷
- 產品專案的九個敏捷開發經驗敏捷
- [敏捷開發實踐](2) 用於開發和維持複雜產品的敏捷開發框架Scrum敏捷框架Scrum
- 下一代產品開發-研發生產率提升流程
- 華為敏捷DevOps實踐:產品經理如何開好敏捷回顧會議敏捷dev
- 華為敏捷 DevOps 實踐:產品經理如何開好敏捷回顧會議敏捷dev
- Scrum Mastery:產品開發中如何優化產品價值?ScrumAST優化
- “五統一”種植管理模式,嚴控無限極產品質量模式
- IPD體系促進產品質量管理(轉)
- 有效提升軟體產品質量,測試人員必備軟體測試常用方法
- 如何優化產品開發過程?優化
- 新產品開發模式的9大錯誤模式
- 軟體開發新模式:敏捷開發模式敏捷
- 航空航天和國防領域的敏捷產品開發敏捷
- 提升直播app開發質量,我們需要掌握的二三事APP
- 如何提升 Web 應用的程式碼質量Web
- PDCA迴圈——快速提升軟體質量的必備工具
- 如何透過華為分析提升產品留存率?
- 如何借力DMAIC?讓新產品快速開啟市場AI
- 如何提高碼農產量,基於ASP.NET MVC的敏捷開發框架之自定義表單開發ASP.NETMVC敏捷框架
- 聊聊敏捷的產品經理敏捷
- 敏捷實踐中的好品質敏捷
- 亞馬遜是如何開發和管理產品的?亞馬遜
- Voodoo覆盤2天快速原型開發大熱產品Odoo原型
- 印度軟體開發優勢:成本、質量、生產力
- “數商興農”:從阿里平臺看農產品電商高質量發展阿里
- JAVA 哪個快速開發平臺開發出來的產品效能最高Java