見出し画像

開発内製化のポイント「アジャイル開発」について、IPAのDX実践手引書の内容をまとめてみた

アジャイル開発について整理しよう

ITの急速な進展に伴い、企業や組織はシステム開発のコントロールと品質保持のために「開発内製化」へのシフトを強めています。この内製化の動きにおいて、迅速に市場やユーザーの変化に対応し、継続的に価値を提供する「アジャイル開発」が中心的な役割を担っています。アジャイル開発の手法は、変化に柔軟に対応しながら、ステークホルダーとのコミュニケーションを密に保つことで、高品質なソフトウェアを効率的に生み出すことを目的としています。

こうした背景のなかで、情報処理推進機構(IPA)は「DX実践手引書」を公開。この資料には、DXの成功に向けた手法やヒントが詳細に掲載されており、特に「アジャイル開発」に関する部分では、その導入や実践の際の重要ポイントが詳細に解説されています。この手引書は、アジャイル開発を実践したい組織にとって、非常に有用なガイドとなることでしょう。

本稿では、「DX実践手引書」の中で「アジャイル開発」に関するセクションを詳しく取り上げ、その要点を整理したいと思います。

アジャイル開発が必要とされる背景(4.2.1)

現代のソフトウェア開発の背景として、従来の「コスト削減」の観点から「新しい価値の創造と競争優位の獲得」へとシフトしていることが挙げられます。この新しい価値の創造は、簡単に直線的に達成できるものではなく、試行錯誤の繰り返しを伴います。しかし、従来の予測型のソフトウェア開発方法は、途中での変更が難しいため、新しい価値の探求には向いていません。

アジャイル開発は、この問題の解決策として提案されています。具体的な成功事例として、中小製造業のA社が挙げられます。A社は製造日報入力をデジタル化するための新しいシステムを開発する際、市販のパッケージが自社の要求に合わないことから、アジャイル開発の手法を取り入れました。これにより、実際の現場の要望に基づく柔軟なシステム開発が可能となり、大きな成功を収めることができました。

アジャイル開発は、必要なものを必要な時に、必要な分だけ開発する「ジャスト・イン・タイム」の原則を取り入れており、実際の価値を発揮するシステムを効率的に開発できるという強みがあります。従来の方法とは異なり、アジャイル開発は現場の声を取り入れ、柔軟に変更しながら最終的なゴールに向かうことができるため、現代の競争の激しいビジネス環境において、非常に有効な開発手法といえます。

ジャストインタイムとは

「ジャストインタイム」(Just-In-Time、JIT)は、もともとトヨタ生産方式(Toyota Production System、TPS)の中で発展した製造手法の一部として知られています。基本的な考え方としては、必要なものを必要な時に、必要な分だけ提供または生産することに重点を置きます。この手法は、無駄を排除し、効率を高めることを目的としています。

アジャイル開発においての「ジャストインタイム」の適用について考えると、以下のような点が挙げられます:

  1. 要件の遅延定義:アジャイル開発では、プロジェクトの初期に全ての要件を詳細に定義するのではなく、開発の進行とともに、その時点で必要な要件だけを定義します。これにより、変更が起こりやすい初期の段階での詳細な要件定義の無駄を避けることができます。

  2. 短い開発サイクル:アジャイル開発では、短いイテレーション(通常、2週間から1ヶ月)での開発サイクルを採用しています。これにより、その時点で最も優先度が高い機能や要件だけを取り組むことができます。

  3. フィードバックの活用:短いイテレーションの終了時には、成果物をステークホルダーや顧客に提示し、フィードバックを受け取ります。これにより、必要な改善点や新たな要件を「ジャストインタイム」で取り入れることができます。

  4. 変更の歓迎:アジャイル開発は変更を歓迎する文化を持っています。このため、新たな要件や変更が生じた場合でも、それを迅速に取り入れ、反映することができます。

要するに、アジャイル開発における「ジャストインタイム」の考え方は、必要な時に必要なものを提供することで、無駄を排除し、効率的かつ柔軟な開発を実現することを目指しています。

アジャイル開発とは何か(4.2.2)

アジャイル開発の概要と歴史

IPAは、アジャイル開発を「ビジネスの価値を最大化するためのアプローチ」としており、顧客にとっての価値あるソフトウェアを迅速かつ継続的に提供する手法です。アジャイルは単なるソフトウェア開発手法ではなく、価値観、原則、新規事業の開発手法、組織や働き方の変革の手段としても利用されています。

