さまざまな開発手法
開発プロセスにより何が変わるのか
ここで、両プロセスを比較してみます(図3-1)。
そして、ウォーターフォールプロセスが得意とする状況とされるのは以下の通りです。
・高い可用性が求められるシステムである場合
・メンバーの開発経験が少ない場合
・要件がほとんど変わらない場合
・開発メンバーの数が多い場合
・組織的文化が秩序を重視するものである場合
対してアジャイルはその正反対の状況を得意とします。
・可用性よりも優先されるものがあるシステム
・メンバーとして開発に熟練した開発者が参加している場合
・要件が常に変化していく場合
・開発メンバーの数が少ない場合
・組織的文化がさまざまな状況に意欲を持って取り組む場合
(出典:『Balancing Agility and Discipline: A Guide for the Perplexed』)
アジャイルプロセスでは、プロジェクトの早い段階から「動くコード」を作成します。当然、機能はまったく足りないかもしれませんが、実装したところまでは動かすことができるコードになっているはずです。また、小さく作りこんでいくプロセスなので、サイクルごとにかじ取りの判断ができ、顧客からの要望が取り入れやすいのが特徴です。アジャイルプロセスの基本スタンスは、変化を受け入れることで、要求の変更が前提に考えられています。
ProjectKeeper / SalesForceAutomation+の開発プロセス
最初のバージョンの開発が始まってから約4年がたちましたが、当初はメンバー約2名で立ち上げました。自社製のWebシステム構築用のフレームワークがあったことや、受託開発でさまざまなシステムを構築した経験があったメンバーであったため2名で約6ヶ月の期間で開発を行うことはできました。
当初はパッケージ開発におけるノウハウはほとんどなかったため、受託開発時に当時よく使っていたウォーターフォール手法を必然的に採用しました。
しかし、パッケージ製品の開発においては延々と開発を継続していかなければならず、受託開発のように納品することで、開発が完了するわけではありません。製品は日々進化する必要があり、顧客からのフィードバックをスムーズに製品に取り入れていかなければ、製品の魅力を維持することができません。
仕様変更、機能拡張がたびたび発生していく状況では、各機能間の整合性や品質を維持することが困難になり、開発プロセスをより仕様変更に強いアジャイル開発手法へスイッチすることで、柔軟な仕様変更、スピーディーな製品リリースを行うことができるようになりました。
昨今では多種多様なシステムが身の回りに存在しています。さまざまなシステムを目にし、操作することで、古いシステムの操作性や機能へ不満を抱く機会も多くなるでしょう。このような顧客を常に満足させるためには、システムは常に進化していかなければならず、おのずと今後の開発手法の主流はアジャイルへと進んでいくのではないでしょうか?
【参考文献】
情報処理推進機構ソフトウェア・エンジニア 著『ソフトウェア開発データ白書 2008』日経BP社 版(2008年08月 発行)
フィリップ・クルーシュテン 著 藤井 拓 監訳『ラショナル統一プロセス入門 第3版』アスキー 版(2004年12月 発行)
トム・デマルコ/ティモシー・リスター 著 伊豆原弓 訳『熊とワルツを』日経BP社 版(2003年12月 発行)
『Iterative and Incremental Development: A Brief History』
http://www2.umassd.edu/SWPI/xp/articles/r6047.pdf
(アクセス:2009/03)
Boehm, B. and Turner, R., 『Balancing Agility and Discipline: A Guide for the Perplexed』 Addison-Wesley, Boston.2004. ISBN 0321186125
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- エンタープライズモバイルに必要なアプリの品質とは?―Think IT Mobile Developer Seminar 2016レポート
- ProjectKeeperに見る開発方法論
- 非ウォーターフォール・モデル
- 開発手法を徹底比較!アジャイル vs.ウォーターフォール
- いろいろなプロセス ~V字モデルとスクラム~
- アジャイル開発とは?プロジェクト推進からチームビルディング、見積もりのコツまでを完全解説
- ディシプリンド・アジャイル・デリバリーの基本モデル「方向付けフェーズ」を理解する
- CNDT2021、大規模ウォーターフォール開発をクラウドネイティブにするためのヒントをNTTデータのエバンジェリストが解説
- 開発プロセスモデル
- アジャイル開発を支援する