- 業務プロセス
2024.04.03
更新日:
2022.08.09
全2回 ちゃんと理解していますか?「アジャイル開発」を基礎から解説 《連載:第1回》 要注意!アジャイル開発導入前に知っておきたい“よくある勘違い”
「アジャイル開発が有効的」といわれてしばらく経ちます。活用するか否かにかかわらず、今やIT部門の必須知識と言っても過言ではないでしょう。今回はアジャイル開発に興味を持っている方や活用を検討されている方に向けて、その内容や目的、進め方について、2回にわたって解説していきます。
アジャイル開発とは何か
しばしばアジャイル開発と対比して語られるのが、ウォーターフォール型開発と呼ばれる手法。事前に全体の工程の計画を策定し、企画(要件定義)、設計、開発、テストの順で進め、最後にリリースするというお馴染みの手法です。対してアジャイル型開発は、機能ごとに工程の各段階で企画からテスト、レビュー(評価)までのサイクルを反復しながら、次第に全体を完成させていくプロセスとなります。
それぞれの大まかな進め方をまとめたのが下の図です。
アジャイル開発はもともとソフトウェア開発の領域で知られていましたが、DX(デジタルトランスフォーメーション)の普及とともに、モバイルアプリなどを含むデジタルサービスを開発・改善するための手法としても脚光を浴びています。海外に比べるとまだまだとはいえ、日本でも官民を問わず導入の動きは広がりをみせており、全社的な研修をスタートさせている企業も増えているようです。
アジャイル開発のメリットとして、経済産業省のYouTube動画『第12回_デジタルサービス実現 応用編③アジャイル開発』では以下の3点が挙げられています。
- 動くシステムをこまめにユーザーと確認するので無駄・出戻りが少ない
- 優先度高い機能から実装するので早い段階で動くシステムを確認できる
- 段階的に開発するのでビジネスニーズに合わせて要件を変更できる
現在このような開発手法が求められている背景には、ニーズの多様化や製品のライフサイクルの短期化が進む中で、スピーディーにサービスを提供するだけではなく、柔軟かつ継続的にブラッシュアップしていく必要性が高まっている状況があると言えるでしょう。つまり、アジャイル開発は、不安定で先行き不透明な時代において、プロダクトのビジネス価値を最大化するために最適な開発手法なのです。
では、アジャイル開発は具体的にどのように進めていけばよいのでしょうか? ……と、その前に、もう少しアジャイル開発の内容について知っておくべき事柄がいくつかあります。なぜなら、他のITトレンドと同様に、アジャイル開発に関しても誤解や勘違いが蔓延しているからです。
「ドキュメントは不要」は本当か?
アジャイル開発に関する誤解として特に多いのは、「ドキュメントは不要」「計画を立てない」といったあたりです。そうした認識を生む原因となったと言われているのが、アジャイル開発が知られるきっかけとなった『アジャイルソフトウェア開発宣言』。2001年にアメリカでソフトウェア開発の専門家によって発表された、アジャイル開発の原則や価値観が記された文書です。
そして、その冒頭に書かれているのが、「プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、価値とする」という有名な宣言文。アジャイル開発に必須のマインドセットを端的に伝える見事な文章ではありますが、プロセスやドキュメント、計画などを軽視しているようにも読めてしまい、先述のような勘違いを生む原因となったとされているのです。
とはいえ丁寧に読めば、あくまで〈プロセスやツール、ドキュメント、契約、計画〉よりも〈個人との対話、動くソフトウェア、顧客との協調、変化への対応〉に価値を置くと言っているのであって、前者がまったく不要などと一切書かれていないことは明らかです。
実際の開発現場でも必要最低限のドキュメントは作成しますし、事前に立てた計画やTo Doリストに従って作業を進めていきます。ウォーターフォール型開発とは求められる内容は異なるものの、いわゆる上流工程が重要であることはアジャイル開発でも同じです。間違っても「要件はしっかり決まっていないけれどアジャイルだから問題ない」といったいい加減な進め方では上手くいく訳がありません。
ついでに言っておくと、アジャイル開発の〈アジャイル:agile〉という言葉には〈素早い〉〈敏捷な〉という意味があり、そこから「アジャイル開発はウォーターフォール開発よりも早くプロダクトを完成(稼働)できる」といった誤解も一部で広まっているようですが、これも必ずしも正しいとは言えません。アジャイル開発の〈早さ〉は仮説検証サイクルを回す〈早さ〉。一部でも動く状態で〈早く〉ユーザーに試してもらい、その評価を〈早く〉反映して完成に近づけるアプローチを指します。
では次回の記事で、そのようなアジャイル開発の具体的な進め方を解説します。