アジャイル型とウォーターフォール型の開発手法の違いとは【IT業界ビジネス】

      2018/09/09


「IT業界はSIerとWeb系があると聞くけど、何がどう違うんだろう」
「アジャイル開発って良く耳にするけど、イメージがつかない」
「そもそもソフトやアプリ開発ってどんな手法で管理するの?」

この記事は、そんな方へ向けて書いています。

こんにちは、コンサルタントのTEN(@02smwhere)です。

本記事では、システムやソフトウェアの開発手法について、ウォーターフォール開発アジャイル開発の違いについてお話しします。

さらに開発手法の違いを知ることを通じて、一括りにIT業界として表現されがちな、Web系とSIerの違いにも触れていきます。

本記事のまとめ
  • IT業界のウォーターフォールとアジャイル開発の違い
  • ベンチャーと大企業における開発手法とビジネスの関係
スポンサーリンク

IT業界におけるウォーターフォール型の開発手法とは

Mike lewis 179929

まずウォーターフォール型の開発は、順次型とも呼ばれています。

各フェーズを順番に実施するため、投入するコンサルタントやエンジニア、さらに人月もフェーズによって変わることがよく有ります。

 
メリットとしては、プロジェクト全体の把握がしやすい点です。

分業やスケジューリングがし易いので、大企業のシステム構築など、比較的大規模な要件に適しています。

 
一方で欠点としては、プロダクトのリリースまでに時間がかかってしまうことです。

なぜならば、要件定義や基本設計などのフェーズにおいて、全体の機能設計を済ませてから実装や構築に入る必要があるからです。

 
また、フェーズごとに人員配置が異なることから、仮にミスや手戻りが発生した場合、意思伝達や時間のロスが大きくなってしまいます。

そのため、誰かのワンマンで回しているような複雑かつ大勢の理解し難いものは不向きとなります。

 
まとめると、ウォーターフォール型の開発が向いているビジネスは以下のとおりです。


  • 業界によってある程度仕様が決まったパッケージ開発
  • 対クライアントの開発であり、相手も手法に慣れている

合わせて読みたい>>>> Vモデルによるシステム開発のフェーズを自動車に例えて説明する
 

ベンチャーでも採用されるアジャイル型の開発手法とは

Fidget spinner 2343174 1280

アジャイル型の開発は反復型、プロトタイプ型、スパイラル型とも呼ばれます。

アジャイルとは”俊敏な”を意味しています。

 
基本的な方針としては、まず荒っぽくても何かしらの完成形を出すことを最優先にしています。

初めから厳密な仕様は決めず、リリースまでに仕様や設計の変更が当然あるという前提で、おおよその仕様の上で細かい開発を繰り返します。

それと並行して、小さな単位での実装からテストの実行を反復して、徐々に完成系に持っていきます。

さらに後戻りを許容できるので、急な仕様変更にも対応しやすく、実際に画面やアプリなどのプロダクトを見ながら認識合わせが出来ます。

 
欠点としては、スケジュールやタスク振りなどの全体把握がしづらく、クライアントワークの場合にはドキュメントの整備が難しかったりします。

さらに契約の観点からいうと、所要時間や必要人員などが事前に不明確なことも多く、最初の見積もりが非常に難しいことから、契約まで漕ぎ着けるのに一苦労します。

 
まとめると、アジャイル型の開発が向いているビジネスは以下のとおりです。


  • 小規模なベンチャー企業におけるプロダクト開発
  • クライアントとの細かい認識合わせが絶えず必要なカスタム開発

合わせて読みたい>>>> コンサルタントがプログラミングを学習する目指すメリットとは
 

スポンサーリンク

同じIT業界でもWeb系とSIerでは開発手法が違います

Pexels photo 325111

このような開発手法の違いがわかるようになると、IT業界におけるSIerとWeb系企業のビジネスの違いが理解できるようになります。

 
たとえばSIerと呼ばれるシステム導入を主な営みとしている企業においては、あるクライアントがいて、そのビジネスを手助けするためのアプリやシステムを考えて構築します。

大企業相手だと必然的に人数も多くなり、知見を持っている人もバラバラで、業務の量も大量だったりします。

そのため、どうしても大規模開発になりがちで、いかにすでにある仕組みを効率よく回すかにフォーカスするので、やることもそれなりに決まってきます。

 
ですがメリットとして、同業のA社で得た知見があれば、B社の契約も取りやすいし、実績があれば案件も取りやすいです。

 
合わせて読みたい>>>> コンサル志望者がSIerとの仕事内容の違いを勉強する意味
 

StockSnap I9KITUHMGZ

一方でWeb系と呼ばれるIT企業においては、アジャイル開発がメインで行われることも多いです。

例えばスマートフォンなどにおいて、新しいWebサービスがベータ版の段階で一般ユーザにリリースされたり、頻繁にアップデートを繰り返していることを目にすることがあるでしょう。

 
とりあえずある程度の完成形をストアに出しておき、ユーザに使ってもらう。

そして得られたレビューを元に、それを反映させてアップデートを繰り返す。

このように、Web系の開発では、利用出来る状態にサービスを仕上げておき、実際にリリースしてからフィードバックを反映させていく、アジャイル型の開発が多くなっています。

僕たちも知らないうちに、彼らのアジャイル開発のループに巻き込まれていたわけですね。

 
なぜこのようなことが起こるかというと、それはWeb業界を取り巻くスピードの速さにあります。

ひたすら完璧なものを求めて時間を費やしているうちに、ライバルが登場してあっという間に市場を独占されてしまう。

それならば、多少荒くてもとにかく早くアウトプットを出し、一般層に認知してもらう。

このスピード感こそが、現代社会を取り巻いているIT業界の一部の姿なのです。

 
人気のあるRuby on Railsなどのフレームワークは、余計な手間を省き、最小限の労力でサービスをリリースできる基盤が最初から整っているので、Web系の企業などでは非常に人気があります。

 
合わせて読みたい>>>> ベンチャー志望の人にも外資系コンサル就職がおすすめな理由
 

開発手法の違いを見定めて業界や企業を選ぶべき

Pexels photo 256502

このように、同じIT業界とはいえ開発手法や手がけているサービス、相手にするクライアントやユーザは大きく違います。

それに起因してか、小規模ならば自由だけど結果重視、大規模ならばゆるいけどガチガチ、といったように、企業文化すら異なってくるようです。

 
そのため、IT業界という言葉で一括りにできないほど、様々なビジネスや働き方が混在しています。

アジャイル型とウォーターフォール型の違いを理解することで、企業の雰囲気や、具体的な仕事内容についても、より一層理解が深まっていくことでしょう。
 
合わせて読みたい>>>> 激務で残業地獄でも外資系コンサルが人気の理由とは
 

 - データ分析