しかし、アジャイルの抽象的な性質から、その本質を正しく理解せずに表面的に取り入れて失敗するケースも存在します。

アジャイル開発の歴史
1950年代: トヨタがTPSを導入。NACAが反復型開発を適用。
1960〜70年代: NASAやIBMが反復型開発を採用。
1980年代: 竹内弘高と野中郁次郎の論文が注目される。
1990年代: リーン思考が一般化し、軽量ソフトウェア開発手法が普及。
2000年代: アジャイルソフトウェア開発宣言が公表される。
2010年代: リーン・スタートアップの考え方が広まり、アジャイルの考え方が組織改革や働き方改革にも取り入れられるように。

アジャイル開発とトヨタ生産方式(TPS)の関連性と、その進化への影響

TPSは、トヨタ自動車が開発した生産手法であり、その中核には「知恵と改善」と「人間性尊重」という価値観が存在します。「知恵と改善」は、常に現状に満足せず、より高い付加価値を追求し続けるという考え方を指し、これは製造ラインのアンドンやカイゼン活動など、問題の早期発見とその改善のプロセスに反映されています。一方「人間性尊重」は、すべてのステークホルダーを尊重し、従業員の成長を会社の成果と結びつけるという考え方を意味します。

TPSの重要な特徴は、大量生産方式に対して多品種少量生産を柔軟かつ効率よく行う能力にあります。この革新的な手法は、新しいソフトウェア開発手法を探求していた開発者たちに、価値のある気づきやインスピレーションを提供しました。TPSの核となる価値観や原則は、後にアジャイル開発やスクラムの原則に大きな影響を与えることとなりました。

1986年に、竹内弘高と野中郁次郎は「The New New Product Development Game」という論文を発表しました。この論文では、新製品開発におけるチームの動きをラグビーに例え、ラグビーのようにチーム全体で一緒に開発を進めるアプローチを提案しています。彼らはこのアプローチを「スクラム」と名付けました。この「スクラム」の考え方は、ソフトウェア開発の現場でのスクラム手法の基盤となる考え方となりました。竹内・野中論文の提案は、TPSの「知恵と改善」や「人間性尊重」といった価値観とも合致しており、人とその知識やスキルを重視するアジャイル開発の基本的な考え方へとつながっています。

要するに、TPSの価値観や原則がアジャイル開発やスクラムの原則の形成に影響を与え、新しいソフトウェア開発のアプローチや手法の形成に寄与してきました。

スクラムの概要

スクラムは、複雑な問題を解決するためのフレームワークで、反復的かつ漸進的に取り組むことで、価値を最大化しリスクを制御します。これは、山岳トレイルの旅行を想像することで理解できます。天候が日々変わり易い山の中で、5日間の予定でトレイルを進むと考えてみてください。天気は1日先までしか予測できないため、毎日現在地と天気予報をもとに、翌日のルートを計画します。このプロセスでは以下の3つの要素がキーとなります。

  1. 透明性: 現在地や天気情報を共有します。

  2. 検査: 現状を総合的に評価します。

  3. 適応: 天気が悪化するなどの変化に応じて計画を修正します。

スクラムを効果的に適用するためには、以下の5つの価値基準が不可欠です。

  1. 確約: チームはゴール達成と相互のサポートを約束します。

  2. 集中: スプリント中の作業に集中して、ゴールに向けて進捗を達成します。

  3. 公開: 作業や課題をチームやステークホルダーと共有します。

  4. 尊敬: チームのメンバーは互いに尊重し、他のメンバーからも尊敬されるよう努めます。

  5. 勇気: 正しいことを行う勇気や、困難な問題に直面する勇気を持ちます。

また、トヨタの生産方式である「トヨタウェイ」の中にも似たような価値観や原則があり、2001年には17名のソフトウェア開発者が集まり、「アジャイルソフトウェア開発宣言」を発表しました。この宣言にも、TPSや竹内・野中論文のチームワークを重視する考え方と多くの共通点が見られます。

要するに、スクラムは複雑な問題を解決するためのフレームワークであり、反復的・漸進的アプローチと5つの価値基準を核にしています。これは、TPSやアジャイルの原則とも共通の部分があり、それぞれがソフトウェア開発や組織運営の方法として大きな影響を持っています。

