「そもそもソフトやアプリ開発ってどんな手法で管理するの?」この記事は、そんな方へ向けて書いています。こんにちは、コンサルタントの02smwhereです。本記事では、システムやソフトウェアの開発手法について、ウォーターフォール開発とアジャイル開発の違いについてお話しします。開発手法の違いを知ることを通じて、一括りにIT業界として表現されがちな、Web系とSIerの違いにも触れていきます。本記事のまとめIT業界のウォーターフォールとアジャイル開発の違いベンチャーと大企業における開発手法とビジネスの関係スポンサーリンクIT業界におけるウォーターフォール型の開発手法とはまずウォーターフォール型の開発は、順次型とも呼ばれています。各フェーズを順番に実施するため、投入するコンサルタントやエンジニア、さらに人月もフェーズによって変わることがよく有ります。メリットとしては、プロジェクト全体の把握がしやすい点です。分業やスケジューリングがし易いので、大企業のシステム構築など、比較的大規模な要件に適しています。一方で欠点としては、プロダクトのリリースまでに時間がかかってしまうことです。要件定義や基本設計などのフェーズにおいて、全体の機能設計を済ませてから実装や構築に入る必要があるからです。フェーズごとに人員配置が異なることから、仮にミスや手戻りが発生した場合、意思伝達や時間のロスが大きくなってしまいます。そのため、誰かのワンマンで回しているような複雑かつ大勢の理解し難いものは不向きとなります。まとめると、ウォーターフォール型の開発が向いているビジネスは以下のとおりです。Vモデルによるシステム開発のフェーズを自動車に例えて説明するベンチャーでも採用されるアジャイル型の開発手法とはアジャイル型の開発は反復型、プロトタイプ型、スパイラル型とも呼ばれます。アジャイルとは”俊敏な”を意味しています。基本的な方針としては、まず荒っぽくても何かしらの完成形を出すことを最優先にしています。初めから厳密な仕様は決めず、リリースまでに仕様や設計の変更が当然あるという前提で、おおよその仕様の上で細かい開発を繰り返します。それと並行して、小さな単位での実装からテストの実行を反復して、徐々に完成系に持っていきます。後戻りを許容できるので、急な仕様変更にも対応しやすく、実際に画面やアプリなどのプロダクトを見ながら認識合わせが出来ます。欠点としては、スケジュールやタスク振りなどの全体把握がしづらく、クライアントワークの場合にはドキュメントの整備が難しかったりします。契約の観点からいうと、所要時間や必要人員などが事前に不明確なことも多く、最初の見積もりが非常に難しいことから、契約まで漕ぎ着けるのに一苦労します。まとめると、アジャイル型の開発が向いているビジネスは以下のとおりです。コンサルタントがプログラミングを学習する目指すメリットとはスポンサーリンク同じIT業界でもWeb系とSIerでは開発手法が違いますこのような開発手法の違いがわかるようになると、IT業界におけるSIerとWeb系企業のビジネスの違いが理解できるようになります。SIerと呼ばれるシステム導入を主な営みとしている企業においては、あるクライアントがいて、そのビジネスを手助けするためのアプリやシステムを考えて構築します。大企業相手だと必然的に人数も多くなり、知見を持っている人もバラバラで、業務の量も大量だったりします。そのため、どうしても大規模開発になりがちで、いかにすでにある仕組みを効率よく回すかにフォーカスするので、やることもそれなりに決まってきます。メリットとして、同業のA社で得た知見があれば、B社の契約も取りやすいし、実績があれば案件も取りやすいです。一方でWeb系と呼ばれるIT企業においては、アジャイル開発がメインで行われることも多いです。スマートフォンなどにおいて、新しいWebサービスがベータ版の段階で一般ユーザにリリースされたり、頻繁にアップデートを繰り返していることを目にすることがあるでしょう。ある程度の完成形をストアに出しておき、ユーザに使ってもらう。得られたレビューを元に、それを反映させてアップデートを繰り返す。このように、Web系の開発では、利用出来る状態にサービスを仕上げておき、実際にリリースしてからフィードバックを反映させていく、アジャイル型の開発が多くなっています。僕たちも知らないうちに、彼らのアジャイル開発のループに巻き込まれていたわけですね。このようなことが起こるかというと、それはWeb業界を取り巻くスピードの速さにあります。完璧なものを求めて時間を費やしているうちに、ライバルが登場してあっという間に市場を独占されてしまう。それならば、多少荒くてもとにかく早くアウトプットを出し、一般層に認知してもらう。このスピード感こそが、現代社会を取り巻いているIT業界の一部の姿なのです。Railsなどのフレームワークは、余計な手間を省き、最小限の労力でサービスをリリースできる基盤が最初から整っているので、Web系の企業などでは非常に人気があります。開発手法の違いを見定めて業界や企業を選ぶべきこのように、同じIT業界とはいえ開発手法や手がけているサービス、相手にするクライアントやユーザは大きく違います。それに起因してか、小規模ならば自由だけど結果重視、大規模ならばゆるいけどガチガチ、といったように、企業文化すら異なってくるようです。そのため、IT業界という言葉で一括りにできないほど、様々なビジネスや働き方が混在しています。アジャイル型とウォーターフォール型の違いを理解することで、企業の雰囲気や、具体的な仕事内容についても、より一層理解が深まっていくことでしょう。WordPress.。