あなたは、アジャイル開発という単語は聞いたことがあるが、具体的にどういう意味なのか、詳しく知りたいと考えているところではないでしょうか?
そんなアジャイル開発について、実際にアジャイル開発に取り組んでいる弊社がこれまでのアジャイル開発の経験を通して、具体的にアジャイル開発について解説いたします。
本記事を読んでいただき、アジャイル開発の理解に少しでもお役に立てたら幸甚です。
目次
1. アジャイル開発とは?
1章ではアジャイル開発について、分かりやすく解説いたします。
1-1. アジャイル開発は、開発工程を小さいサイクルで繰り返すこと
アジャイル開発とは、システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を機能単位で回すことを呼びます。
システム開発は様々な機能の集合体からなっています。その様々な機能を機能単位に分解して開発を進めていくことです。
例えば、1つのシステムが機能A、機能B、機能C、機能Dの集合体から成るとした場合、以下のようなサイクルで開発を進めることになります。
1-2. ウォーターフォール開発との違い
一方で、良く比較されるのがウォーターフォール開発です。ウォーターフォール開発とは、「企画」→「設計」→「実装」→「テスト」をシステム単位で行うことです。
前述の例同様に、システムが機能A、機能B、機能C、機能Dの集合体から成る場合、以下のような手順で開発を進めることになります。
その他の要素についても比較してみましょう。
開発手法 | 費用 | 納期 | 品質 | 仕様変更 |
アジャイル開発 | ▲ | ▲ | ▲ | 〇 |
ウォーターフォール開発 | ▲ | 〇 | 〇 | × |
<費用>
アジャイル開発は、明確な仕様を決めずにスタートするので、繰り返し繰り返しでコストが嵩む可能性があります。
ウォーターフォール開発は、エラー無く終われば予定通りの予算で完結できますが、エラーが発生したときにその原因の特定に時間が掛かります。そこで発生する人件費に注意しましょう。
<納期>
アジャイル開発は、全体のスケジュール管理が難しいです。機能別のスケジュール管理はそう難しくありませんが、全体で見たときに気づいたら遅れていた…ということもあり得ます。
<品質>
ウォーターフォール開発は予め仕様がある程度固まっているので、一定水準の品質(仕様で定められた水準)は保てるはずです。一方で、アジャイル開発は仕様がガチガチに固定されているわけではないので、品質にある程度バラツキが生じがちです。
<仕様変更>
仕様変更できるのが、アジャイル開発の何よりもメリットです。ウォーターフォール開発だと、途中で仕様変更となると最悪な場合、振り出しに戻ります。アジャイル開発だと、少し手前に戻れば対応が可能になります。
2. アジャイル開発のメリットとデメリット
開発手法については理解できましたでしょうか?続いて、アジャイル開発を採用することのメリットとデメリットを紹介したいと思います。
2-1. アジャイル開発のメリット
臨機応変に仕様変更等の対応がしやすく、開発スピードが高いところにあります。また、何かエラーが発生した際に特定がしやすい特徴もあります。ウォーターフォールだと、エラーの原因を探るのに時間も掛かり、コストも掛かります。
2-2. アジャイル開発のデメリット
プロジェクト全体のスケジュールを把握するのが難しいところにあります。機能単位でスケジュールをコントロールすることは難しくありませんが、それが全体で俯瞰的に見たときに気づいたら予定より遅れていた…ということがありえます。また、遅れを巻き返すために場当たり的な開発になり、負のスパイラルに落ちかねます。
3. アジャイル開発の適正があるシステム開発
メリット・デメリットまでイメージできましたでしょうか。3章では実際にどんなシステム開発でアジャイル開発を採用すると良いのか紹介していきたいと思います。
3-1. 段階的にリリースをする
段階的に機能を追加してリリースする場合はアジャイル開発が向いています。ウォーターフォール開発だと、機能を追加するためには最悪な場合、振り出しから直していかないといけない場合があります。
3-2. 仕様変更等の変化に対応する
リリースした後にユーザーから様々なフィードバック、改善要望が挙げられることがあります。そのような要望に対応するためにもアジャイル開発は向いています。リリース前でも、「やっぱりここを変更しよう」等の対応もしやすいです。
3-3. 発注者も一緒になって開発を進める
機能単位での開発になるので、発注者側にも機能ごとに確認していただく必要があります。一緒にシステムを作り上げていく一体感が生まれるでしょう。ただし、ここを発注者が怠るとどんどん開発が遅れてしまいます。
4. アジャイル開発を進めるために必要なこと
4章では、実際にアジャイル開発をするためにどんな要素が必要なのか解説したいと思います。自社でやるのは、なかなかしんどいと感じたときは外注を検討しても良いかもしれません。
4-1. 開発の優先順位を決める
機能A~機能Dまでをアジャイル開発するとしたときに、その4つの機能のうちどこから着手するか優先順位をまずは決めます。注意点は、クライアントが求める機能、要求を加味して考える必要がある点です。また、クライアント(ITに詳しくない人)でも分かる表現をするようにしましょう。
4-2. 開発サイクルを計画する
アジャイル開発のサイクルを回す単位のことを「スプリント」と呼びます。このスプリントを計画しましょう。
4-1で決めた優先順位に対して、直近で着手すべきスプリントで取り扱う項目を抜き出します。その項目をどのエンジニアに依頼するか、「チケット」を発行します。エンジニアは発行された「チケット」をもとに開発作業を進めていくことになります。スプリントも様々な項目(設計、実装、テスト等…)に分解することができます。
4-3. 全体スケジュールを作成する
プロダクト全体のスケジュールを作成するようにしましょう。リリースする時期を決め、そこから逆算して組むとより現実的なスケジュールが見えてくると思います。全体のスケジュールがないと、開発がなあなあになりがちです。また、アジャイル開発は機能単位でのスケジュールに気を取られがちですが、全体スケジュールが崩れては元も子もないので、気を付けましょう。
4-4. チームを編成する
「設計~テスト」までそれぞれ対応できるエンジニアを揃える必要があります。自社エンジニア、自社だけでは賄えないときはパートナー企業のエンジニアにも協力を仰ぐケースもあります。また、アジャイル開発そのものを丸っと外注することや、機能Bだけを外注する等のやり方も有ります。
5. アジャイル開発が得意な会社5選
4章ではアジャイル開発を進めるにあたり必要な要素を紹介してきました。自社では対応が難しいと感じたら、アジャイル開発が得意な会社に依頼したほうが良いかもしれません。そこで、アジャイル開発が得意な会社を紹介したいと思います。
※情報は、2024年6月時点
5-1. 株式会社インタラクティブ・コミュニケーション・デザイン(ICD)
私たちICDで持っているベトナムのラボではアジャイル開発を得意としております。オフショアを活用した開発になるので、費用を抑えられるのは当然のことながら、体制作りも国内よりも迅速にできる特徴があります。
弊社で取り入れている具体的なアジャイル開発の方法は、以下の記事を参照ください。
会社名 | 株式会社インタラクティブ・コミュニケーション・デザイン |
設立 | 2000年11月 |
従業員数 | 200名(国内+ベトナム) |
本社所在地(国内) | 東京都港区赤坂1丁目12番32号 アークヒルズ アーク森ビル 17階 |
業務領域 |
|
URL |
5-2. 明電システムソリューション株式会社
アジャイル開発を用いて、業務にフィットした費用対効果の高いシステムのスクラッチ開発が可能。また柔軟なアーキテクチャーを採用し、基幹システムそのものをPDCAサイクルで継続的に改善することを実現しています。
会社名 | 明電システムソリューション株式会社 |
設立 | 1987年7月 |
従業員数 | 457人 |
本社所在地(国内) | 東京都品川区大崎2-8-1 |
業務領域 |
|
URL |
5-3. 株式会社アクティブフュージョンズ
Webシステム開発では、早い段階からお客様とシステムの動きを確認し、それを元に変更や修正を行うアジャイル開発を採用。最短2週間で一部の機能を実装したモックアップモデルを見せることも可能であり、イメージとの齟齬を極力なくすことをモットーとしています。
会社名 | 株式会社アクティブフュージョンズ |
設立 | 2001年10月 |
従業員数 | 34人 |
本社所在地(国内) | 東京都港区港南2-16-1 品川イーストワンタワー7F |
業務領域 |
|
URL |
5-4. 株式会社Border Z
システム開発手法はアジャイル開発を採用。なかでも、スプリント計画と呼ばれる開発のどのタスクをどのような手段で達成するかをしっかりと決めるスタイルを取っています。そのタスクを1週間という短期間で達成させることを何度も繰り返しながら開発を進めています。
会社名 | 株式会社Border Z |
設立 | 2020年12月 |
従業員数 | 18人 |
本社所在地(国内) | 東京都品川区西品川1-1-1 大崎ガーデンタワー9F |
業務領域 |
|
URL |
5-5. 株式会社アジャイルウェア
アジャイル開発を1クールにつき3ヶ月以内の短期請負で請け負っている点が特徴。実際の利用者からのフィードバックをもとに機能の追加や仕様変更などを依頼でき、段階的にシステムの完成を目指せます。
会社名 | 株式会社アジャイルウェア |
設立 | 2012年6月 |
従業員数 | 60名 |
本社所在地 (国内) | 札幌市中央区北3条西18丁目2-10 MMAビル |
業務領域 |
|
URL |
6. まとめ
アジャイル開発の概要から、実際にアジャイル開発を取り組むために必要なことを紹介してきました。アジャイル開発は、内容によってはチームビルディングに時間が掛かる開発手法となっています。なかなか人が集まらないケースも多いですが、その際は丸っと外注することも検討しても良いのではないでしょうか?
弊社ではそんな人手不足を解決するためにオフショア開発に力を入れています。アジャイル開発×オフショア開発について、詳しく知りたい方はどんな些細なことでもお問い合わせください。いつでもご連絡お待ちしております。