今回はゲーム作りの現場で使われる「開発手法の種類」について解説していきます。
エンジニアがコード書いて作るということは変わらないのですが、方法が数種類あるのでそれぞれの特徴やメリット・デメリットを比較していきましょう。
ポイント
- 開発手法を関係者が理解していないと意思決定でモメる
- 仕様変更に対しての考え方が各開発手法で大きく違う
代表的な開発手法
代表的な開発手法は下記の3種類です。
- ウォーターフォール型開発
- プロトタイピング型開発
- アジャイル型開発
それぞれの特徴についての比較表はこちら。
項目 | ウォーターフォール | プロトタイプ | アジャイル |
---|---|---|---|
納期 | 半年から数年 | 数週間から数年 | 数週間から数年 |
開発中の品質 | 優先度高 | 優先度低 | 優先度低 |
開発中の仕様変更 | 基本なし | あり | あり |
修正するコスト | 高い | 低い | 低い |
向いている開発 | 大規模システムを作る 要件が確定している開発 |
意思決定しながら進める 使い勝手をまず確認する |
作りながら考える |
開発例 | 銀行のシステム リアルプロダクト |
ゲーム開発 アプリ開発 新規サービス |
ゲーム開発 アプリ開発 新規サービス |
ゲーム開発との相性 | △ | ◯ | ◎ |
では、それぞれの開発手法について詳細を見てみましょう。
ウォーターフォール型開発
「滝の水が上から下へと流れるように作る」ので、この名前がついています。「要件定義」「基本設計」「外部設計」「内部設計」「プログラム設計」「コーディング」「テスト」といった工程を上から順に開発していく手法です。
上流工程で決まったことをあまり変えずに開発を進めていきます。関係者が多い銀行のシステム開発や、要件が細かく決定しているプロジェクトでよく使われます。ウォーターフォールで仕様変更をすると、上流まで一度戻ってから再度やり直しとなり、影響範囲も多く大変なので、基本的にはあまり大きな仕様変更は行わずに進める方法です。
大規模なので納期も長く、コストも高くなりがちです。物によっては作り始めたときと時代が変わってしまって、完成品がニーズに合わないこともあります。
ウォーターフォール型開発のメリット・デメリット
メリット
・ウォーターフォール型開発の経験者が多いので人材が豊富
・進行管理が明確で、進捗が見えやすい
デメリット
・規模が大きく、決める人、作る人が異なるので開発途中での仕様変更や追加に対応しにくい
・完成するまでに時間がかかる
プロトタイプ型開発
プロトタイプ(prototype)とは、「試作品」「原型」という意味です。まず開発の早い段階で動く試作品を作り、使用感などを確認しながら進める方法です。最終的な仕様はこの確認のあとに決めていきます。
先に完成品のイメージが関係者で共有できるので、認識齟齬や、本格的に作っていく時に起こるリスクを事前に回避できます。
反面、大規模開発には不向きです。プロトタイプ作成後に何らかの修正が入るとスケジュールなどが大幅に変わることがあります。また、依頼者と開発者が別の場合、プロトタイプといえども一定水準の品質が求められるので、依頼者が思っているよりもコストがかかることがあります。
プロトタイプ型開発のメリット・デメリット
メリット
・全体スケジュールの中の早い段階で完成イメージを関係者で共有できる
・完成後に、思っていたのと違うということが少ない
・大方針決定後の開発中は想定外のリスクが減り、大きな仕様変更が起きにくい
デメリット
・大規模開発には向いていない
・修正時に大きくスケジュールや必要人員が変わり、関係者調整が必要規模が大きい場合がある
・開発会社側の負担は大きい
アジャイル型開発
アジャイル(Agile)とは、「素早い」「機敏な」「頭の回転が速い」という意味です。ウォーターフォールのように全体をひとまとまりとするのではなく、小さな単位で実装やテストをスピーディに繰り返します。1つの単位の開発期間が短いため、アジャイル(素早い)と呼ばれます。
また、依頼者と開発者のコミュニケーションが多く、議論も活発にしながら進めていきます。アジャイル開発の関係者は大きな方針が決まったあと、イテレーション(iteration)というサイクルを繰り返します。「計画」→「設計」→「実装」→「テスト」を小サイクルで何度も繰り返していきます。
開発中に仕様変更が発生することを関係者は当たり前と思っているので、不具合に対しても臨機応変に対応することができます。数ヶ月で市場の変化があってもスムーズに対応できます。
アジャイル型開発のメリット・デメリット
メリット
・小さな単位で計画から設計、実装、テストを繰り返すのでスピード感がある
・仕様変更が当たり前で関係者間の議論も活発となり完成物の満足度が高い
・市場に変化があってもスムーズに方向転換が可能
デメリット
・改善を繰り返す際に当初の方針とブレてしまうことがある
・スケジュールや進捗のコントロールが難しい
最後に
いかがでしたでしょうか。
ゲーム開発の現場では、仕様変更や改善が頻繁に行われるため、アジャイル開発が主流となっています。
一度決めて作ったものを修正するのはコストがかかりますが、時代に会ったプロダクトを世に出すという点では適切な手法です。
自分が参加するプロジェクトがどのような概念かを知り、プロジェクトの成功のために適切な議論、行動をしていきましょう。