![](https://cdn.yopaz.com/assets/images/news-img/Union.png)
前回に、アジャイル開発についての特徴・メリット・デメリットなど解説しました、今回の記事ではアジャイル開発の流れ・手法や成功させるポイントを調べましょう。
1.アジャイル開発の流れ
アジャイル開発の流れについて、基本な的に解説します。
1.1.リリース計画
アジャイル開発では、ソフトウェアの計画段階で厳密な仕様を決めずに、だいたいの仕様と要求のみを決定ます。その後の実装フェーズで問題が起こりそうですが、仕様が途中で変更があっても柔軟に対応できるため、顧客のニーズに最大限応えることができます。
1.2.イテレーション
リリース計画がまとまったら、開発段階に入ります。アジャイル開発において、機能ごとに「要件定義→設計→実装→テスト」を短期間のサイクルで繰り返すことを「イテレーション」と呼びます。イテレーションは1週間~2週間ごとが一般的で、イテレーションごとに毎回機能をリリースします。「イテレーション1」「イテレーション2」「イテレーション3」…と繰り返しながら、細かく開発を進めていきます。
2.アジャイル開発の主な手法
開発では、多くの手法が存在していますが、今回はアジャイル開発における代表的な3つの手法を解説します。
手法1:スクラム
スクラムは、アジャイル開発のなかで最も有名な開発手法です。スクラム開発ではメンバー自身がイテレーションごとの計画を立案し、設計・実装を進行していきます。イテレーション毎に開発の進捗状況などを確認するため、チーム内のコミュニケーションが非常に重要になります。
チーム内でのコミュニケーションが不足していると、リリースした機能が正常な動かなかったりするといった問題が生じる可能性があります。スクラムを組むように、チーム全員が協力して開発を進めることが大切です。
手法2:エクストリーム・プログラミング(XP)
エクストリーム・プログラミング「Extreme Programming」はXPとも略され、事前の計画よりも仕様・要件の途中変更への柔軟な対応を重視した手法で、4つの価値(コミュニケーション/シンプル/フィードバック/勇気)をチーム内で共有することが特徴です。
エクストリーム・プログラミングは、技術的な手法を駆使して仕様変更に対応することを目指します。そのためプログラマーを中心とした手法であるとも言われます。
手法3:ユーザー機能駆動開発(FDD)
ユーザー機能駆動開発(FDD)は、顧客(ユーザー)にとっての機能価値(feature)を重視した開発手法です。そうしてソフトウェア・システムの開発を繰り返し、顧客にとって適切な間隔で提供していくことがユーザー機能駆動開発の趣旨です。顧客がソフトウェアの各機能に求める根本的な要望に寄り添うことを重視することから、品質が高い機能を開発しやすい手法と言われます。
3.アジャイル開発を成功させるためのポイント
ポイント1:メンバー間のコミュニケーションを密に取りましょう
一般的にアジャイル開発は、他の方法よりも仕様の変更が多くあります。そのため、変更した内容をチームのメンバーに共有しないといけないです。特にスクラムを開発する場合は、メンバー間のコミュニケーションを密にとることは最も大事なことです。また、メンバー間の意見を交換することで、効率的な開発になります。
ポイント2:メンバーの役割をしっかり理解する
まずは、開発メンバーがそれぞれ自分の役割を理解し、どんなタスクをするか明確にします。その後、メンバー間でミーティングを繰り返し、役割に応じた行動を取ることで仕事をしやすくなります。自分とメンバーの役割を理解すれば、コミュニケーションも行いやすくなり、スムーズにプロジェクトを進められるでしょう。また、顧客も交えて役割を理解しておくことも重要です。顧客はプロジェクトの参画者であるため、チームの一員として適切に要望を伝える必要があります。
ポイント3:アジャイル開発に適したツールを使用しましょう
アジャイル開発の場合は、変更があるときに迅速に対応する必要があります。そのため、メンバーが同じ場所で作業を行うのが理想です。しかし、開発の状況によっては、メンバーがリモートでプロジェクトに参加していることもあります。そこで、メンバー間で効率的なコミュニケーションをとるために、コミュニケーションツールやタスクツールの利用することがおすすめです。
4.まとめ
この記事では、アジャイル開発についての流れ・手法などを解説しました。アジャイル開発工程を理解し、特性を活かしてシステム開発をおこなうことが重要です。また、実際にアジャイル開発を進める上では、チームのメンバーがアジャイル開発の理念や行動原理を理解し、共有している必要があります。
システムの規模や特徴に合わせて、アジャイル開発を取り入れ、効率的にソフトウェア開発を進めましょう。
ヨパーズはこのモデルの開発にも多く経験が持っているため、開発したいプロジェクトがアジャイルモデルに適しているかどうかまだ悩んでいる方はご相談ください。