どうやって開発するの?開発手法の種類とメリット・デメリット

2020-05-24

今回はゲーム作りの現場で使われる「開発手法の種類」について解説していきます。

エンジニアがコード書いて作るということは変わらないのですが、方法が数種類あるのでそれぞれの特徴やメリット・デメリットを比較していきましょう。

ポイント

  • 開発手法を関係者が理解していないと意思決定でモメる
  • 仕様変更に対しての考え方が各開発手法で大きく違う
質問者
学長、途中で仕様変えるなんて絶対ダメですよね!せっかく準備してきたものが台無しになっちゃうし!
良い質問だね。もちろん普通に考えたら途中で変更が入るといろんな問題が発生するよね。でもそのプロジェクトが何のために動いているかによって、一概に全部ダメとも言い切れなかったりするんだよ。目的に合わせた開発手法の種類がいくつからあるからそれを知っていると話が早いよ。
学長ニケ
質問者
そうなんですね。絶対ダメだと思ってました。開発する方法にも種類があるんですね。どんな種類があるんだろう・・・
1人や少人数で好き勝手に作っていい開発もあれば、数十人規模で細かくバトンタッチしながら作るような大規模な開発もあるよね。当然たくさんの人が絡んだり、大きな開発になるほうが「しっかり管理」して進めないと大きなミスや想定外のコストがかかったりしてしまうんだ。だから大きな開発での仕様変更はたくさんの人の動きに影響あるからあまりない方がいいよね。
学長ニケ
質問者
たしかに、せっかくみんなで連携して作ったのに、やっぱり仕様変えるなんて言ったら大混乱になりそうですね。やっぱり仕様変更はダメなんじゃないですか?
もちろん途中変更が入ると調整コストや認識齟齬が生まれやすくなるんだけど、プロジェクトによっては逆にいろいろと試行錯誤しながらよいものを少人数で作るものもあるよね。この場合は、仕様変更することでプロダクトの価値が上がっていく可能性もあるし、少人数で議論しながら作るなら仕様変更自体はそこまで問題にはならないよね。こうやってチーム規模や開発内容によって作り方を変えているんだよ。
学長ニケ
質問者
たしかに、考えならが作る場合は最初に決めたものより良いものが見つかったならそっちに変えたほうがいいですね!
じゃぁそれぞれの開発手法を見ていこう。
学長ニケ

代表的な開発手法

代表的な開発手法は下記の3種類です。

  • ウォーターフォール型開発
  • プロトタイピング型開発
  • アジャイル型開発

それぞれの特徴についての比較表はこちら。

項目 ウォーターフォール プロトタイプ アジャイル
納期 半年から数年 数週間から数年 数週間から数年
開発中の品質 優先度高 優先度低 優先度低
開発中の仕様変更 基本なし あり あり
修正するコスト 高い 低い 低い
向いている開発 大規模システムを作る
要件が確定している開発
意思決定しながら進める
使い勝手をまず確認する
作りながら考える
開発例 銀行のシステム
リアルプロダクト
ゲーム開発
アプリ開発
新規サービス
ゲーム開発
アプリ開発
新規サービス
ゲーム開発との相性

では、それぞれの開発手法について詳細を見てみましょう。

ウォーターフォール型開発

「滝の水が上から下へと流れるように作る」ので、この名前がついています。「要件定義」「基本設計」「外部設計」「内部設計」「プログラム設計」「コーディング」「テスト」といった工程を上から順に開発していく手法です。

上流工程で決まったことをあまり変えずに開発を進めていきます。関係者が多い銀行のシステム開発や、要件が細かく決定しているプロジェクトでよく使われます。ウォーターフォールで仕様変更をすると、上流まで一度戻ってから再度やり直しとなり、影響範囲も多く大変なので、基本的にはあまり大きな仕様変更は行わずに進める方法です。

大規模なので納期も長く、コストも高くなりがちです。物によっては作り始めたときと時代が変わってしまって、完成品がニーズに合わないこともあります。

ウォーターフォール型開発のメリット・デメリット

メリット
・ウォーターフォール型開発の経験者が多いので人材が豊富
・進行管理が明確で、進捗が見えやすい
デメリット
・規模が大きく、決める人、作る人が異なるので開発途中での仕様変更や追加に対応しにくい
・完成するまでに時間がかかる

プロトタイプ型開発

プロトタイプ(prototype)とは、「試作品」「原型」という意味です。まず開発の早い段階で動く試作品を作り、使用感などを確認しながら進める方法です。最終的な仕様はこの確認のあとに決めていきます。

先に完成品のイメージが関係者で共有できるので、認識齟齬や、本格的に作っていく時に起こるリスクを事前に回避できます。

反面、大規模開発には不向きです。プロトタイプ作成後に何らかの修正が入るとスケジュールなどが大幅に変わることがあります。また、依頼者と開発者が別の場合、プロトタイプといえども一定水準の品質が求められるので、依頼者が思っているよりもコストがかかることがあります。

プロトタイプ型開発のメリット・デメリット

メリット
・全体スケジュールの中の早い段階で完成イメージを関係者で共有できる
・完成後に、思っていたのと違うということが少ない
・大方針決定後の開発中は想定外のリスクが減り、大きな仕様変更が起きにくい
デメリット
・大規模開発には向いていない
・修正時に大きくスケジュールや必要人員が変わり、関係者調整が必要規模が大きい場合がある
・開発会社側の負担は大きい

アジャイル型開発

アジャイル(Agile)とは、「素早い」「機敏な」「頭の回転が速い」という意味です。ウォーターフォールのように全体をひとまとまりとするのではなく、小さな単位で実装やテストをスピーディに繰り返します。1つの単位の開発期間が短いため、アジャイル(素早い)と呼ばれます。

また、依頼者と開発者のコミュニケーションが多く、議論も活発にしながら進めていきます。アジャイル開発の関係者は大きな方針が決まったあと、イテレーション(iteration)というサイクルを繰り返します。「計画」→「設計」→「実装」→「テスト」を小サイクルで何度も繰り返していきます。

開発中に仕様変更が発生することを関係者は当たり前と思っているので、不具合に対しても臨機応変に対応することができます。数ヶ月で市場の変化があってもスムーズに対応できます。

アジャイル型開発のメリット・デメリット

メリット
・小さな単位で計画から設計、実装、テストを繰り返すのでスピード感がある
・仕様変更が当たり前で関係者間の議論も活発となり完成物の満足度が高い
・市場に変化があってもスムーズに方向転換が可能
デメリット
・改善を繰り返す際に当初の方針とブレてしまうことがある
・スケジュールや進捗のコントロールが難しい

最後に

いかがでしたでしょうか。

ゲーム開発の現場では、仕様変更や改善が頻繁に行われるため、アジャイル開発が主流となっています。

一度決めて作ったものを修正するのはコストがかかりますが、時代に会ったプロダクトを世に出すという点では適切な手法です。

自分が参加するプロジェクトがどのような概念かを知り、プロジェクトの成功のために適切な議論、行動をしていきましょう。

-ゲーム作り
-, , ,

Copyright© ゲーム大学 , 2024 All Rights Reserved.