エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

デジカル開発チームが品質を保つための2つの取り組み

こんにちはエンジニアリンググループの森内です。 私はエムスリーデジカルというクラウド型電子カルテのチームでQAを担当しております。 本ブログではデジカルチームの中で、品質向上に関わる良い取り組みをご紹介します。

デジカルとは?

デジカルとは、エムスリーがリリースしている電子カルテサービスです。 AIを用いたシンプルな使いやすさとそれでいて導入しやすいリーズナブルさで高い評価をいただいており、日本の電子カルテ普及率を上げ医療現場をより円滑にするべく日々取り組んでおります。 おかげさまで昨年10月に導入件数2000件を達成しました。

プロダクトやチームの詳細はPdMの記事がありますので合わせてご参照下さい。 www.m3tech.blog

開発サイクルとQAの関わり

エムスリーの特徴として、各チーム毎に開発のサイクルが異なり、QAもそれぞれのチーム毎に関り方が異なります。 デジカルチームでは、scrumを導入しています。 2週間を1スプリントとし、前半と後半の計2スプリント(=4週間)を経てリリースされます。 案件は同じスプリント内で、開発とQAが行われます。 具体的には、開発者が実装している間にQAエンジニアはテスト計画/設計をし、実装完了したらテスト実施を行います。

f:id:mrutttsy:20210330140708j:plain
sprint内での開発とQAの流れ
開発とQAを同一スプリントで行う一番のメリットとしては、QAエンジニアが開発者に質問を投げても直ぐに回答があることだと思います。 現場によってはQAフェーズが開発の1スプリント後に来る運用もありますが、いざQAを始めた時には実装から期間が空いているので開発者の記憶が曖昧になっているなんて話はよく耳にします。

紹介したい運用

ここからはデジカルでのサイクルの中で品質向上に役立つ取り組みを2つご紹介します。

開発者目線でのQA観点の提供

デジカルチームでは、案件毎にJIRAでチケット化して進捗管理をしています。 そのチケットに開発者がQAエンジニアに検証してほしい細やかな箇所をコメントで残しています。

例えば、

  • このシステムにも手が加わっているので、こっちの機能にも影響しているかもしれない。
  • こんな入力をしたときの挙動を見てほしい。
  • 全パターン網羅するにはこんなデータが必要。

このようにしっかり明文化されていることは、当たり前かもしれませんが素晴らしい文化です。 これは開発者とQAエンジニアの双方にメリットがあります。 QAエンジニアは開発者の目線が加わることで、テストの見逃しをふせぐことができます。 開発者は、気になる箇所をQAエンジニアに任せることで、開発に集中でき、精神的負担が減らせます。

品質計画書

エムスリーの他のチームでも行っている取り組みですが、テスト計画設計の成果物として品質計画書を作成し、どういったQAを実施するのかを事前に開発者や企画者に共有しフィードバックをもらいます。

項目の一例をご紹介します。

  • 目的:その機能を開発する目的です。プロジェクトの背景から案件の目的を明確にし、開発内容が目的に則しているかをQAエンジニアもチェックします。
  • 受け入れ条件:ビジネス目的を達成するための最低条件です。非機能的な部分(セキュリティ、パフォーマンス、ユーザビリティ)もなるべく考慮し、QAの過程でもしこれを満たしていない場合、開発に戻る際の判断基準となります。
  • リスク:当該プロジェクトにおけるリスクを考えます。"リスク = 発生確率 ×発生時の損失"を念頭に置き、どのリスクを減らすためのテストなのかを整理します。リスクから新たな観点も出てくるので、開発者にフィードバックしたりテスト計画にも反映します。
  • テスト計画・概要:プロジェクトの品質を担保するために誰がどのテスト工程を行うかを整理します。全体的な検証ポイント/観点などの概要を書きます。またテストが不要と判断した箇所があれば、ここ明記します。

品質計画書を共有することで、QA内容を事前に開発者と企画者に把握してもらえます。 そして、QA内容の概要がまとまっているので、テストケースよりも証跡として活用しやすいです。

また、デジカルチームでは品質計画書をconfluenceで作成管理しています。 理由はデジカルのJIRAでリリースタスクを管理しており、confluenceはJIRAとの親和性が高いからです。 以前はexcelを使っていたのですが、双方のトラッキングがしやすくなり、JIRAチケットに自動で品質計画書のリンクができたり、品質計画書からチケットのステータスが拾えるようになりました。

今後の課題

現在のデジカルサービスのリリースは4週間に1回火曜夜に行われいます。 リリース作業をもっと手軽にすることで、頻度を上げることと、日中にサービスを止めることなく素早く行えることがデジカルチームの課題です。 QAチームとしてはリリース前に行っているリグレッションテストに多くの工数を割いており、内容の精査や一部テストの自動化をして最適化したいです。

We're hiring!

エムスリーではQAエンジニアの採用活動にも力を入れております。 私はエムスリーに入社する前からQAエンジニアとして様々なチームに参画してきましたが、エムスリーは開発者の品質意識が非常に高く、バグの作りこみを事前に防ぐ文化が強く根付いています。 開発者とQAエンジニアが二人三脚でプロダクトを良くするためには、QA側のパワーアップが必要です。 カジュアル面談も受付ておりますので、興味を持たれた方は下記よりお問い合わせください。 jobs.m3.com