見出し画像

医療機関向けSaaSで年間150回のリリースを行なっているQAチームの話

Ubie株式会社のQAエンジニアの山口です。Ubieの1人目のQAエンジニアとしてジョインして入社から約2年半が経ちました。Ubie Discoveryという組織に所属しており、AI問診ユビーという医療機関向け(BtoB)プロダクトを中心に不確実性の多い領域で仮説検証を繰り返しながらプロダクト開発を進めています。

年間150回って多いの少ないの?

他と比較したことはないですが多い方だと思います。

AI問診ユビーのプロダクトは主にインターネット経由で提供・利用してもらうサービス形態のSaaSであり、オンプレミスで提供されるサービスと比べるとリリース回数は桁違いに多いと思います。

私の今までの経験では週1回のリリースはありましたが、Ubieにジョインする前に代表の久保との話の中で「週3回リリースしている」と聞いたときは、医療向けのプロダクトでそのリリース頻度はすごいと驚いた覚えがあります。

なお、年間150回は「週3回 × 4週 × 12ヶ月 = 144回」から算出しており、およそ150回という感じです。

1回のリリースで4〜5個のリポジトリにわたるプルリクエストがセットになっていることが多いので、リポジトリ単位でリリース回数を計算するともっと多くなりますね。

実は週3回よりも多くリリースしたいという野望が開発チームにはあるのですが、まだ環境面などが整っていないため、もう少し未来の話になりそうです。

そんなにリリースするものってあるの?

めっちゃありますよー!

私がUbieにジョインしてから2年半近くでAI問診ユビーのプロダクトは急成長しており、その成長のためにはさまざまな課題探索を行い、その課題を解決して不確実性を確実なものとするためにハイペースな開発と高頻度なリリースが必要としています。

また、AI問診ユビーのプロダクト開発チームだけに限らずUbieの社員は課題解決のモンスターです。常に課題を探し求めてユーザーの現場に積極的に訪問し、解決すべき課題が見つかれば目にも留まらぬ勢いで開発を行っています。そして、すぐに世にリリースしてユーザーに利用してもらい、プロダクトをさらによくしていくためのフィードバックを得るために日々全力を尽くしています。

そのため、毎回何らかのリリースすべき案件が存在し「今日はリリースがないので暇だなー」ということがほとんどありません。

医療機関向けのSaaSでアジャイル開発を進めるために心がけていることや工夫についてはこちらのnoteをご覧ください。

リリース前のテストって大変じゃないの?

正直に言うと大変です!

<開発が完了したらすぐにリリースしたい>問題

AI問診ユビーのプロダクトのリリースは週3回であることは 先に述べましたが、その曜日の内訳は月・火・木曜日となっています。

休日の障害対応を避けるために休日前にリリースを行わない方針にすることはよくあることだと思いますが、それに加えて水曜日がリリース日から抜けているのはUbieの習慣で「ミーティングをなるべく水曜日に集中させて他の曜日は開発に集中する」ためです。

しかし、週3回にリリース日を分けているにもかかわらず特定の日にリリース案件が集中するという問題を起こすことがあります。

それはなぜか?

開発チームのメンバーは精魂込めて開発した機能を本番環境へなるべく早くリリースしてユーザーに使ってもらいたいと常に考えています。

画像1

そのため、早くリリースしたいと思う気持ちが強くなり、開発が完了したらもっとも近いリリース日をターゲットに設定されることが多くなります。

次々と無差別にリリースする施策が積み重なるので、それはカーレースのファーストラップの第一コーナーに接触を恐れずに一斉に飛び込むイメージがあっているような気がします。

とにかくみんなアクセル全開で最速最短を目指しがちなんですね。

そのため、QAエンジニアという職種柄プロダクトの全体を見通せる立場にある私がリリースコントロールという名の交通整備を行うことにしました。

画像2

これによって、リリース内容が複雑でテスト工数が増えるような場合は開発案件をいくつかのリリース日を適度に分散させ、可能な限りリスクを減らすように努めています。

その結果、最短でリリース前テストを行って機能を本番環境へ次々とリリースするというリリースサイクルを確立することができました。

しかし、今はリリースコントロールは個人で行なっているので属人化という問題がありますし、開発力が上がると結局はコントロールしきれない状態になるので解決すべき課題はあります。

それでプロダクトの品質を保てているの?

今のところクリティカルな問題の発生は抑えられています。

UbieのSlack上には #all-troubleshooting という私がもっとも恐れているクリティカルな不具合報告チャンネルがあるのですが、そこのチャンネルが賑わうことは最近は少ないので関係者が安眠できているのではないかと思います。

おそらく、1〜2ヶ月に1回報告があるかどうかの頻度だと思います。

ただ、それは完璧な環境やプロセスが構築されて保てているわけではなく、発展途上の状態の中で時にはマンパワーを発揮して維持できている部分も事実としてあります。

よって、現状に満足することなく品質を向上させるための文化や体制づくりを進める必要があります。

UbieのQAチームは去年までは正社員は私1人のみだったのですが、幸いなことに採用活動が実り、今年の1月にQAエンジニアが1人入社、7月にもう1人入社するので来期から正社員3人体制になります。

1月入社のメンバーには今まで私1人では手があまり出せなかった生活者向け(BtoC)プロダクトのAI受診相談ユビーなどに関する品質を見てもらっており、これに7月入社のメンバーも加われば活動の幅がさらに増えることになります。

2人とも優秀なメンバーなので、これからはQAチームとしてUbieの事業を成長させるためにはどのような品質戦略を取っていくのかを一緒に考えていけることに今からワクワクしています。

今後やろうと思っていることは以下のようなものがあります。

- チームビルディング
- 自動テスト(E2E)の整備と拡充
- テスト技術を開発メンバーへ共有
- 全社的な品質文化の形成
- 開発やQAプロセスの改善
など

終わりに

開発した施策が本番環境にリリースされてプロダクトが日々成長していく姿を見るのはとても充実感があります。

ただなんとなくプロダクトを作っているのではなく、そこにはユーザーの抱える課題を解決するために関係者全員の血と汗と涙の結晶が形となって現れているからです。

Ubieではプロダクトの品質レベルを向上させ、常に必要な物事にフォーカスしながら楽しく事業を一緒に推進していけるQAエンジニアやソフトウェアエンジニアを積極的に採用を行なっています。

是非採用サイトをご覧ください。世の中にまだ見ぬ最高のプロダクトを最高のメンバーと一緒に作っていきませんか?

この記事に書けなかった細かい点はカジュアルミーティングなどでお話することもできますので Twitter DM などでお気軽にお知らせください。


この記事が気に入ったらサポートをしてみませんか?