アジャイル開発とリーン・スタートアップの関係

2010年代に、アジャイル開発はソフトウェア業界を超えて、ビジネスの世界全体で注目されるようになりました。この変化の原動力となったのは「リーン・スタートアップ」というアプローチであり、トヨタの生産方式(TPS)に基づく「リーン思考」を起業や新ビジネスへと適用させたものです。

リーン・スタートアップは、顧客の価値を中心に無駄を排除し、検証と学びを繰り返しながら革新的な製品やサービスを生み出す手法として位置付けられています。具体的なアプローチとしては、「価値仮説」と「成長仮説」の設定の後、「構築・計測・学び」という三つのステップを迅速に繰り返すことで、新しい製品やサービスの成功確率を高めています。

このアジャイルの考え方とリーン・スタートアップの手法は、現代の組織や働き方改革にも影響を与えています。デジタル化の進展に伴い、本から電子書籍、物理サーバからクラウドといった変革の中で、アジャイルの原理に基づいた新しい製品やサービスが次々と生まれているのです。さらに、IPAはこれらのアジャイルの原則や概念を「アジャイル開発の家」という形で整理しており、組織文化の土台とともに、人間中心と技術尊重の2つの柱で構築されています。

アジャイル開発により得られる効果(4.2.3)

アジャイル開発と現代社会の不確実性への対応

現代のビジネス環境は非常に変動が激しく、例えばAmazonがサーバ市場で大きな影響を及ぼすなど、予想外の業界からの新参者(ディスラプター)による市場の変革が頻繁に発生しています。このような状況下で、先行きが予測困難となる中、アジャイル開発の手法が非常に重要となってきます。

一般的に人々は具体的な商品やサービスを目の前にしない限り、実際に何を欲しているのかを具体的には把握できません。そのため、新製品やサービスを開発しリリースする際、事前に完璧な計画を立てて進行する従来の方法では、予測外の市場の反応や顧客のニーズに迅速に対応することが難しくなります。

そこで、アジャイル開発のアプローチが効果を発揮します。アジャイル開発では、小規模での開始と迅速なリリースを繰り返し、市場や顧客からのフィードバックをもとに製品やサービスを柔軟に改良していくスタイルを採用しています。この手法により、事業リスクを低減し、成功の可能性を高めることができます。もし初回のリリースでの反応が芳しくなかったとしても、迅速に方針転換や撤退を選択でき、無駄なコストを抑えることができます。さらに、継続的な改善を通じて顧客との関係も深化し、信頼関係を築くことができます。

簡単に言えば、アジャイル開発は現代の不確実なビジネス環境において、柔軟かつ迅速に市場の変化に対応するための重要な手法となっているのです。

アジャイル開発の考慮点(4.2.4)

「アジャイル開発の家」というメタファーをもとに、アジャイル開発の大切な要素や考慮点を紹介しています。以下がその概要となります

  • 土台:アジャイルを推進する組織文化を築くことが基本です。具体的には、企画や開発、運用の一体化やアジャイルマインドの組織内への浸透、適切な調達ルールの整備などが挙げられます。

  • :この「家」を支える主要な2つの柱があります。

    • 人間中心:持続可能な社会や組織、働き方、チームワークの強化や多様性の尊重などがポイントとなります。

    • 技術尊重:プログラミングの思考を養うこと、継続的なデリバリーのためのツールと自動化、理論と実践のバランスなどが大切です。

  • 家の中:アジャイルの具体的な実践として、高速な仮説検証サイクルや実動の検証、継続的な改善、顧客との協力、個人やチームの尊重などが考えられます。

  • 屋根/梁:最終的なゴールとしては、実際に動くソフトウェアの提供やビジネス価値の最大化を目指しています。

文章の後半では、アジャイル開発の難しさに触れています。特に「土台」の部分が大切で、これがしっかりしていないとアジャイル開発はうまくいきません。また、大規模プロジェクトでのアジャイルの適用に関する課題や、それを解決するフレームワーク(LeSS、SAFe、Nexus、Scrum@Scaleなど)についても触れています。

アジャイル開発の先進取組み事例(4.2.5)

