

Manpreet Kaur
June 05, 2025
8 min read
屋根工事、太陽光発電、害虫駆除会社が利用するCRM兼訪問営業プラットフォームSalesRabbitにとって、レガシーコードは珍しいものではありません。近年、SalesRabbitは、屋根工事に特化したCRMであるRoofLinkの2024年の買収など、複数の買収を通じて製品ラインを拡大してきました。
拡大により、C#、Elixir、Python、さらにはCという異なる言語の複数のレガシーコードベースを抱え、それら全体のコード品質を簡単に評価できないという新たな課題が生じました。
20人のエンジニアを率いるCTOのMichael Archibald氏は、引き継いだコードベースの可視性を高め、バグを減らし、経験の浅い開発者を支援しながら、エンジニアリング速度を維持できる拡張可能な方法を必要としていました。
そこでCodeRabbitが導入されました。
CodeRabbitを導入する前、SalesRabbitは買収で引き継いだコードベースへの対応と同時に、レビューの遅れによるデプロイ速度の低下や、コーディング規約の不統一など、多くのチームに共通するコードレビュー上の課題を抱えていました。
買収後の不慣れなレガシーコードベース
SalesRabbitのチームが扱う言語は増え続けていました。SalesRabbitはPHPアプリケーションとして始まり、C#コードベースを持つ企業を買収し、自社コードの一部をElixirへ移行し、Pythonコードを持つRoofLinkの買収を控えていました。RoofLinkの買収によってPythonコードベースが加わることが、Michael氏がAIコードレビューツールを調査するきっかけでした。「コードベースをもう少し速く理解し、コード品質をより適切に検証できる自動化ツール、主にAIを探していました」と同氏は話します。
高い欠陥流出率
Michael氏は常にアプリケーション品質の改善を重視してきました。6年前にCTOへ就任した当時、SalesRabbitでは頻繁にダウンタイムが発生していました。その後、可用性を99.99%まで改善し、チームも拡大しました。しかし買収後、RoofLinkの欠陥流出率が懸念材料になりました。RoofLinkは本番環境へ到達したバグ数を追跡していませんでしたが、サポートチームによれば、ほぼすべてのリリースで顧客から苦情を受ける状態でした。コードが必要なほど徹底してレビューされていないことは明らかでした。
遅いレビューサイクル
意欲的なロードマップと複数の製品を持つSalesRabbitでは、チームの速度を維持する必要がありました。しかし、手作業のコードレビューは一貫せず、数日かかることも多く、デプロイが大幅に遅れていました。ジュニアエンジニアが多いため、コードをレビューできるシニア開発者が少ないことも問題でした。Michael氏はレビューを容易にする解決策を求めていました。
AIコーディングツールによるコード品質の問題
SalesRabbitのエンジニアはCopilotなどのAIコーディングツールでコード作成を速めていましたが、コード品質に問題が生じました。「ジュニアエンジニアが、これらのツールを使って多くのバグを入れていました」とMichael氏は説明します。そのため、チームのジュニアエンジニアをより適切に支援する別のAIツールを探しました。
一貫しないコーディング規約
SalesRabbitとRoofLinkの各チームは、買収先に残る従来の規約などにより、異なるスタイルと標準を使っていました。スタイルの不一致は摩擦を生みます。ベストプラクティスを適用する一元的なガバナンス層が必要でした。「全員を同じ状態にしたいだけです」とMichael氏は話します。
Michael氏は当初、CodeRabbitがチームの問題を解決するとは確信していませんでした。「CodeRabbitを見つけて、『比較的安い。まず1人か2人のエンジニアに席を与え、気に入るか見てみよう』と思いました。しかし、ほぼ即座にチームの全員が『これが欲しい』と言い始めました」と説明します。
Michael氏はツールに対するこの熱意を重視します。同氏がSalesRabbitへ入社した当時、エンジニアの離職率は80%でした。それ以来、開発者の満足度を高め、エンジニアリング組織を安定させるために努力してきました。「AIツールを評価する試金石の一つは、エンジニアが欲しがるかどうかです。エンジニアにAIツールを押し付けたくありません。CodeRabbitは、ほぼ即座に全員が求めました」と話します。
当初はジュニア開発者で試しましたが、シニアエンジニアもバグ修正、リファクタリング提案、セキュリティチェックの価値をすぐに認識しました。「CodeRabbitでは全員が『これを使わせてほしい。素晴らしい。コードレビューが速くなる』と言いました。小規模なテストから全面導入へ非常に短期間で進みました」とMichael氏は話します。
Michael氏はRoofLinkの欠陥流出率を懸念していましたが、CodeRabbitはそれを大幅に、しかもほぼ即座に減らしました。「改善プロセスを導入することもできましたが、効果を測れるまで数週間から数か月かかります。CodeRabbitにはほぼ即座に効果がありました。コード品質が向上し、変えたのはすべてのデプロイにCodeRabbitを追加したことだけです」と説明します。
これほど効果的に問題を減らせたことに、Michael氏は驚いていません。「人間よりはるかに多くのバグを見つけたと、安心して言えます」と話します。
コード作成に重点を置き、多くのバグを追加していたCopilotなどのAIコーディングツールとは異なり、CodeRabbitはバグの発見と修正に重点を置きます。SalesRabbitはPR段階で必要な可視性と品質ゲートを得て、欠陥が本番環境へ到達するのを防げました。「特にジュニア開発者に有効です。そうでなければ見逃すパターンやミスを見つける助けになります」とMichael氏は話します。
SalesRabbitは、引き継いだコードベースもより速く理解できました。「コード品質を判断するうえで本当に役立ちました」とMichael氏は話します。
CodeRabbitに組み込まれたスタイル適用機能により、カスタムlintツールやスタイルチェッカーの必要性が減り、レガシー言語と現代的な言語のコードを標準化できました。「CodeRabbitは『これは良くないパターンかもしれない』『ここではスタイルに従っていない』と的確に指摘します。コードスタイル管理用に導入していた多くのツールを、CodeRabbitに同様の機能が組み込まれているため廃止できました」とMichael氏は説明します。
C#のようなレガシー言語と、ElixirやPythonのような現代的な言語に対して、コード品質を一元的に適用できるツールがあることも役立ちます。「全員をある程度同じ状態にしたいのです。CodeRabbitがそれを実現してくれます」とMichael氏は話します。

