こんにちは。
株式会社アドグローブ ソリューション事業部の金子です。
今回はシステム開発における開発手法の選択についてお話します。
システム開発でよく用いられる手法として
アジャイル(主にスクラム)開発とウォータフォール開発があげられます。
本記事ではこれら有名な開発手法のメリット・デメリット、特徴などをご説明し、開発手法を選択する際のポイントについてまとめました。
開発手法
各開発手法のメリット・デメリット
メリット | デメリット | |
---|---|---|
ウォータフォール開発 | ・プロジェクトの進捗状況、全体工数やスケジュールを把握しやすい ・品質が担保しやすい |
・開発途中での意見や改善要望を取り組みにくい ・仕様変更が発生すると手戻りとなるため修正コストが高くなる ・開発着手まで時間を要するため、開発期間が長期化しやすく、スピード感が必要なスタートアップ開発には不向き ・スケジュールに変更が発生した場合、WBSの見直しが発生する |
アジャイル開発 | ・スプリントを回すことで意見や改善要望を取り込みやすい ・ある程度の仕様変更は開発スプリントで柔軟に対応がしやすい |
・品質の安定化が難しい ・プロジェクト全体での進捗状況やスケジュールの把握が難しい |
各開発手法の特徴
◆ウォータフォール開発に向いている案件
- 仕様変更を前提としない開発
- 開発スピードより品質を重視
◆アジャイル開発に向いている案件
- 仕様が決まり切っていないスタートアップ開発
- UI、使い勝手など改善を積み上げていくサービス開発
一般的なメリット・デメリットをあげましたが、昨今では
ローンチが決定しており、かつ適宜UI/UXで最適化が図られるプロジェクトが増えてきています。
次の項目ではそれらに対応することを念頭においたハイブリッド型の開発手法について記載します。
ハイブリット型開発手法
『品質面の確保』 + 『開発工程でのイテレーション手法』
- 品質面の確保:各マイルストーンを置いて、工程スケジュールを設定することにより工程毎の品質を担保する(ウォーターフォール的観点)
- 開発工程でのイテレーション:優先事項をスプリントで整理しスプリントレビューで提示する(アジャイル的観点)
上流工程やテスト工程をウォーターフォールで、開発工程をアジャイル(スクラム)手法で開発する方法です。
メリット・デメリットはウォーターフォール、アジャイルの内容と重なります。
特に工程管理はウォーターフォール同様に全体工数(ストーリーポイント)を注視する必要があります。
まとめ
今日日、ビジネスは速さ『スピード』が重要なファクターとなっています。
システム開発においてもクライアントから『スピード』が求められることが多いでしょう。
システム開発はこれまで様々な開発手法が編み出されてきました。
それぞれにメリット・デメリットが異なり、どれが正解と断言するのは難しいです。
ただ、クライアントとよく話し合い、エンドユーザーにとって何が最適か提案し、共に考えより良い品質のシステムを提供することには変わりがありません。どの開発においても不変となることです。
今後、開発会社はより提案力を求められていくことになるかと思います。
その際に色々な考え方を提供できるよう、我々も準備しておかないといけないですね!
最後までお読みいただきありがとうございました。
現在アドグローブではエンジニアを含め、さまざまなポジションで一緒に働く仲間を募集しています。
詳細については下記からご確認ください。みなさまからのご応募お待ちしております。