Share
Embed
Transcript
13 slides
-
現在のコドモンのQAエンジニアの体制 インプロセスQA - 2名 各ストリームアラインドチーム・PJの一員として、 チームのメンバーとともにプロダクトのあるべき姿 を仕様から検討し、テスト設計などのQA活動を通 じてプロダクトの品質を保証します。 SET -
1名 各チーム・PJで共通して使用している基盤部分の整 備を行い、各工程でテストを作成・実行しやすく し、自動的に高品質なプロダクトが構築できる仕組 みを整えています。 • 仕様レビュー ◦ PdMや開発エンジニアと共に、事前に不 明瞭な点を解決しておきます。 • テスト分析・計画・設計・実装 ◦ 仕様を正しく実現できていることを確認 できるテストを構築します。 ◦ 自動テストの実装は開発エンジニアとペ ア作業で実施します。 主な業務 • 自動テスト基盤の構築・保守 ◦ テストファーストで開発できるよう、開 発エンジニアも容易にテストを作成でき るテスト基盤を構築しています。 • テスト実行ワークフローの構築・保守 ◦ 各種タイミングで正しくテストが実行さ れるよう、ワークフローを整備して随時 テストが実行されるようにしています。 主な業務 -
インプロセスQAとしての動きを主体としたQA活動 • シフトレフトアプローチ 仕様段階からチーム・PJの中でメ ンバーと連携し、早期にQA観点 を提供し、テスト設計を実施して います。 早期に携わることで、仕様時点で 不具合につながる部分を解消し、 テスト分析・計画・設計を円滑に
進めることができます。 • アジャイルテスティング QAエンジニアもXPに則り、ペア 作業などでテスト観点などを共有 するなどアジャイルテスティング を推し進めています。 シフトレフトと併せ、チーム内で 知識を共有し続けることで、品質 を向上させながらアジリティを高 めています。 週に一度のレトロスペクティブな どのチームイベントにおいても、 QAプロセスのフィードバックサ イクルを回しています。 QAプロセスも常に磨き続けるこ とで、最小リソースで最大の品質 を実現することを目指していま す。 • チームイベント コドモンのQAエンジニアの業務内容 -
コドモンのQAエンジニアの業務内容 プランニングフェーズ 仕様を決める段階からQAエンジ ニアも参画し、適切にシフトレ フトしてテストを設計・計画し ます。受け入れテストも早期に 設計しておくことで、開発の完 了が明確にできます。 実装フェーズ TDDのプラクティスに則り、テ
ストファーストでの開発を行い ます。QAエンジニアは事前の設 計を元に、各工程で必要となる テストを開発エンジニアと作成 していきます。 https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/ リリースフェーズ CI的な機能別テストに加え、リ リース時にはシステム全体に対 する自動リグレッションテスト も実施しています。モノリシッ クな部分も多いため、意図しな いデグレードを防いでいます。 モニタリングフェーズ 随時メトリクスのモニタリング などを行い、リリースした後も ユーザー影響を確認します。レ イテンシが悪化していないか? エラーレートが上昇していない か?などをチェックします。 開発エンジニアやPdM(+ビジネス)と共に 開発プロセス全体を見据えた 品質保証に取り組んでいます -
コドモンのQAエンジニアの業務内容 開発部全体におけるQA活動 • QA Office Hour 週に一度、QA Office Hourの時間 を設け、QAが常駐していない
チーム・PJからの相談や要望を受 け付けています。 「この案件のテストの進め方を相 談したい」などの多様な相談に QAの観点を提示しています。 • パイプラインの整備 プロダクトの品質を保証しながら 迅速にデプロイしていくため、 SET的にパイプラインの整備も 行っています。 自動テスト基盤を内製し、プロダ クトコードと一元的に取り扱うこ とで、よりアジャイルな開発がで きる環境を整えています。 日々の開発で品質を保証するため に必要となる各種環境を整備して います。 テスト関連語彙のユビキタス言語 化や検証端末の管理・選定、閉域 網へのアクセス方法の管理など、 多種多様な対応をしています。 • 環境整備 -
コドモンのQAエンジニアの一日 始業 フレックスタイム制なので、各自のペースで業務を 開始します。リモートワーク主体のため、自宅から バーチャルオフィスにログインします。 チェックインミーティング チーム内で日々の状況を共有します。進捗の状況を 確認したり、当日の作業を行うペア決めをしたり、 チーム状況を全員で同期します。 メトリクスのモニタリングを行い、エラーレートが
上昇していないか?などの確認も行います。 ストーリー・タスク着手 アサインされたストーリー・タスクについて、具体 的にどのように作業するか決め、着手します。ペア 作業を行う場合はここからペアで作業します。 昼休憩 ストーリー・タスク再開 午前中に立てた方針に沿って、知識・知見を共有し ながら作業を進めていきます。ペアごとに随時休憩 を取りつつ進めます。 終業 • QAエンジニアは特に「テストを正しく設 計し、作る」ことを重視しています。 ◦ テスト分析などじっくり考える作業 は一人で行うこともあります。 ◦ テストの実装・実施は開発エンジニ アも行います。 • QAエンジニアもXPのプラクティスに則っ て行動し、品質面でのチームのプロセス改 善も行います。 -
QAパワーが不足しており 手が届いていない部分がある 開発部の規模拡大と対応PJの増加に QAパワーが追いついておらず、正し くQA活動が行えている箇所とそうで ない箇所が出てきてしまっていま す。 現在の課題 QAパワー増強と各チーム へのイネイブリングの強化
だからこうしていきます 10 Mission・Vision・Valueを再定義し た上でコドモンのQAが目指す姿を明 確にするよう努め、QAエンジニアの 採用を推し進めています。 さらに、QA Office Hourをはじめ 様々な方法で開発の動向をcatchし、 早い段階からQA活動関連のイネイブ リングを行っていきます。 -
QA活動がチームに 閉じてしまっている インプロセスでテストを正しく作る ことを優先して、厚くテストすべき 機能・PJのチームにQAエンジニアを 配置しており、開発部全体の品質保 証観点の底上げはまだ不十分です。 現在の課題 チームへの委譲と チームによらないQA活動の強化
だからこうしていきます チーム内 • テスト関連知見の非QAエンジニアへの伝播 • チーム内QAプロセスの整理・実行・改善 ★QAエンジニアが常駐しなくても 品質が向上できる状態を目指す チーム外 • QAプロセスの標準化とテーラリング • パイプライン等の仕組みの整備による品質担保 11 -
こんな仲間を募集中です 13 テスト設計やプロセス改善など様々な観点から 品質にコミットするエンジニア = QAエンジニア プロダクト品質向上・改善 チームメンバーと共に仕様からテストを考え、プロダクト 品質を向上させていき、開発部全体に波及させる 開発プロセス改善
開発部全体の品質保証プロセス等を設計・改善し、 取り扱うプロダクト全般の品質を向上させる 内部品質改善 プロダクトコードなどの構造を整理し、可塑性を高め、 変化に追随し価値提供しやすい状態にする SET 開発の各工程でプロダクトが正しくテストされ、自動的に 高品質なプロダクトが構築できる仕組みを整える