Slide 1

Slide 1 text

年末調整プロダクトの 内部品質改善活動について 2025.03.25 Tue. QA Test Talk Vol.4 kaomi SmartHR QAエンジニア

Slide 2

Slide 2 text

アジェンダ

Slide 3

Slide 3 text

・自己紹介 ・内部品質改善活動について  ・前提  ・経緯  ・概要 ・内部品質改善活動の内容  ・活動の成果  ・わたしの感想  ・今後の展望

Slide 4

Slide 4 text

自己紹介

Slide 5

Slide 5 text

・@kaomi ・銀行で2年間リテール営業  ・投資信託や生命保険の営業 ・連結会計システムのベンダーで開発やテスト  ・テスト業務をメインに開発

Slide 6

Slide 6 text

● 2023年7月〜 SmartHR QAエンジニア ○ 開発チーム (2023.07-2024.06) ■ インプロセス QAとして、スプ リントタスクをプロダクトエン ジニアと行なう ○ 労務ユニット A(2024.07- 現在) ■ 複数チームの品質保証活 動を横断的に支援 品質保証部の体制図

Slide 7

Slide 7 text

・SmartHR 品質保証部 労務ユニット Aの紹介  https://tech.smarthr.jp/entry/qa_series_article_vol2 ・【QAエンジニア考案】スクラムチームの品質保証を強化する 「不安ニングポーカー」  https://tech.smarthr.jp/entry/qa_series_article_vol10

Slide 8

Slide 8 text

内部品質改善活動について

Slide 9

Slide 9 text

年末調整プロダクトの内部品質改善活動とは ● 年末調整プロダクト ○ 開発チーム:プロダクトエンジニア、PO、 ドメインエキスパートが所属 ○ 内部品質改善委員会が別に存在している ● 内部品質改善活動 ○ 内部品質改善委員会が行なっていること ○ 改善すると開発生産性や保守性の面で恩恵が大きく得られるプロダクトコー ドに対してアプローチする ● なぜ開発チームと内部品質改善委員会が別なのか ■ 当年の税法対応を優先して行なうため、スプリントタスクに内部品質改善 を含められない事がある ■ リソース(人数)が足りない 年末調整プロダクト 開発チーム 内部品質改善 委員会

Slide 10

Slide 10 text

内部品質改善委員会が発足した経緯 ● 委員会が始まった経緯 ○ テストカバレッジの低さが発覚 ■ 入社間もないPdE(プロダクトエンジニア)がテストカバレッジを計測した ところ、カバレッジが極めて低い部分があることが判明 ● テストコードが不足している問題 ○ 変更頻度が高いファイルにもテストが不足 ○ コードの変更時に不安を感じる状況が発生 ■ テストがないため、安心してコードを変更できない ■ 不具合を早期に検知できるようにしたい

Slide 11

Slide 11 text

内部品質改善委員会が発足した経緯 ● 委員会の発足 ○ テストコード不足を解消する動き ■ 当時年末調整プロダクトに所属していたQAEも単体テストを強化したい と考えていた ■ PdEと意見が一致して委員会が発足! ○ 内部品質改善に向けた取り組みを本格化 ■ 活動の有用性が認められ、メンバーが増加

Slide 12

Slide 12 text

内部品質改善委員会の概要 ● メンバー ○ PdE1名とQAE4名 ● 委員会の目的 ○ スプリントタスクではカバーしきれないプロダクトコードの負債解消やテスト コードの不足を補い、プロダクトの内部品質を向上させる ● 個人のタスク ○ 優先度の高いチケットから各々取り組んでPRをレビューに出す ○ 他の人のPRのレビュー

Slide 13

Slide 13 text

内部品質改善委員会の概要 ● 定例会でやっている内容 ○ Jiraのチケットごとにコードを見て、仕様・やりたいことを理解する ■ チケットはPdEとQAEが開発チームからの依頼や調査の結果によって 作成する ○ 次に取り組むEpicの調査内容や作成したチケットを共有する ■ PdEやQAEが分担して調査を行なう ○ 月1回、取り組んだ内容についてレポートを書く ■ 年末調整開発チームに共有する

Slide 14

Slide 14 text

内部品質改善活動の内容

Slide 15

Slide 15 text

活動内容 ● 内部品質改善の計画 ○ 右図のように計画 ■ バックエンドテスト網羅編 ■ バックエンドリファクタリング編 ■ フロントエンドテスト網羅編 ■ フロントエンドリファクタリング編 ● 初期の活動 ○ バックエンドテスト網羅編が完了! バックエンドテスト網羅編 バックエンドリファクタリング編 フロントエンドテスト網羅編 フロントエンドリファクタリング編

Slide 16

Slide 16 text

活動内容 ● 現在の活動内容 ○ メタプログラミングの削除 ■ define_method の使用を整 理して、通常のメソッド定義に リファクタリング ○ レイヤーの責務を意識したリファク タリングとテスト実装 ■ スモールサイズなテストを実 装しやすくするための設計変 更 バックエンドテスト網羅編 バックエンドリファクタリング編 フロントエンドテスト網羅編 フロントエンドリファクタリング編

Slide 17

Slide 17 text

内部品質改善委員会の成果 ● テストコードが充実した! ○ 約1年半で、累計約120クラスのプロダクトコードについて単体テストの追加 ができた ■ 実際にCI上でデグレを検知できたこともあった ■ 当初の目的であった単体テストの追加が達成できた!

Slide 18

Slide 18 text

内部品質改善委員会の成果 ● 開発体験の向上 ○ プロダクトコードのリファクタリングをしたことで、request specにあったテスト をmodel specに移動できた ■ テスト実行時間が減ったことで開発時の実行も楽になりました。 ○ 開発チームのPdEからポジティブなFBをもらえた grepでメソッドを見 つけやすくなった 気がする メタプロ剥がしはコール スタックを辿るのに時間 がかかったり、やや自信 薄状態で読み進めること があるので助かってま す!! テストコードのお かげでバグを拾え た

Slide 19

Slide 19 text

私の感想 ● 内部品質改善委員会に参加してみて ○ プロダクトの理解が深まった! ■ スプリント開発の流れにのっていないので、自分のペースでじっくり取り 組めた ■ プロダクトコードと画面上の機能を確認しながら取り組めたことで、プロ ダクトコード・テストコード・ユーザーマニュアルこの3つが結びついてよ り理解が深まった ○ プログラミングスキルが向上した! ■ プロダクトコードを見て足りていない単体テストを判断して、自分で書け るようになった

Slide 20

Slide 20 text

今後の展望 ● フロントエンド部分も改善していきたい ○ 現在はバックエンド部分のみの活動になっている ○ 当初の計画にあったフロントエンド部分もやっていきたい ● 内部品質改善委員会の活動の普及 ○ 社内の他のプロダクトでも内部品質改善に取り組みたい! ○ 社外にもこの活動を広めていきたい! ● QAEもリファクタリングの設計を担っていきたい ○ エンジニアリング力を身に着けて積極的にリファクタリングに取り組んでい きたい

Slide 21

Slide 21 text

🌸宣伝🌸 ● JaSST'25 Tokyo ○ 3/27(木) 13:30~ Track3 ○ tarappo sanが登壇します ○ 「スケールアップ企業のQA組織のバリューを最大限に引き出 すための取り組み」 ● QAエンジニア メンバー募集中 ○ まだまだメンバー募集中です! ○ 一度カジュアル面談しませんか? ■ https://youtrust.jp/recruitment_posts/330efbd68714fe977c 172e1258026bd5

Slide 22

Slide 22 text

ご清聴ありがとうございました