テクノロジー・リーダーシップ
企業向けアプリケーション開発プロジェクトにおけるアジャイルの適用について
2017年5月23日
カテゴリー テクノロジー・リーダーシップ
記事をシェアする:
著者:倉島 菜つ美
技術理事 グローバル・ビジネス・サービス(GBS)モバイル事業部CTO
IBMアカデミー会員、IBM 社内女性技術者コミュニティーCOSMOS サブリーダー
みなさん、こんにちは。日本IBM グローバル・ビジネス・サービス事業でモバイルを担当しています、倉島 菜つ美と申します。モバイル・デバイス、すなわちスマホやタブレットは、もはや私達の日々の生活になくてはならないツールとなりました。企業では、個人での活用に比べるとやや緩やかに、それでも様々な業務分野で、モバイル・デバイスを活用した業務効率化の試みが浸透しつつあります。
私は、IBMのお客様である企業が、モバイルを活用した業務改革を推進するお手伝いをしています。さて、今日は、モバイル・アプリケーション開発において標準となりつつある「アジャイルソフトウェア開発」について、ご紹介したいと思います。
アジャイルとは
まずは「アジャイル」とは何かをざっとおさらいしましょう。
アジャイルといえば、まず思い浮かべるのは、有名なアジャイルソフトウェア開発宣言でしょう。これは2001年に、ソフトウェア開発手法の分野の著名人17名によってまとめられました。
さらに、アジャイル宣言の背後にある13の原則が、これに続きます。
実は、アジャイルの本質は、これらの宣言およびその背後にある原則そのものであり、それが全てといっても過言ではありません。世の中には、XP、スクラムなどのアジャイル開発手法がありますが、そのいずれにも共通しているのがこの宣言と原則です。言い方を変えると、この宣言と原則に基づくソフトウェア開発であればそれはアジャイルソフトウェア開発であるといえます。
ウォーターフォールとアジャイル
ウォーターフォールとアジャイルはしばしば二つの異なる開発アプローチとして比較されます。その構図は間違っているとはいえませんが、必ずしも正しくはありません。なぜなら、アジャイルかどうかは、先の宣言および原則に則っているかどうかで判断されるべきだからです。つまり、ウォーターフォール型の開発であっても、先の宣言および原則に則って開発することは可能ですし、そうであれば、アジャイル開発でもあるのです。
とはいえ、アジャイル宣言に書かれた思想は、ウォーターフォール型の開発で実行することはなかなか難しいことも事実です。ウォーターフォール型の開発は、まず計画を立て、それを遵守しつつ進める計画重視のアプローチですから、「計画に従う」ことよりも「変化への対応」を重視することは、極めて難しいと言わざるを得ません。わたしも初めてアジャイルの研修を受けた際に、まず計画ありきのウォーターフォール型アプローチが、いかに自分の中に深く浸透しているかを自覚し、非常に驚きました。
アジャイルの考え方
アジャイル開発を本気で実行しようとするならば、最初にしなくてはならないことは、「計画」に対する考え方を改めることです。アジャイル開発においても、計画をたてずにやみくもに開発することはありません。しかしアジャイル開発において重要なことは、「計画を遵守すること」ではなく、「顧客に価値を届けること」です。
機能の仕様を変更することで当初予定していた計画の見直しを余儀なくされても、結果としてより高い価値が提供できるのであれば、その変更を是とするのがアジャイルの考え方です。しかしその判断を可能とするためには、変更前と後でもたらされる価値の違いを正しく評価できなくてはなりません。そのために「ビジネス側の人々と開発者は、プロジェクトを通じて日々一緒に働かなくてはならない」のです。
企業向けアプリ開発プロジェクトへのアジャイル適用
過去には、アジャイルソフトウェア開発は小規模の開発に向いており、大規模の開発にはあまり向かない、従って、企業の業務アプリケーション・システム開発プロジェクトでアジャイルを適用することは難しい、というようなことも言われてきました。一方で、企業のシステム開発こそ、短時間でかわる市場の動向に追随あるいは先んじるには、アジャイルのアプローチが不可欠ということも言えます。実際問題、企業のアプリケーション開発の現場で、アジャイルの適用は可能なのでしょうか。
結論から言うと、私は企業の業務アプリケーション・システム開発プロジェクトへのアジャイルの適用は可能だと考えています。しかし、どのようなプロジェクトにも適用できるかというとそうではないでしょう。エンドユーザーが直接利用するシステムは、ユーザーからのフィードバックが得やすく、先に述べた「変更によってもたらされる価値の評価」がしやすいため、アジャイルは比較的適用しやすいケースが多いでしょう。
しかしアジャイルの適用にあたっての考慮事項はそれだけはありません。プロジェクトに関わる全員が、アジャイル宣言と原則に代表されるアジャイルの考え方を正しく理解し、自律的にアジャイルを実践できることが絶対条件です。
また、アジャイルの原則に「意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します」「技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます」とあるように、アジャイルでは、プロジェクト・メンバーの一人一人が高い技術力を持って自律的に開発に取り組むことを前提としています。こうしたことから、大勢のプロジェクト・メンバーを抱える大規模なプロジェクトにアジャイルを一気に適用することは、ハードルが高いと考えたほうがよいでしょう。
そう考えると、エンドユーザーが直接利用するシステムで、エンドユーザーを含めた一つの開発チームが担当する範囲を対象に始める、というあたりが一つの現実的なアプローチではないでしょうか。
まとめ
ウォーターフォール型の開発では、どんなにうまくいっても「計画どおり」以上の結果を得られることはまずありません。実際には、想定外の課題や不測の事態の発生により、計画どおりの結果を得られないことも多いでしょう。
しかしアジャイル開発においては、価値を重視し適切に判断することにより、当初計画を上回る価値を得ることができる余地があるという点が、アジャイルそのものの最大の価値の一つだと考えます。もちろん、そのために越えるべきハードルは諸々ありますが、昨今では、アジャイルに必要不可欠なコラボレーションを支える様々ツールも出てきていますし、企業向けアプリ開発でアジャイルを活用するための環境は整いつつあるでしょう。
参考情報
IBM内で活用されているアジャイル開発手法である「GBS Agile Method」も、Scrumから多くの用語や要素を取り込んでいます。
女性技術者がしなやかに活躍できる社会を目指して 〜IBMフェロー浅川智恵子さんインタビュー
ジェンダー・インクルージョン施策と日本の現状 2022年(令和4年)4⽉から改正⼥性活躍推進法が全⾯施⾏され、一般事業主⾏動計画の策定や情報公表の義務が、常時雇用する労働者数が301人以上の事業主から101人以上の事業主 […]
Qiskit Runtimeで動的回路を最大限に活用する
私たちは、有用な量子コンピューティングのための重要なマイルストーンを達成しました: IBM Quantum System One上で動的回路を実行できるようになったのです。 動的回路は、近い将来、量子優位性を実現するため […]
Qiskit Runtimeの新機能を解説 — お客様は実際にどのように使用しているか
量子コンピューターが価値を提供するとはどういうことでしょうか? 私たちは、価値を3つの要素から成る方程式であると考えます。つまりシステムは、「パフォーマンス」、「機能」を備えていること、「摩擦が無く」ビジネス・ワークフロ […]