SalesRabbitはCodeRabbitで大きな成果を得ました。
CodeRabbit導入後、欠陥流出率は少なくとも30%低下し、システムの信頼性が向上しました。サポートチームも違いに気づきました。「ほぼ即座に効果がありました」とArchibald氏は話します。
CodeRabbitによる自動化された最初のレビューで、複雑なレガシーコードベースでも反復が速まり、リリースサイクル時間が短縮されました。さらに、ワンクリック修正によって、指摘された変更をすぐにコミットできました。
測定は難しいものの、Michael氏はCodeRabbitによってコード品質が大幅に向上したと確信しています。「コードスタイルが改善しました」と証言します。
Michael氏が重視するのは、SalesRabbitのエンジニアが満足し、かつ生産的であることです。そのため、望まないAIツールを押し付けたくありませんでした。しかしCodeRabbitは、エンジニアリングチームの全員が欲しがったツールです。「開発者は本当に楽しんで使っています」と話します。
SalesRabbitにとって、CodeRabbitの導入負荷は小さく、効果は大きなものでした。チームはPRを少なくとも25%速くマージし、レガシーのC#とPythonコードにおける欠陥検出を改善し、数日間のレビューサイクルから解放されて開発効率を高めました。
AIによるレビューは数日ではなく数時間で済み、デプロイも速くなりました。CodeRabbitは、ジュニアエンジニアがAIコーディングツールを使う際に見逃していたバグも発見しました。レビューサイクルが短くなり、開発者の自信が高まり、チーム全体がコーディング手法について足並みを揃えられたため、Michael氏はCodeRabbitを見つけられたことを喜んでいます。
Michael氏は次のように話します。「CodeRabbitの導入前は、コードレビューの不統一や欠陥の本番環境への流出に悩んでいました。CodeRabbitは、特にC#のコーディング規約を改善し、コードスタイル適用の一元的なガバナンス層を提供し、本番環境の欠陥を大幅に減らしました」
自動docstring挿入への最近の対応や、エージェント型ワークフローによる自動ユニットテスト挿入への今後の対応など、CodeRabbitの機能は拡大しています。SalesRabbitは、近いうちにさらなる効率向上を期待しています。
CodeRabbitがチームにどう役立つか確かめてみませんか。14日間のトライアルを始めましょう。