こんにちは、デジタル戦略開発課のTDです。
私の現在従事している案件で、アジャイル開発という開発手法が採用されています。
アジャイル開発という開発方法は、最近の基本情報技術者試験の問題などでも時折選出されているため、ワードとして聞いたことのある方もいらっしゃると思います。
言葉を知っていても実際に採用している案件に従事したことのある方は多くないと思います。せっかくアジャイル開発を採用している案件に従事し、アジャイル開発に触れる機会をいただけたので、アジャイル開発について記事にしたいと思います。
アジャイル開発とは
アジャイル開発とは、大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返して開発を進めていく、スクラムというフレームワークなどを使用した開発手法です。
私の従事している案件を例にすると、スプリントという「短期間で反復しながら効率的に開発を進めるアジャイル開発の1サイクルを単位にしたもの」の設定期間を2週間とし、その2週間の間に、「設計→開発→試験項目作成→単体テスト→検証リリース」の開発工程を行っています。
アジャイル開発のメリット
柔軟な対応ができる
スプリント期間内で臨機応変な計画変更が行えることがアジャイル開発のメリットです。小さな単位での開発を行うため、不具合が発生した際の戻り作業が軽微で済むことが柔軟な対応に繋がっています。
開発スピードが速い
アジャイル開発は開発スピードが速いです。小さな単位での開発を繰り返し行うため、リリースタイミングが早く、顧客からの要望からその完了までを迅速に行う事ができます。
顧客のニーズに最大限応えられる
開発途中もコミュニケーションを取りながらフィードバックを行うので、顧客のニーズに最大限応えることができるのもアジャイル開発のメリットといえます。
活発なコミュニケーションが発生し、チームで効率的に開発を進めることが出来る
アジャイル開発はコミュニケーションを重視しています。スクラムごとに頻繫な会議が行われており、開発を行っている機能の仕様確認やタスクの進捗状況の確認、開発に行き詰まった際に解決方法の相談を行える機会が多くもうけられているのもメリットです。
アジャイル開発のデメリット
スケジュールコントロールの難しさ
アジャイル開発では仕様・要件ごとにスケジュールを設定するため、全体のスケジュールや進捗具合が把握しにくくコントロールが難しくなることがデメリットです。
頻繫な要望のすり合わせ
アジャイル開発はコミュニケーションを重視しているため、顧客との要望のすり合わせを頻繫に行います。そのため、すり合わせの度に仕様の変更などが発生した場合、要望を正しく設定出来ずプロジェクトの進行に影響を与える事があります。
スケジュールにないタスクを行う事が難しい
スケジュールコントロールが難しいアジャイル開発は、スケジュールを崩さないため一回のスクラムで行うタスクが厳密に決まっていることがあります。その場合、そのスクラム内で行うと決まっていたタスクが早めに終了した場合でも次のスクラムで予定されているタスクを先行着手することが出来ず、手が空いてしまう恐れがあります。
【まとめ】
アジャイル開発は、顧客ニーズを最大化でき、仕様変更にも強い、短期間で対応できる開発手法
アジャイル開発は、開発工程を機能単位の小さいサイクルで繰り返すことが特徴的な開発方法です。また、開発途中もコミュニケーションを取りながらフィードバックを行うので、顧客のニーズに最大限応えることができます。仕様変更に強く、サービスインまでにかかる時間を短縮できることもメリットです。以上の点から、アジャイル開発はDX推進に最適な開発手法として注目を集めています。
最後までお読みいただきありがとうございます。少しでもアジャイル開発を知るきっかけになれたら幸いです。
▶Webアプリケーション開発なら、株式会社シー・エス・エスへ
この記事を書いた人
ニックネーム:TD
経歴:入社4年目です。一年目は要件定義書の修正等を行っていました。二年目以降はServiceNow案件に従事しています。
好きなもの:猫動画、麻婆豆腐
一言:写真は地元の海から見た夕日です。