プロジェクト管理の基礎からアジャイル開発の理想と現実、成功例と失敗例、を紹介し、ベストプラクティスを提案する連載。今回は、そもそも開発手法とは、アジャイルとは何か、他の開発手法との違い、アジャイル開発に向いているプロジェクト、スクラム/リーンについて解説する。
本連載では、「アジャイル時代のプロジェクトマネジメント」というテーマで、プロジェクトマネジメント/プロジェクト管理の基礎から、アジャイル開発の理想と現実、成功例と失敗例、そして最後にベストプラクティスの提案を数回にわたって進めていきます。Cuonの岡村と申します。よろしくお願いします。
主に、システム開発/Webサービス開発のプロジェクトに関わるエンジニアの参考になればうれしいです。前回の「プロマネ初心者に送るプロジェクト管理の基礎知識まとめ」では、そもそもプロジェクトとは、プロジェクト管理とは何かについて解説し、プロジェクト推進における4+1のフェーズを紹介しました。
今回は、弊社の開発現場でも導入し始めている開発手法「アジャイル」についてお話しします。
今回お話しするアジャイルをはじめ、さまざまな開発手法が存在しますが、全ての開発手法で共通していえることは、「開発手法」とはプロジェクトの進め方を定義したものであり、プロジェクトを成功させるプロセスであるということです。
詳細については、次回お話ししますが、それぞれの開発手法には長所・短所、向き・不向きが存在するため、必ずしも1つのプロジェクトを1つの開発手法のみで行う必要はありません。
異なる開発手法を融合し、プロジェクトに適合した開発手法でプロジェクトを進めることも大切なマネジメントです。
アジャイル(agile)を訳すと「機敏な」「素早い」をいう意味です。アジャイルでは「イテレーション」と呼ばれる期間ごとにクライアントにアプリケーションを提供しますが、このイテレーションの期間が一般的に2週間程度と従来の開発手法と比較し短く、文字通り「素早い」開発手法となっています。
用語 | 意味 |
---|---|
イテレーション | プロジェクトの開発サイクル |
マスターストーリーリスト | プロジェクトの全ストーリーの一覧 |
ユーザーストーリー | マスターストーリーリスト内の個別のストーリー |
ベロシティ | イテレーションで実施可能なユーザーストーリーの量 |
まずプロジェクトの「マスターストーリーリスト」を作成します。リスト内のストーリーは「ユーザーストーリー」と呼ばれます。
「どの程度のユーザーストーリーがこなせるのか?」「優先すべきはどのユーザーストーリーなのか?」などを加味し、各イテレーションで開発対象となるストーリーを選定します。
イテレーション終了時にはイテレーション開始前に判断した「ベロシティ」は正確だったか、などを振り返り、以降のイテレーションに組み込んでいきます。このように短い期間で開発を見直すことで、リスクを抑えていくことができるのもアジャイル開発における特徴の一つです。
※参照
少し今回の本題からは脱線しますが、アジャイル以外の開発手法について、代表的ないくつかを記載します。
プロジェクトが上流工程から下流工程に進んでいく様子が、まるで滝が流れていくようなイメージのため、この名称が付けられました。滝が逆流できないように、仕様変更に弱くあらかじめ仕様が固まった状態での開発に向いています。
また順序立てて物事が進むので、コミュニケーションコストが低く大規模開発に向いています。
アプリケーションの試作、評価を繰り返すことで開発を進めていく手法です。
試作したアプリケーションを修正していく手法と試作したアプリケーションを捨てて新しく作り直す手法が存在します。
仕様が全く決まっていないプロジェクトなどで、早い段階でクライアント評価ができる点が特徴です。
Web開発で動作するhtmlを先に見せるモックアップなどもある種のプロトタイプといえるかもしれません。
各機能の実装を短期間で繰り返し、アプリケーションを完成に近づけていく手法です。
アジャイルと混同されることも多いスパイラルですが、アジャイルが期間内で品質を保証した機能を提供するのに対し、スパイラルでは期間内で作り上げた機能の品質を次の期間で向上させていく手法となります。
またプロトタイプと組み合わせて利用されることが特徴の一つです。
開発手法 | メリット | デメリット |
---|---|---|
ウォータフォール | 大規模開発に向いていて、SIのデファクトスタンダードのため、慣れているクライアントが多い | 前工程に戻る前提がないため、仕様変更に弱い |
プロトタイプ | 早い段階でクライアントからフィードバックを受けられるため、要件漏れを防ぎやすく、仕様の精度が上がりやすい | 評価できるアウトプットが必要なため、コストがかさむ可能性が大きい |
スパイラル | 大規模開発に向いている。ちなみにプロトタイプと併用して進むことが多い | 開発の初期段階でシステムの全体像が見えにくいため、結果的にスケジュール、コストがかさむ可能性が大きい |
Copyright © ITmedia, Inc. All Rights Reserved.