★アジャイル開発★
本来、システム開発は、要件定義→設計→開発→テストの順に作業が行われ、一つの工程が完璧に終了するまでは次の工程に進むことが出来ないことが一般的でした。
しかし、アジャイル開発では、工程の後戻りを想定して開発が行われます。具体的には、上記の流れを短期間で何回も反復的かつ漸進的に行うことによって、徐々にシステムの形を顧客の求める形に近づけていきます。従来のウォーターフォール開発とは異なり、各工程でミスが発生したとしても、修正作業が行いやすいのです。
★スクラム型開発★
スクラム開発は、アジャイル開発の中で一番主流となる開発手法です。
少人数のチームで、固定の期間内で開発を区切り、計画を立てる手法です。メンバー全員がチームリーダーのつもりで行動します。また、必要に応じてメンバー間で、至らない点や追加すべき点などについて協議し、方向性を確立していきます。
チームワークを数倍重要視する開発手法なため、メンバーに一人でもスクラム開発に不慣れな人間がいると、スクラム開発の良さを発揮できないため、チームのメンバー全員が開発内容について十分に理解している必要があります。
★メリット/デメリット★
★終わりに★
一般的にソフトウェア開発には、長い時間を要することが多く、最長で1年を超えるということも珍しくありません。また、開発途中において急なトラブルが生じることも非常に多いと思われます。顧客からの急なシステムの変更依頼や機能の追加依頼などを受け付けるケースも当たり前のようにあるため、当初の予定通りに作業が進行することは稀だと思われます。そのため、従来のウォーターフォール開発に代わって、アジャイル開発が、生み出されました。しかし、ウォーターフォール開発が完全に廃れたのではなく、現在のシステム開発には、アジャイル開発の方が向いている場合の方が多いのです。ウォーターフォール開発のメリットを最大限に活用できるケースもありますので、必要に応じて開発手法を上手く切り替えることが重要だと思われます。