本連載では、「NoSQLデータベースの今」を正しく理解し、ビジネス躍進の実現に向けた対策としての「ベストプラクティス」を掲示していきます。今回は、NoSQLがアジャイル開発に適している理由を取り上げます。
今回はアジャイル開発について、またNoSQLがこの開発手法に適している理由を取り上げます。なぜこれが重要なのでしょうか。またNoSQLにどのような関係があるというのでしょうか。
最初にアジャイルの原則を確認しておきましょう。この、「アジャイルソフトウェア開発宣言」の「アジャイル宣言の背後にある原則」で見ることができます。
現在NoSQLデータベースへの注目が急激に高まっている1つの理由として、データやアプリケーションの要件変更に柔軟に対応できるということがあります。NoSQLとアジャイル手法は相性が良いです。というのも、これらはどちらも変化・変更を嫌がらずに受け入れることができるからです。
読者の方々の多くは、ウォーターフォール手法に馴染みがあると思うので、ここではそれとアジャイル手法を比較していきたいと思います。ウォーターフォールでは、順番にステップを実行して、プロジェクトのスコープ全体を1つの流れとして管理します。アジャイル手法では、プロセス全体内のステップを反復して開発していきます。スコープ内の各部分に注力し、プロジェクト全体が終了するまでこれを繰り返していきます。
ウォーターフォールは、「要件が事前に明確に固まっており、期間中に変更される可能性が低い」プロジェクトに適しています。このプロセスは以下の図のようになっており、プロジェクトの途中で中断されることはありません。
一方、アジャイルは反復的なプロセスで、これによりアプリケーションのデリバリーが容易になり、より頻繁に提供できるようになります。アジャイルの場合、開発チームは通常2〜4週間という短期間の「スプリント」(サイクル)で作業をしていきます。各スプリントには「プランニング」「要件分析」「設計」「構築」「検証」「評価」というフェーズがあり、これらのフェーズがスプリントごとに繰り返されます。
この手法に関する書籍はいろいろ出ているので、詳細な説明はそちらに任せますが、「真のアジャイルを実現するには、各スプリントにおいて想定される頻繁な変更やその後の検証・評価サイクルに対処しなければならないので、データ管理自体もアジャイルである必要がある」ということは理解しておいてください。
今日のビジネス環境においては、入力データやアプリケーション要件への変更に対応しなければならないプロジェクトが増えています。これによりアジャイル手法への関心が高まり、その採用が増えているのです。ニーズとしては以下のような例があります。
この連載では以前にも、NoSQLのデータモデルはより柔軟だということを説明しました。データソースの新規追加や既存のデータソースへの変更の際にもデータベースを止めずに開発を継続できます。またデータは「そのまま」(アズイズで)ロードでき、その後必要に応じてデータベース内で変換できます。これにより各スプリント内の要件に素早く対応できます。企業の中には、既にエンタープライズNoSQLを使うことでアジャイル手法のメリットを享受しているところもあり、その成果として市場投入時間やソリューション開発時間の短縮が実現されています。
マークロジック株式会社日本法人代表。ソフトウェア開発ならびにwebテクノロジーに関して25年以上の経験を持ち、さまざまなエンジニアリング、コンサルティング、管理職などの要職を歴任。前職はSilicon Graphics、E*TRADE Financial、Blue Martini Software(日本法人代表取締役)など。カーネギーメロン大学卒(コンピュータサイエンス専攻)
Copyright © ITmedia, Inc. All Rights Reserved.