筆者は現在、システム開発をメインにしているWeb制作会社に在籍をしているのですが、よく現場で「今回はウォーターフォール型で行きましょう。」や、「納期が短いから、アジャイル開発で進めていこう」という会話を何度か聞いたことがあります。
最初はどういう意味になるのかがさっぱりだったのですが、意味を知れば「なるほどなー」と理解することができました。今回は同じような悩みを持っている方に向けて、簡単に解説していきますね。
「ウォーターフォール型」とは
ウォーターフォール(water fall)とは日本語で滝という意味です。滝という言葉からイメージできるように上流から下流に向かって工程を決めて、作業を進めていくことを指します。
大体が下記のフェーズに分けられることが多いです。
- 分析
- 要件定義
- 制作
- 実装→テスト
- リリース
それぞれのフェーズでしっかりと固めて、タスクも終了させてから次のフェーズに進んでいくという形になります。
ウォーターフォール型開発は使用する素材や情報などがあらかじめ手元にあり、手順通りに進めれば何にも問題がないプロジェクトなどで使われることが多く、開発分野としてはシステム開発などに向いているかとは思います。
メリット
ウォーターフォール型のメリットとしては下記が上げられます。
- 制作するものが明確に決まっているので、ゴールに向かって進めばいい
- 各フェーズでの進捗が明確にわかる
- クオリティを確保することができる
- 作業のやり直しをしなくてもいい
といった感じでしょうか。下流(ゴール)が決まっているのであれば、その流れには逆らわずに身を任せればいいということです。
デメリット
逆に上げられるデメリットとしては
- ゴールを決めるまでに綿密な打ち合わせが必要
- 途中でやり直すことができない(できたとしても時間がかかる)
- 完成までに時間がかかる
といったところでしょうか。要はメリットと表裏一体という感じでしょうか。
アジャイルとは
アジャイル(agile)とは日本語で「素早い」や「俊敏」という意味であり、そのまま翻訳すると「素早い開発」という意味です。尚、ここでの「素早い開発」というのは
おいおい、この制作物を明日までにやれよ!
と言われて、明日中に制作物を完成させるような「素早い開発」という意味ではなくて、大体の要素だけを決めて、細かく「制作→テスト→実装」といった感じで常に細かいフェーズで要素を公開するようなイメージです。簡単に表現したら、PDCAを高速回転させるようなイメージでしょうか。
ちなみに過去にそんなクライアントがいてましたが、大体はロクな奴はいなかったです。笑
尚、このスタイルに合っているのはWebサイトやブログなどのコンテンツかとは思います。これらに関してで言えば、先に公開できるものがあれば、先に公開しておいて、Googleに評価をしてもらうのがSEO的にも重要だからです。コンテンツの追加などに関してでいえば、そのあとからでも大丈夫ですしね。
メリット
多分、ウォーターフォールと真逆な感じになるかとは思いますが、、、
- 柔軟性がある開発スタイルなので、要望に応えやすい
- 早い段階で実装することができる(そのコンテンツのみですが)
- 一つ一つ細かく作業を分割するので、無駄をなくすことができる
といった感じでしょうか。高速でPDCAを回すので、柔軟に対応して、そのタイミングで判断することができるというのがメリットですかね。
ただ、この高速でPDCAを回すにあたり、作業担当者が独断で決めていい部分に関してはあらかじめ相談しておかないと、そこで時間を食われる可能性がありますので、注意しましょう。
デメリット
もちろん、アジャイルに関してもデメリットもありますが、
- 全体を俯瞰して見ることが難しい(細かく分割しているため)
- スケジュールが不明確
- その場で判断して、作業ができる人でないと難しい
といった感じでしょうか。流れが速いので、その場の瞬発力が乏しい方であれば難しいかとは思います。
まとめ
「ウォーターフォール型」と「アジャイル型」についてある程度はご理解いただけましたでしょうか。
ある程度スケジュールに余裕があり、品質がしっかりとしたものを納品する必要があるのであれば、ウォーターフォール型を採用し、短納期であればアジャイル型を採用するようにしましょう。ただ、アジャイル型を採用する場合には高速でPDCAを回せるプロジェクトマネージャーの存在が必須だと思いますので、そこは社内と相談しましょう。
コメント