誰も見ていない時間

ゲーム、読書、マンガ、ライフハックなどの雑記

アジャイルとウォーターフォールという二つの開発手法の違いを紹介

ゲーム開発やシステム開発において、開発手法は大きく分けて2種類あります。
アジャイルとウォーターフォールです。開発系の人は誰もが知っている言葉なのですが、そうでない職種の人にとっては全く知られていない言葉でもあります。

 

今回はアジャイルとウォーターフォールという二つの開発手法の違いについて解説してみます。

f:id:kitahana_tarosuke:20171013005915j:plain

 

アジャイルとウォーターフォールについて解説されたサイト

この2つの開発手法の違いについては、解説されているサイトがいくつもあります。その中でも私が分かりやすいと思ったのが、NECソリューションイノベータ株式会社のサイトです。

www.nec-solutioninnovators.co.jp

アジャイルが比較的短期間で反復を行い、リスクを最小化しつつ開発のサイクルを何度も回すのに対して、ウォーターフォールはその名の通り、水が滝から流れ落ちるかのように開発を進めていく手法です。

 

リンク先にある比較画像が分かりやすいですね。

f:id:kitahana_tarosuke:20171013010214p:plain

(出典 http://www.nec-solutioninnovators.co.jp/column/01_agile.html

ウォーターフォールは開発期間中に企画から制作、実装、テストまで一連の作業をするのに対して、アジャイルは何度も設計と実装を繰り返して製品の精度を高めていきます。

ちなみにゲーム開発では「要件定義」という言葉はほとんど使いません。ゲーム開発で説明すると、企画→プロト作成→デザイン&実装→デバックという感じでしょうか。

 

アジャイルとウォーターフォールを画像で解説

されに分かりやすく、アジャイルとウォーターフォールを絵画で説明してみます。解説されているのは海外サイトなのですが、絵画に例えると非常に分かりやすいです。

f:id:kitahana_tarosuke:20171013011429j:plain

(出典 http://jpattonassociates.com/dont_know_what_i_want/

上がウォーターフォール、下がアジャイルになります。

これを見れば一目瞭然ですね。イラストを書くのに下書きをせず、画面の端から完成図を描き込んでいく人は居ないでしょう。

 

でも、実際の開発現場だと、これが有り得るのですから、ある意味、非常に怖い話でもあります。そういえばみずほのシステム開発はどうなったんだろう・・・

 

欧米ではアジャイル開発が主流

それぞれの導入率は米国を中心とした海外ではアジャイルが多く、日本や中国などはウォーターフォールがまだ主流です。

「まだ」という言葉を入れたのは、私自身がアジャイル開発の方が手法的に優れている、という認識を持っているからです。

 

ウォーターフォールにはメリットがない

simplearchitect.hatenablog.com

上記は開発系の職種の方には有名なブログ記事です。ある開発者系のイベントの懇親会に参加したときに、アジャイルとウォーターフォールの話になったことがあるのですが、参加者全員が上記のブログを知っていました。まあ、全員といっても確か5-6名くらいだったので、たまたまかもしれませんが。

 

まとめ ー アジャイルが優れているがウォーターフォールも多い

記事の途中にも書いたように、私自身はアジャイルの方が優れていると認識しています。アジャイル開発手法のひとつでもあるスクラムの本を読みかじったりしています。

 

でも、ウォーターフォールの開発手法が100%悪いという訳ではありません。
ウォーターフォールが適しているケースは仕様が確定していて変更がない場合です。

 

仕様変更が発生せず、最初に設定した企画の通りに開発が進むのなら、ウォーターフォールの方が、アジャイルよりもよっぽど適しています。

 

もっとも実際のゲーム開発では、仕様変更が発生しないことはない、のですが^^;