しがないエンジニアのブログ

技術的な内容をメモ代わりにつらつら

[Unite2018] Unityの開発サイクルとバグへの取り組みについて

公式サイト

http://events.unity3d.jp/unitetokyo2018/session-lineup.html#session71

講演者

黒河 優介 (ユニティ・テクノロジーズ・ジャパン合同会社)

SlideShare

https://www.slideshare.net/UnityTechnologiesJapan/unite-tokyo-2018unity-96492590

概要

  • Unity社の開発体制
  • バグが報告されてから改修されるまでの流れ

内容

  • Unity社が開発しているもの
  • 開発体制について
    • 機能単位でチームを構成
      • UI
      • Animation
      • など
  • 開発サイクルについて

    • バージョン管理はMercurial
    • βリリースを機会にブランチを切って開発
  • バージョンについて

    • Unity2017.3以前はバージョン名にfとpがついたもの
      • f
        • 網羅的なQAを行ったもの
        • 安定版
      • p
        • パッチリリース
        • バグ修正のみチェックしているため、安定性は低い
    • Unity2018からLTSの導入
      • LTS(Long Term Support)
        • 以前
          • メジャーバージョンリリース後に1年位はバグ修正のサポート
        • 今後
          • TechストリームとLTSストリームの2つ
            • その年の最後にリリースしたバージョンがLTS
            • 24ヶ月のサポート
  • 開発サイクルまとめ
    • pバージョンをなくしてfバージョンのみリリースする
    • LTSバージョンを追加してサポート対応する


  • バグへの取り組みについて
    • ユーザからバグレポートを収集して修正
    • バグレポートの修正対応
      1. バグレポート提出の流れ
        • Help > Report a Bug から報告
        • 一次請けはヨーロッパが多いのでできれば「英語」で
        • アドレス
        • カテゴリ、再現頻度
        • 現象の説明
        • Unityプロジェクトの添付
        • 再現手順
      2. バグレポートのエスカレーションフロー
        • バグトラッキングシステムへ登録される
        • QAチームが同様のバグをチェック
        • 再現確認
        • 確認できれば、チームに割り当て
        • Issue Tracker上にバク情報を登録し、バグの内容を公開
      3. 実際に修正され、適用されるまで
        • 開発チームが開発中の最新版に修正
        • その後サポート対応専用チームがサポート期間中の各バージョンにも修正確認
      4. そのたバグ修正に関するTIPS
        • Issue Trackerのステータス
          • 対応中、修正済、予定なしなど
        • Issue ID
          • Release NoteのIDとIssue TrackerのIDは同じ
        • Regression(エンバグデグレ
          • バージョンアップで発生してしまった問題
          • 2分探索で原因のコミットを探索
        • バグレポート
          • 最新バージョンに関するバグは優先度高い
          • 画像や動画を添付するとわかりやすい


  • ケーススタディ
    • ex) UIバグ
      • バージョンアップによって発生
      • 最小構成のプロジェクトを再度作って発生するか確認
      • バージョン前、後の途中のバージョンでそれぞれ発生するか確認