第1回 アジャイル開発にまつわる誤解

IT・IT製品TOP > Key Conductors > 安西 剛(ビッグローブ株式会社) > 第1回 アジャイル開発にまつわる誤解
この記事をtweetする このエントリーをはてなブックマークに追加

IT現場の道先案内人 Key Conductors

第1回 アジャイル開発にまつわる誤解

開発 2013/08/26

 NECビッグローブでは、2010年ごろからアジャイル開発を導入し、スマートフォン向けのアプリ、インターネット接続サービスの運用基盤、業務管理システムなど様々なシステムを開発してきました。現在は50名以上が10〜20のプロジェクトに分かれて開発をしています。アジャイル開発を導入したことにより、開発期間の短縮や、市場の変化へのフレキシブルな対応が可能になりましたが、導入当初は、“アジャイル開発に対する誤解によりプロジェクトが進まない“、”アジャイルプラクティスをやるだけで本質的な開発の課題が解決しない“などの様々な問題がありました。NECビッグローブでは、そうした開発現場での経験をもとに、アジャイル開発の考え方や導入のポイントなどを研修プログラム「実践者が教えるアジャイル開発の基礎」としても提供しています。今回の連載では、アジャイル開発を成功させるためのポイントや成功事例などをご紹介していきたいと思います。

アジャイル開発は「早い」「安い」「美味い」?

 みなさんは「アジャイル開発」に対してどのようなイメージをお持ちでしょうか?  

・アジャイルでやると開発途中で仕様変更していいんでしょ?
・アジャイルでやると同じ物をウォータフォールで作るより早く作れるんだよね?
・アジャイルでやると安く作れるんだよね?

 このようなことを思い浮かべた方も多いのではないでしょうか。これらが本当だとすると、アジャイル開発はなんでも実現してしまう夢のような開発手法ですが、これは事実ではありません。残念ながら、このようなイメージを持たれた方がアジャイル(のような)開発を行った結果、上手くいかず、アジャイルという言葉自体に良くないイメージを持ってしまうことも多くあるようです。では、アジャイル開発とは何なのでしょうか。

アジャイル開発とは「姿勢」である

 “アジャイルソフトウェア開発宣言”というものがあります。これは、世界的に名声のある17名のエンジニアが、2001年にアジャイル開発の原則を定義した文章です。

・アジャイルソフトウェア開発宣言    http://agilemanifesto.org/iso/ja/
・アジャイルソフトウェアの12の原則  http://agilemanifesto.org/iso/ja/principles.html

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 これは何を示しているのでしょうか。多くの解釈があると思いますが、あえて一言で申し上げますと「価値を創出することに集中しよう」ということだと思います。もちろん、プロセスや手法が大切な部分はありますが、目的は「価値あるソフトウェアを提供する」ことであり、そのために「顧客も含めたプロジェクトの全メンバーが同じ目的に向け協調する」ということです。

 アジャイルは「迅速な」というような意味の形容詞です。つまり「アジャイルを行う」というのは文法的に間違いであり、「アジャイルな開発」という言い方が正しいのです。つまりアジャイルというのは「姿勢」であり、アジャイルプラクティス(やり方)で規定されたやり方だけを行なっていれば、最善の開発が行えるわけではありません。

 つまり、アジャイル開発をやるだけで必ず成功する夢のような開発が行えるわけではなく、アジャイルプラクティスの助けをかり、カイゼンを繰り返しながら、価値を創出できる「アジャイルな姿勢のチームを作る」ということが重要なのです。

 よくアジャイル開発は“ウォータフォール開発”と比較されるのですが、どちらがどちらより優れているという話ではなく、そもそも目的が違います。目的をチームで共有できれば、ウォータフォールプロジェクトの一部にアジャイルを取り入れ、効果を得ることも可能です。ウォータフォールのやり方をしながらも、チームやメンバーがアジャイルな姿勢で開発していければ良いのです。      

なぜ、今、アジャイル開発なのか?

 では、なぜ今、アジャイル開発が注目を浴びているのでしょうか。大きく分けて3つの理由があるのではないかと考えています。

■ソフトウェアが複雑化している

 ハードの性能向上やネットワークの高速化に伴い、ソフトウェアも巨大になり、複雑化しています。その結果、全てを見通し、正確に開発計画を立てるのが難しくなり、“作って動かしてみないと本質的な課題が見えない”、“想定よりソフトウェアはが大きくなる”といったことが課題になっています。システム全体を作ってから改修となると、時間的にも費用的にも大きなロスとなるため、小さく作りながら課題を解決していく必要が出てきます。

■「何を作ったらよいか」というゴールが明確に決まらない

 従来のソフトウェア開発では、「要件定義通りしっかり作る」ことが重視されていました。しかし、ソフトウェアでできることが増え、複雑化したことによって、「どのようなシステムをつくるのか」という答えが、システム企画の段階では決めきれないことが増えているのです。また、予算にも限りがあるため、作った機能が無駄だったといったことも許されません。そのため、ユーザのニーズに合った価値の高いシステムを開発するためには、ユーザからのフィードバックを反映させながら少しずつ開発を進める、といった方法が求められるようになりました。

■世の中の変化に対応するスピードが求められている

 システムを開発している間にも、企業を取り巻く環境は変化しており、そのスピードがどんどん加速しています。こうした変化に適応していくためには、スピーディーに繰り返しリリースを行い、ユーザからのフィードバックを反映した機能を追加していく必要があります。

 こうした状況の変化から、これまでのやり方だけでは対応が難しくなり、変化に適応できるアジャイル開発が求められるようになったのです。このような考え方は、新規事業やスマートフォンアプリなど、小さな案件に限定したものだと感じる方もいらっしゃるかもしれませんが、実はそんなことはありません。考え方を理解し、チームでしっかりと目的を共有できれば、さまざまなシステム開発に取り入れ、そのメリットを享受することが可能です。
 次回は、「アジャイル開発の重要な要素のひとつである“カイゼン”」を解説していきたいと思います。

会員限定で「読者からのコメント」が読み書きできます! 「読者からのコメント」は会員限定の機能。会員登録を行い、ログインすると読者からのコメントが読み書きできるようになります。

会員登録(無料)・ログイン

Myリストへ 印刷用ページへ

この記事をtweetする このエントリーをはてなブックマークに追加


この寄稿記事に掲載している情報は、掲載日時点での情報となります。内容は変更となる場合がございますのでご了承下さい。また、「Key Conductors」の寄稿記事及び当該記事に寄せられたコメントについては、執筆者及びコメント投稿者の責任のもと掲載されているものであり、当社が、内容の最新性、真実性、合法性、安全性、適切性、有用性等を保証するものではありません。


30006520


IT・IT製品TOP > Key Conductors > 安西 剛(ビッグローブ株式会社) > 第1回 アジャイル開発にまつわる誤解

このページの先頭へ

キーマンズネットとは
基幹業務システムの開発を経て、2011年よりNECビッグローブでアジャイルな開発を行なっている。チームの立ちあげ、スクラムマスター、アジャイルコーチなどのチーム作りから、チームメンバーとしてコーディングも行なっている。最近のマイブームは「ドメイン駆動設計」。

ページトップへ