DevOpsとシフトレフトについて
About DevOps and Shift Left
(株式会社Aiming)
(Aiming Inc.)
■概要
■Overview
セッションでは以下で説明する「DevOps」「シフトレフト」の考え方を取り入れた例として「プロジェクトでCoverityを取り入れ、運用した事例」を話します。
CoverityとはSynopsys社が提供しているプログラムコードを静的解析するツールです。単に導入したのではなく、効果的に運用するために行ったことを話します。
皆さんが今後「自動化について」「シフトレフトについて」を考えるきっかけになれば幸いです。
under construction...
■DevOps
■DevOps
昨今のゲーム業界でも「DevOps」という言葉が注目されつつあります。DevOpsとはソフトウェア開発手法の一つのことで、開発 (Development) と運用 (Operations) を組み合わせたかばん語です。
「開発担当者と運用担当者が連携して協力する(さらに両担当者の境目もあいまいにする)開発手法」という概念のことです。
DevOpsの厳密な定義は存在していませんが、一般的に「ビルド」「テスト」「デプロイ」「パッケージング」「リリース」など開発環境から本番へ成果物を届けるための手段や品質管理のことを指していることが多いです。
会社によりますが、概ねこういった作業はエンジニアが担当することが多いです。しかし、こういった自動化や自動テスト、開発の運用に関してすべてエンジニアがまかないきれるものではありません。
例えば「モデルコンバーターを作成する時、いらないデータは極力削除した形でほしい」場合があるとします。
モデルやDCCツールに明るくないエンジニアがいちいち調べながらコンバーターを作成してトライアンドエラーを繰り返すよりも、一般的にDCCツールの特性やモデルの効率的なリダクション方法を知っているTAが直接DCCツール用のプラグイン(Maya Pythonなど)を書くほうが効率的に成果物を出力できる可能性が高いです。
こういった自動化、開発運用改善を行うことが成果物に対してより良い品質をもたらすきっかけになります。
under construction...
■シフトレフトという考え方
■The idea of Shift Left
3Dデザイナー50人単位の開発規模でエンジニアから
「半透明マテリアルは非常に重いので使わないでほしい」
「5000頂点以上のモデルデータは処理落ちを招くのでリダクションしてほしい」
などの要望が来たときにTAがひとりひとりのモデルをチェックするのは現実的に厳しいです。
かと言ってエンジニアに要望が守られていない状態のデータを渡すと手戻りが発生しこういったことが重なってくると「スケジュールの遅れ」「エンジニア、3Dデザイナーの体力と精神的な疲弊」「品質の低下」を招きます。
しかし、TAがエンジニアにモデルデータを渡す前にチェックするのは時間と人員的コストがかかります。こういった場合はDCCツールのプラグインを作成しそれらの警告やエラーをDCCツール上で出せれば、3Dデザイナー自身で気づくことができ、手戻りを最小限に抑えることができます。
こういった「テストを早める」「リスクヘッジを行う」行為そのものが「シフトレフト」という考え方になります。
under construction...
■参考サイト
■Reference site
under construction...
※会合までに資料の内容を更新する可能性があります。
※There is a possibility to update the contents of materials by the meeting.