【SmartBeat導入事例】株式会社スクウェア・エニックス

今回は、SmartBeatの導入事例として、実際に利用されている株式会社スクウェア・エニックスの鈴木様にお話を伺いました。

鈴木様が担当なさっている役割について教えてください。

テクニカル・ディレクター(以下TD)として複数のプロジェクトの技術サポートを担当しています。クライアントアプリ開発を主に支援しており、SmartBeatに関しては、アプリの開発の効率化(主にデバッグ効率の向上)や運営時で不具合が発生した際の調査期間の短縮化を実現するため各部署と連携しながら、プロジェクトに導入を勧めています。

株式会社スクウェア・エニックス 鈴木様

SmartBeatを導入した経緯と理由をお聞かせいただけますでしょうか。

  • 再現性の低いCrashが発生したときに何が原因で不具合が発生したのかがわからない。
  • 再現性の低いCrashを修正したと開発チームから報告があった際、本当にそれが修正されているのかがわからない。
  • 不具合の全容が把握できない(どのような不具合が、どのような件数発生しているか把握できない)
    という3つの課題を解決できる方法がないか模索していた時、SmartBeatに出会い「コレだ!」と導入に向けて動き出しました。

現在は社内の各部署と連携しながら、品質チェック開始前までにプロジェクトに導入案内を行っています。他にもCrashReportツールの選択肢は存在しますが、社内での導入数的にも実績あるSmartBeatが選ばれることがほとんどです。

どのような役割の方がSmartBeatをよく使いますか?

主にプロジェクトに参加しているエンジニアです。
彼らには、常にコンソールを確認してもらうようにお願いしています。また品質を確認する意味で、TDやQAも不定期に確認するようにしています。私の場合は、アプリケーション一覧画面をおよそ週に1度の頻度で確認しクラッシュ率やエラー件数が非常に多いアプリについてはエラー内容を確認した上で、プロジェクト担当者に確認を行っています。場合によってはエラー原因を調査の上、具体的な修正方針をプロジェクトに伝える場合もあります。

SmartBeatを導入してみて良かったことを教えてください。

今まさに発生している不具合を全員が共有できるのは何よりの利点です。何を優先して修正すべきなのか、どこを修正すべきなのかが明確になるため、OSSやミドルウェアなど他社が提供しているライブラリに不具合があった場合などには開発者に連絡するなど、とるべきアクションが明確化できます。
もう少し具体的に言うと

  • Crashした際にStackTraceが記録されるため、プログラムのどこでCrashしたのかが詳細に把握できた。
  • 「どのような不具合」が「どれだけの件数発生しているのか」を把握できた点。
    ※上記により、不具合をどのような優先順位で修正するかを判断することができた。
  • Androidでは機種/OS依存の不具合が多かったため「どの機種」「どのOS」の不具合でCrashしたのかは非常に有益な情報となった。
    といった点などは導入してよかったことの一部です。

現在のSmartBeatに感じている改善点や、今後のSmartBeatに期待する事を教えてください。

不満は今のところ特にこれといってありません。
今後に期待する事としては、ユーザ環境下のメモリ推移やフレームレート低下をグラフィカルに把握できればよいと思います。
また通信レイテンシや通信エラー率なども集計し、ヒートマップで把握できると特定エリアのインフラで問題が発生しているなどを把握できるかもしれませんね。我々のニーズを理解し、新規機能の追加や機能改善を前向きに取り組んでくれる点は魅力だと感じていますので、今後のSmartBeatのアップデートに期待しています。

この度は、誠にありがとうございました。