Slide 1

Slide 1 text

  開発を加速させるためのQA活動 2024.01.31

Slide 2

Slide 2 text

  2 経歴 ● オプティムに新卒⼊社 ○ Android開発を経験した後、2年⽬から QAに転⾝ ● freeeに中途⼊社 ○ 同期マイクロサービスのQAを担当し、同 期ジョブのintegration testを導⼊ ○ 現在は決済プロダクトのQAを担当し、 Agile QAに挑戦中 好きな⾷べ物 ● カレー 苅⽥蓮(ren) QAエンジニア Ren Karita プロフィール画像の トリミング⽅法

Slide 3

Slide 3 text

3 01. 決済プロダクトの開発の⾵景 02. 開発スピードとQA活動 03. 開発を加速させるためにQAができること 04. さいごに ⽬次

Slide 4

Slide 4 text

  決済プロダクトの開発の⾵景

Slide 5

Slide 5 text

  5 決済プロダクトの開発はスクラムで⾏なっており、QAを含むOneTeam(※)で⾏っている。 そのため、QAエンジニアもスクラムイベントに出ており、開発と併⾛できるQA活動を⽬指して ⽇々仕事に取り組んでいる。 決済プロダクトの開発の⾵景 ● 開発のリズム ○ スクラムで開発しており、2週間スプリントで回している。(スク ラムイベントの⽇が2週間に1回あり、その⽇に振り返りやプラン ニングを⾏っている) ○ タスク管理は、粒度が⼤きい順にエピック > ストーリー > タスク チケットを切っており、どのストーリーを扱うか?という⽬線で プランニングしている。 ※品質のアジャイルなあり⽅:「QAを含むOneチーム」「品質スプリント」「プロダクト品質チャンピオン」 (https://codezine.jp/article/detail/12200)

Slide 6

Slide 6 text

  6 決済プロダクトの開発の⾵景 ● QAの特徴 ○ 「バックエンドQA」と標榜しているスタイルでQAを⾏っている ○ UIの完成を待たずにAPIが実装された段階からテスト実⾏を⾏ なっていたり、UIを⽤いたテストでもDBを⾒に⾏ったりしている ※品質のアジャイルなあり⽅:「QAを含むOneチーム」「品質スプリント」「プロダクト品質チャンピオン」 (https://codezine.jp/article/detail/12200) 決済プロダクトの開発はスクラムで⾏なっており、QAを含むOneTeam(※)で⾏っている。 そのため、QAエンジニアもスクラムイベントに出ており、開発と併⾛できるQA活動を⽬指して ⽇々仕事に取り組んでいる。

Slide 7

Slide 7 text

  開発スピードとQA活動

Slide 8

Slide 8 text

  8 ● 決済系のプロダクトはソフトウェアのバグがユーザーの⾦銭的損失に直結するため、確実な 品質保証が求められる ● ⼀⽅で、新規プロダクトにおいて、開発スピードはPMF達成のために重要である ○ →クリティカルなバグを防ぎつつ、開発を加速させるためのQA活動を⾏う必要がある 開発スピードとQA活動

Slide 9

Slide 9 text

  9 ● 決済系のプロダクトはソフトウェアのバグがユーザーの⾦銭的損失に直結するため、確実な 品質保証が求められる ● ⼀⽅で、新規プロダクトにおいて、開発スピードはPMF達成のために重要である ○ →クリティカルなバグを防ぎつつ、開発を加速させるためのQA活動を⾏う必要がある ○ →AQUAフレームワークにおける、Accelerating projectの実践 開発スピードとQA活動 イマドキのソフトウェアのテストやQAの考え⽅ (https://www.slideshare.net/YasuharuNishi/line-developer-meetup-in-tokyo-39-presentation)

Slide 10

Slide 10 text

  10 ● 決済系のプロダクトはソフトウェアのバグがユーザーの⾦銭的損失に直結するため、確実な 品質保証が求められる ● ⼀⽅で、新規プロダクトにおいて、開発スピードはPMF達成のために重要である ○ →クリティカルなバグを防ぎつつ、開発を加速させるためのQA活動を⾏う必要がある ○ →AQUAフレームワークにおける、Accelerating projectの実践 開発スピードとQA活動 - AQUAフレームワーク - Accelerating project - とにかく速く何度もリリースを⾏って市場で存在感を⽰したり、市場で学ぶべき時期に⾏う品質保証活動 - Qualifying value - プロダクトのポジションやミッションが分かってきた段階で、製品の価値を最⼤化するQA活動 - Unveiling weakness - 多くのユーザを獲得し、市場で存在感を確⽴した時期に⾏うQA活動 - Accumulating knowledge - 次世代、発展型、ファミル的なプロダクトの開発を検討すべき∕始めている時期に⾏うQA活動 イマドキのソフトウェアのテストやQAの考え⽅ (https://www.slideshare.net/YasuharuNishi/line-developer-meetup-in-tokyo-39-presentation)

Slide 11

Slide 11 text

  11 ● 決済系のプロダクトはソフトウェアのバグがユーザーの⾦銭的損失に直結するため、確実な 品質保証が求められる ● ⼀⽅で、新規プロダクトにおいて、開発スピードはPMF達成のために重要である ○ →クリティカルなバグを防ぎつつ、開発を加速させるためのQA活動を⾏う必要がある ○ →AQUAフレームワークにおける、Accelerating projectの実践 開発スピードとQA活動 - Accelerating project - コンテキストとフォーカス - とにかく速く何度もリリースを⾏って市場で存在感を⽰したり、市場で学ぶべき時期に⾏う品質保証活動 - >> プロダクトサイズは⼩さく、信頼性や安全性はそれほど要求されない時期 - 主要な価値やUXが損なわれないことと、開発スピードが上がること、成⻑できるチームになっていること、などに品質保証 をフォーカスさせる イマドキのソフトウェアのテストやQAの考え⽅ (https://www.slideshare.net/YasuharuNishi/line-developer-meetup-in-tokyo-39-presentation)

Slide 12

Slide 12 text

  開発を加速させるためにQAができること

Slide 13

Slide 13 text

  13 SWEと並⾛してフィードバックをかけ続け、SWEやPdMと共に検討を前に進めることができる。 開発を加速させるためにQAができること Continuous Testing in DevOps (https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/)

Slide 14

Slide 14 text

  14 SWEと並⾛してフィードバックをかけ続け、SWEやPdMと共に検討を前に進めることができる。 受⼊基準をテスト実装の観点からSWEと⾒直し、テストコードのガイドにできる。 開発を加速させるためにQAができること 受⼊基準にテストについてのメモを書き⾜している例

Slide 15

Slide 15 text

  15 SWEと並⾛してフィードバックをかけ続け、SWEやPdMと共に検討を前に進めることができる。 PRレビューに⼊り、必要なテストケースを共に考えることができる。 開発を加速させるためにQAができること PRの中でテストケースについてレビューしている例

Slide 16

Slide 16 text

  16 SWEと並⾛してフィードバックをかけ続け、SWEやPdMと共に検討を前に進めることができる。 PR単位でテスト実⾏し、早期にバグを検出できる。 開発を加速させるためにQAができること PRとテスト実⾏箇所を整理している例

Slide 17

Slide 17 text

  17 SWEと並⾛してフィードバックをかけ続け、SWEやPdMと共に検討を前に進めることができる。 PR単位でテスト実⾏するために、「バックエンドQA」と標榜しているスタイルでQAを⾏っている。 開発を加速させるためにQAができること freeeではバックエンドに焦点を当てたテスト活動をバックエンドQAと呼んでおり、具体的には以下のような活動を しています。 ● バックエンド開発を管理するストーリーチケットの受⼊基準作成と、チームへのフィードバック ● 早期からのAPIテスト ● バッチ処理やUI操作を伴うテストにおける、DB検証 決済プロダクトのマジ価値を最速で届けるためのバックエンドQAの事例 - freee Developers Hub (https://developers.freee.co.jp/entry/freee-qa-advent-calendar-day11)

Slide 18

Slide 18 text

  18 ここまでのまとめ ● 受⼊基準をテスト実装の観点からSWEと⾒直し、テストコードのガイドにできる ○ →テスタビリティを確保した設計/実装を⽀援する ● PRレビューに⼊り、必要なテストケースを共に考えることができる ○ →SWEのテスト実装を⽀援する ● PR単位でテスト実⾏し、早期にバグを検出できる ○ →記憶に新しいうちに発⾒できるため原因もすぐ特定できる ■ →バグから得た知⾒を、次の実装にすぐ活かせる ○ →プロダクトの品質状況をリアルタイムでつぶさに伝えることで、リリース計画やスコープ調整の判断材料 を提供できる ○ ★PR単位でテスト実⾏するために、「バックエンドQA」と標榜しているスタイルでQAを⾏っている 開発を加速させるためにQAができること

Slide 19

Slide 19 text

  19 確実な品質保証との両⽴ ● freee QAはプロジェクトに依らず⼀貫してリスクベースドテストの考え⽅を取り⼊れており、想定されるプロダ クトリスクに基づいたテストの注⼒箇所選定や優先度判断を⾏なっている ● 代表的な活動として「リスク洗い出し会」がある freeeが扱うお客様のデータはクリティカルなものが多いため、品質を疎かにできません。 しかしながら品質を上 げる、保つ活動をDevOpsの中でスピード感を持ちながら実施することが要求されるためにシフトレフトな活動を しています。 その中で代表的な活動が「リスク洗い出し会」(そのまんま)です。 freeeの品質トゥギャザー:リスク洗い出し編 (https://developers.freee.co.jp/entry/risk-together) 開発を加速させるためにQAができること

Slide 20

Slide 20 text

  さいごに

Slide 21

Slide 21 text

  21 freeeでは「スモールビジネスを、世界の主役に。」をミッションに掲げ、「アイデアやパッション やスキルがあればだれでも、ビジネスを強くスマートに育てられるプラットフォーム」の実現を⽬ 指してサービスの開発および提供をしています。 QAチームでは、社会の進化を担う責任感をもって品質にコミットし、⾃律的に⾏動できる仲間を募 集しています。 さいごに QAエンジニア QAマネージャー