プログラムのアジャイル開発とは?従来の開発手法と何が違う?呪文染みたIT用語解説
学生のころ、少々プログラムをかじっていました。
- COBOL
- FORTRAN
- BASIC
この3つです。
BASICでエセインベーダーゲームを作ったことが唯一の製作です(汗)
学生時代にプログラミングをやっていたおかげで、現在でもネット環境に馴染めています。
業界特有の用語が、さもビジネス全般で通用するかのように、外部に対してさりげなく使われていることには、いまだに違和感を持っています。
アジャイル開発も、そのひとつです。
システムの依頼やソフトウェアまたはアプリの開発を依頼する際に、
「当社はアジャイル開発で~」
と説明を受けても戸惑うことがなくなる程度に解説してみたいと思います。
もくじ
アジャイル開発とは
富士通のコラムを参考にして、かみ砕いてみます。
アジャイル開発とは、短期間(1週間~1ヵ月程度)で、次々に機能を追加していくスタイルです。
アプリゲームなどでは、正式公開した後にメンテナンスという名目で、新機能を次々にリリースしますが、そのスタイルに似ています。
特にRPG(ロールプレイングゲーム)では、新しいストーリーが追加されますが、まさにアジャイル開発のなせる業です。
アジャイル開発のメリット
アジャイル開発がもたらすメリットを調べてみました。
短い開発期間でのリリースが可能なため、ユーザーの要望に応えやすい環境となっています。
逆に開発側は忙しいような気もしますが、機能単位での作業と考えると、負担は少なくなっているのかもしれません。
骨組みに肉付けしていくイメージがアジャイル開発ですから、例えば、Aのみを変更したいという場合にも柔軟に対応できます。
従来の方法だと骨組みから手直しが必要であり、時間と労力に大きな違いが出ます。
故障やトラブルも比較的少ないようです。
アジャイル開発のデメリット
アシャイル開発にもデメリットはあります。
後から何とでもなる柔軟性が逆にリスクとなるケースがあります。
企画や基本設計などの段階では、きっちりと仕様を決めることなく進められるので、開発目的や方向性がブレやすいという点です。
また全体的なスケジュール調整を含んだ管理監督が難しい面があります。
機能単位でチーム編成されていることから、
- Aチーム:60%
- Bチーム:90%
- Cチーム:20%
という進捗状況が、リリース2週間前ということも・・。
アジャイル開発の対極はウォーターフォール開発
従来の開発手法は「ウォーターフォール」と言い、
- 企画
- 設計
- プログラミング
- テスト
- 運用
というように、上流工程から下流工程へと段階的にリリースに向けて進捗していくスタイルです。
筆者が学生時代にやっていたのは、まさにウォーターフォール開発でした。
ウォーターフォール開発のやっかいな点は、変更があると全ての見直しが必要なところです。
つまり変更や追加の都度、全体をストップしてイチから再開発ということですから、時間はかかります。
まとめ
プログラムのアジャイル開発について、簡潔にまとめました。
システムの依頼やソフトウェアまたはアプリの開発を依頼する際に、
「当社はアジャイル開発で~」
と説明を受けても戸惑うことはなくなるはずです。