アジャイル開発の手法と原則
アジャイル開発は、要求や計画の変化を前提として、短い反復で動くソフトウェアを作り、顧客の評価を受けながら改善を重ねる開発の考え方である。スクラム、エクストリームプログラミング(XP)、リーンソフトウェア開発、フィーチャ駆動開発(FDD)などが代表的な手法である。本単元では、アジャイルソフトウェア開発宣言で示された価値、各手法の特徴と実践、進捗を管理するバーンダウンチャートを区別して理解することが要点になる。
アジャイルソフトウェア開発宣言の価値
宣言は、プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を価値とすると示している。宣言は右側の項目にも価値があることを認めたうえで、左側の項目により重きを置く構造になっている。 ドキュメントの作成を否定するのではなく、利用者が使える動くソフトウェアを提供することを優先する点が要である。
XPの価値と実践
XPは、コミュニケーション、シンプルさ、フィードバック、勇気、尊重の五つの価値を掲げ、プログラミングを中心に品質を高める実践を重視する手法である。代表的な実践には、二人で一つの作業を行うペアプログラミング、テストを先に書くテスト駆動開発、コードの振る舞いを変えずに構造を整えるリファクタリングなどがある。 ペアプログラミングは、その場で相談しレビューしながら品質の向上と知識の共有を図る実践であり、プロトタイピングや分業による作業とは区別される。 実務では、ペアで作業することで新任のメンバーが設計の判断を学べるという効果が期待される。
テスト駆動開発では、プログラムを書く前にテストケースを作成し、そのテストを通すプログラムを書いたうえで、必要に応じてリファクタリングを行う。 テストの網羅率は有用な指標であるが、テスト駆動開発の中心的な特徴はテストを先に作ることである点を押さえる必要がある。
この節の続き
- スクラムとリーンソフトウェア開発
- バーンダウンチャートによる進捗管理
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む