ソフトウェアの開発プロセス、開発手法というと、ウォーターフォールが一般的であろう。しかし、近年はアジャイル、スクラムといった開発手法が注目されているし、DevOpsなどのワードも一般的だ。ここで開発プロセスを整理したい。
ウォーターフォール型の開発
1. 基本設計→外部設計→内部設計→プログラム設計→プログラミング→テストという工程に分けて順に段階を追う。
– 管理しやすいが、行程を後戻りできない。
アジャイル開発
1.大きな単位でシステムを区切るのではなく、小単位で実装とテストを繰り返して開発を進めていく
– 開発期間が大幅に短縮され、不具合発生時の後戻り工数が少ない。ただし、厳密な方針を固めてないので、ぶれやすい。進捗を把握しにくく、コントロールが難しい。
では具体的に実装タスクをブレイクダウンしてみましょう。
1.実装
– 実装・GHEプルリク
– コードレビュー
– 修正対応
2.単体テスト
一つの関数の判定
– テスト仕様書
– コードレビュー
– 修正対応
3.結合テスト
– テスト仕様書作成
– テスト仕様書レビュー
– レビュー指摘対応
– テスト実施(不良対応)
– テスト結果確認
– 確認の指摘対応
4.受け入れテスト
– テスト仕様書作成
– テスト仕様書レビュー
– テスト実施
– 不良対応
– 不良対応確認
5.商用リリース
– 手順書作成
– 手順書レビュー
– 指摘対応
– リリース実施
大まかな流れを記載したが、開発タスクのサイズや方針によって変わってくると思う。