アジャイル開発を活用した先進的な事例を4社分紹介しています。

  1. 製造業のA社:

    • ペーパレス化を目指すも、以前のシステムが現場に定着しなかった。

    • アジャイル開発により、スマホでQRコードを撮影してストレスフリーな作業記録システムを開発。

    • パートナーとの連携で自社販売にも進出。

  2. 宿泊業・飲食サービスのB社:

    • 成長しているが、従来のシステム変更が煩雑。

    • 内製化とアジャイル開発の採用により迅速な対応を実現。

    • チームは自律的に活動し、スクラムを参考に自己組織化。

    • 三密回避やGOTOトラベルキャンペーンなど、多くのイベント対応に成功。

  3. 職業紹介サービスのC社:

    • IT/Webエンジニア向けのサービスを提供。

    • リーン・スタートアップの方法で新しいビジネスモデルを検証し、大きなプラットフォームに成長。

    • 全社員が市場やビジネスモデルを理解し、エンジニアもビジネススキルの重要性を認識。

    • コンピュータの基礎スキルやコーディングテストの重要性を強調。

  4. 情報サービス業のD社:

    • クラウドやマイクロサービスを利用してのアジャイル開発。

    • 発注側と受注側の強い信頼関係が成功の鍵。

    • メンバーは隣接技術を習得し、フルスタック化を目指す。

共通して、これらの事例はアジャイル開発の土台と柱を具現化している点に焦点を当てています。すなわち、改善と成長を志向するマインドセット(土台)、そして人間中心と技術尊重の2つの柱を活用してビジネス価値を最大化し、現場との連携を強化しています。

書いてあることのまとめ

現代のソフトウェア開発は、「コスト削減」から「新しい価値の創造と競争優位の獲得」へのシフトが求められています。従来の予測型の開発手法では変更が難しいと思いますが、アジャイル開発は柔軟に変更を受け入れつつ価値を迅速に提供することができます。アジャイルは単にソフトウェアの手法としてだけでなく、価値観や原則、新規事業の開発や組織の変革の手段としても活用されていると考えられます。

アジャイル開発とトヨタ生産方式(TPS)は深い関連性があるとされ、TPSの価値観や原則はアジャイルやスクラムの原則の形成に影響を与えたと言われています。TPSは大量生産に対して多品種少量生産を効率よく行うことを強調しており、その原則はアジャイルのスクラム手法の基盤として受け入れられたと思います。

スクラムは複雑な問題を解決するフレームワークで、反復・漸進的アプローチと5つの価値基準を核としていると考えられます。これは、TPSやアジャイルの原則と共通点があると言えるでしょう。

確約: スクラムチームは、ゴールを達成し、お互いにサポートすることを確約する
集中: スクラムチームは、ゴールに向けて可能な限り進捗できるように、スプリントの作業に集中する
公開: スクラムチームとステークホルダは、作業や課題を公開する
尊敬: スクラムチームのメンバーは、お互いに能力のある独立した個人として尊敬し、一緒に働く人た ちからも同じように尊敬される
勇気: スクラムチームのメンバーは、正しいことをする勇気や困難な問題に取り組む勇気を持つ

5つの価値基準

アジャイルは2010年代からビジネス全体で注目されてきました。リーン・スタートアップのアプローチとも連携しており、リーン・スタートアップはTPSのリーン思考を基に、顧客の価値を中心に無駄を排除し、製品やサービスの成功確率を高める手法として位置付けられています。アジャイルとリーン・スタートアップの考え方は、デジタル化の進展や組織の変革にも影響を与え、新しい製品やサービスの誕生を後押ししていると考えられます。IPAはこれらの原則や概念を「アジャイル開発の家」として整理しており、組織の土台として活用されていると言われています。

i3DESIGNでは、現代のビジネス環境の変化に柔軟に対応するため、アジャイルやスクラムの手法を取り入れたモダンアプリケーション開発に取り組んでいます。この先進的なアプローチにより、お客様の課題解決と価値創出に瞬時に応じることが可能です。i3DESIGNのチームは、イノベーションを常に追求し、ビジネスの競争力を高めるサポートを致します。私たちと共に、未来を先取りする最適なソリューションを実現しましょう。

まずは、皆様の課題をお聞かせください。

さいごに

noteをご覧いただきありがとうございます!更なる詳細やアドバイスを求めている方、私たちに直接ご相談したいことがあれば、以下のリンクからお気軽にお問い合わせください。メッセージの際に「noteを見て問い合わせた」とご記入いただくとスムーズに対応させていただきます。

この記事が気に入ったらサポートをしてみませんか?