前回、③に戻り、苦手分野が見えてきた話として、科目Bの克服方法を整理しました。今回は、①に戻り、マネジメント系の分野として「システム開発モデル」を整理します。
システム開発モデルとは
システム開発モデルとは、システムやソフトウェアを作るときの、作業の進め方をパターン化したものです。基本情報技術者試験では、代表的な進め方として「ウォーターフォールモデル」と「アジャイル開発」が出題されます。
ウォーターフォールモデルとは
ウォーターフォールモデルは、要件定義・設計・開発・テストといった工程を、順番に、前の工程が終わってから次の工程に進む、という進め方です。
「水が上から下に流れ落ちる」というイメージのとおり、基本的には後戻りをせず、計画どおりに1つずつ工程を完了させていきます。全体の計画が立てやすい一方、開発の途中で仕様の変更が必要になった場合、前の工程まで戻る手間が大きくなりやすい、という特徴があります。
アジャイル開発とは
アジャイル開発は、要件定義から開発・テストまでの一連の工程を、短い期間で繰り返しながら、少しずつ機能を作り上げていく進め方です。
ウォーターフォールモデルのように、最初にすべての要件を固めてから進めるのではなく、短いサイクルの中で、動くものを少しずつ作りながら、必要に応じて計画を見直していきます。仕様の変更に柔軟に対応しやすい一方、全体のスケジュールや完成形が、開発の初期段階では見えにくい、という特徴があります。
2つのモデルの比較
自分は、次のように整理して覚えるようにしています。
- ウォーターフォールモデル:計画重視、順番に進める、変更には弱い
- アジャイル開発:柔軟性重視、短いサイクルを繰り返す、全体像は見えにくい
「最初にすべて決めてから進むか」「少しずつ作りながら調整するか」という進め方の違いが、それぞれの利点と課題に直結している、と捉えると整理しやすくなりました。
学習してみた感想
システム開発モデルは、これまでの科目Aの単元(仕組みや計算が中心)とは違い、「進め方・考え方」を問う分野で、新鮮に感じました。ウォーターフォールとアジャイルは、名前をニュースなどで聞いたことはあっても、それぞれの利点と課題を対にして整理したのは今回が初めてで、違いがはっきり頭に入ってきました。
次回は、企業経営・法務(著作権・労働関連法)の頻出ポイントを整理します。
