・ウォータフォールモデル
開発工程を要件定義、設計、開発、テストと上流工程から下流工程へと順番に進めていく開発手法
・アジャイル開発
短い開発工程を何度も繰り返し、迅速かつ段階的に完成度を高めていく開発手法
・エクストリームプログラミング(XP)
イテレーションと呼ばれる固定された短いサイクルで、動作するプログラミングを作ることを繰り返す
2人1組となってプログラミングをする(ペアプログラミング)
外部から見たプログラムの動作を変更せずに、内部構造を改善する(リファクタリング)
プログラムを書く前にテストケースを作成する(テスト駆動開発)
・スクラム開発
製品の責任者で機能の優先順位を決めるプロダクトオーナー、スクラム開発のプロセスを円滑に進めるスクラムマスター、実際の開発担うチームで構成される
スプリントと呼ばれる固定された短いサイクルで、動作するプログラムを作ることを繰り返す
毎日のミーティング(デイリースクラム)を重ねることで、問題が発生しても早めに解決できる
・その他の開発手法
・プロトタイピングモデル
システム開発の早い段階から試作品(プロトタイプ)を作成して、利用者の確認を得ながら開発を進めていく開発手法
・スパイラルモデル
システムをさらに独立性の高いサブシステムに分割し、サブシステムごとに要件定義や設計、開発、テストを繰り返しながら段階的にシステムを完成させていく開発手法
・RAD
利用者を含む少人数で、GUIなどによる開発支援ツールを活用してプロトタイプを作成し、評価と改良を繰り返すことで開発期間を短縮する開発手法
・DevOps
開発部門と運用部門が協力しながらシステムの改善を進めようという考え方
・リバースエンジニアリング
既存のプログラムを解析してそのプログラムの仕様書を導き出すこと
・ソフトウェアの見積り
・ファンクションポイント法
ソフトウェアの仕様から機能数を洗い出し、機能ごとの複雑度を考慮した重み付けをしてソフトウェアの規模を見積もる手法
・類推見積法
過去の類似したシステムの実績値を基にソフトウェアの規模を見積る手法