メインコンテンツへスキップ
見出し画像

IVRyの毎週リリースを実現にするために取り組んでいる4つのこと

    こんにちは、電話自動応答サービスIVRy QAEの関です。1人目QAEとして10ヶ月が経とうとしています。QAEとして、最初の取り組みについては、下記の記事にまとめています。ぜひ、ご覧ください!

    🔻 電話自動応答サービスについて

    2022年6月 IVRyは、「OpenAPI x Rails x NextJS」 で0から作り直しました。
    0から作り直したことによって、開発がしやすくなり直近の約3ヶ月では、毎週リリースを行なっています。IVRyでは、顧客が本当に必要としているものを最短最速で届けることを目指しており、毎週リリースは、その基盤の一つになると考えています。

    画像
    毎週、何かしらのリリースをおこなっています。

    また、表面的なリリースだけではなく、インフラなどのシステムを安定に稼働し続けるためのリリースも積極的に行っています。

    今回は、毎週リリースを行う上で、QAEとして取り組んでいる4つのことをまとめてみました。
    ぜひ、最後までご覧いただけると幸いです。

    こんな方におすすめ
    ・
    1人QAE
    ・ 毎週リリースを実現したいが、何をすれば良いかイメージできてない方

    毎週リリース実現に向けて取り組んでいる4つのこと

    ① 現状の運用フローや、リリーススケジュールを引く

    運用フローやリリーススケジュールを引くことで、全体を把握することができます。
    全体を把握することで、逆算して動くことができたり、優先順位をつけやすくなります。
    また、リリースできなかった際に、「運用フロー上で、何か問題はなかったのか」など振り返ることができます。

    画像
    運用フロー

    ② 開発着手の時点で、 自ら要件を把握しにいく

    早期に要件を把握することで、十分な時間をかけQA観点やテスト項目を洗い出すことができます。さらに、開発メンバーと認識を合わせる時間を確保することもできます。要件自体は、一覧としてnotionにまとまっていますが、プルリクエストを確認し、コードベースで仕様を把握することもあります。
    ※ 新規機能やサービスなど、ドメイン知識が必要な場合は、インプットする時間も確保する事ができます。

    画像
    要件定義一覧/notion

    ③ 実装内容によって、3つのテスト項目を使い分ける

    実装内容に応じて、使用するテスト項目を選択しています。これは、「テスト工数の削減」に役立ちます。

    ・GeneralQA:
     機能全体のデグレーションテスト時に使用(正常系/ 全体テスト)
    ・機能別QA:
     機能別のデグレーションテストに使用(正常系/ 機能別テスト)
    ・チェック項目別QA:
     機能全体のデグレーションテストかつ、想定したエラー挙動や、バリデーションの確認したい時に使用(正常系, 準正常系, 異常系/ 全体テスト)
    ※ 準正常系: ユーザ操作で発生するエラーを指す(例: 必須項目が空の時に発生する入力バリデーションなど)

    ただし、テスト項目の選択を間違えてしまうと、不具合が存在する状態でリリースされてしまいます。その為、影響範囲を正しく把握する必要があります。QA観点やテスト項目を準備した状態(理解度:70%)で開発メンバーと15分ミーティングを行ったり、マージされたコードを見にいき、影響範囲の認識を高めることが、重要だと考えています。

    ④ 新規機能/機能改善の場合は、テストログを slackに残す

    テストログを残す事で「xxxってやりましたか?」などの コミュニケーションコストを減らす事ができます。また、ひと目でQAが完了しているか可視化するために「完了スタンプ」を押しています。

    画像

    これからの取り組みについて


    次の課題は?

    • 新機能・サービス拡大によるQAリソースの圧迫

    • リリース頻度向上・メンバー増加による機能理解に差分が生まれ始めた

    爆速開発は、保たれるようになりましたが、IVRyではさまざまなサービスの機能開発が進んでおり、QAリソースが圧迫されつつあり、人的ミスを犯してしまいバグを本番に発生させてしまう恐れがあると感じています。
    また、リリース頻度向上によって、開発チームとSalesチームの連携ができておらず、知らないうちに新機能や機能改善がリリースされていた… なんてこともありました。

    課題に対して、現在取り組んでいること

    ① 毎週リリースの安定化に向けて QA自動化を導入 🎉
    QA自動化を導入することで、デグレーションテストなどが、簡易(手軽)に行えるのではないかと考えております。
    また、テストタイミングの安定、テストを並列実行できることで、全テストの実行時間が減ることなど、メリットは多いと感じています。

    画像
    検討段階の様子

    ② IVRyメンバーへ リリース内容の共有会を実施 🤝
    リリース頻度の向上や会社の人数も増えてきて、会社全体での機能理解に差分が生まれたため、メンバー全員参加のリリース会(オンラインでの30分の機能説明)を実施し、機能理解に差が生まれないような取り組みを実施する事にしました。

    画像
    リリース共有会を呼びかけてる様子

    まとめ

    毎週リリースを可能にするために、QAEとして必要なことを考え、十分な準備とコミュニケーションコストを最小化することに重きを置いて取り組んできました。
    幸いなことに大きな失敗はなく、毎週リリースを続けられています。
    これからも、爆速開発を行いながらIVRyを安心してご利用いただけるよう改善と挑戦に努めていきます。

    最後に、IVRyでは一緒に爆速プロダクト開発を行うエンジニアさんを募集してます

    本noteを読んで、IVRyが気になった👀、開発に興味を持っちゃった方は、ぜひお話ししましょう!!


    この記事が参加している募集

     
     
    対話型音声AI SaaS IVRy(アイブリー)QAエンジニア ← 学習塾の事業立上げ ← パーソナルトレーナー/建築業 趣味は筋トレ、写真

    あなたへのおすすめ