【楽々デブドックを書こう!】手法別開発ドキュメントの書き方
第1回:開発ドキュメントと開発手法
著者:シンクイット編集部
公開日:2008/02/07(木)
さまざまな開発手法「ウォーターフォールモデル」
本連載では開発手法として、ウォーターフォールモデルとアジャイルモデルを取り上げると述べた。
ウォーターフォールモデルの基本は、ソフトウェア開発を「要求定義」「設計」「プログラミング」「テスト」「運用」の一連の工程に定義し、開発を前から順に進めていく方法だ。パイプラインのように、一連の工程を1つずつクリアして進んでいくため、前の工程に不備があると大きな手戻りが発生する。仕様に変更があった場合などにおいては、大きなスケジュール変更が起こる可能性がある。
しかし裏を返せば、完璧な要求定義を行うことができれば、それに従って順番に進めていくことで、目的の成果物はちゃんと完成する。流れもわかりやすいため、開発を進めるうえでも見通しがよい。特に、過去に同じような事例や経験があると、より円滑に進むといえる。非常に計画重視な開発手法で、長期的なスケジュールに基づき開発を進めていく。また、経験則が重要なファクターともいえる。
- エクストリームプログラミング(XP:Extreme Programming)
- スクラム
- クリスタル(ファミリー)
- フィーチャ駆動型開発
- 適応的ソフトウェア開発(ASD:Adaptive Software Development)
- 動的システム開発方法論(DSDM:Dynamic Systems Development Method)
- リーンソフトウェア開発(LSD:Lean Software Development)
- エクストリームモデリング(xtUML:Executable and Translatable UML)
表2:さまざまなアジャイルモデル
アジャイルモデル
アジャイルモデルは、システムに対する要件の変化や機能の追加などを受け入れて開発していくモデルである。アジャイルとは、「俊敏」や「機敏」という意味で、ただ単に「早い」という意味ではないので注意が必要だ。
まず、最低限の機能を備えた利用可能なソフトウェアを開発し、継続的に改良を加えていく。そのスパンは1週間から数週間と短く、1つあるいは少ない数の機能を追加していくモデルだ。どちらかというと小規模なソフトウェア開発に用いられることが多い。
一部には「アジャイルモデルではドキュメントが必要ない」と勘違いされている場合があるが、アジャイルモデルにおいてもドキュメントの作成は必要だ。それは、最初に述べたように、開発ドキュメントはコミュニケーションであり、必要な情報を伝えることが重要だからである。
アジャイルモデルにはさまざまなものがある(表2)。それぞれについては、「今こそ再考するアジャイル開発」を参考にしていただきたい。
またアジャイルモデルは小規模に向いていると述べたが、近年では大規模の例も出てきている。Think ITではエクストリームプログラミングによるSNS構築事例として「Know HowからKnow Whoへ 〜社内SNS構築指南」を紹介しているので参考にしていただきたい。 次のページ