アジャイル型製品開発とは、ソフトウェアの開発方式をモノの製造プロセスに適用した方法です。アジャイルで製品を開発するというのは、より率直にいうなら、ハードウェアをソフトウェアのように開発するということです。
アジャイルは新しいものではありません。SaaS やクラウド、デジタルトランスフォーメーション (DX) の概念を中心に展開される多くの技術と同様、アジャイルもこの先さらに普及すると多くの人が指摘しています。しかし、多くのハードウェアメーカーにとって、この認識は受け入れ難いものです。アジャイルのことは理解していても、あくまでソフトウェア開発理念としてのアジャイルです。モノとしての製品への適用という意味において、アジャイル型製品開発はソフトウェアの場合とは完全に状況が異なります。ハードウェアへの適用については、まだ懐疑的な見かたが多いのが現状です。
このブログではアジャイル型製品開発について、ソフトウェア開発における起源から、アジャイルの価値や原則、またこれらがハードウェアの製品開発に有効な理由まで、さまざまな角度から掘り下げます。
- アジャイルの原則
- アジャイルがハードウェアにも適している理由
- アジャイル型製品開発の現実
- アジャイル型製品開発における主なメリットとデメリット
- アジャイル型製品開発プロセスを成功に導くヒント
- アジャイルとウォーターフォールの比較
- よくあるご質問 (FAQ)
アジャイル宣言: ソフトウェアにおけるアジャイルの歴史
アジャイルの原則の正確な起源はわかりませんが、アジャイルという用語が完全に確立した時期はわかっています。アジャイル宣言は 2001 年に 17 人のソフトウェア開発者が軽量開発理念の潜在的な可能性と戦略について議論していたときに作成されました。この経緯が示すとおり、アジャイル宣言は元々、ソフトウェア分野のみが対象でした。アジャイル宣言は 12 の基本原則と四つの主な価値から成り、そのすべてがコラボレーションレベルの向上、透明性の向上、製品納期の短縮を目的としています。
アジャイル宣言は、発表後またたく間にソフトウェア業界に広まり、普遍的なアプローチとして多くの人に支持されました。その設計理念にたがわず、アジャイルの導入は生産性の向上、製品納期の短縮、チーム間のコミュニケーション強化を促進し、特に業務が分散している場合に顕著な効果がありました。
しかし、アジャイルのメリットはソフトウェア分野では理解されていましたが、ハードウェア分野では多くの人々がアジャイルの適用に懐疑的でした。その理由は、アジャイルでは作業がスプリントに分割されるためです。スプリントとはあらかじめ決められた時間枠のことであり、通常は数週間の期間に設定されます。各スプリントの終了時には、配布可能な製品を納品します。この方法はソフトウェアでは可能ですが、ハードウェアでは不可能だと感じるかもしれません。少なくとも 1 スプリントがわずか数週間という状況で、使用可能な製品をスプリントごとに必ず納品するのは困難です。
しかし、アジャイルの価値と原則をよく見てみると、これらはハードウェアの製品開発にも適用できることがわかります。ここで、アジャイルの考えかたへの理解を深めるため、アジャイルの価値と原則を詳しく見ていきましょう。
アジャイル宣言における四つの主な価値
- プロセスやツールよりも 個人と対話 を
- 広範囲で包括的なドキュメントよりも 動作するソフトウェア を
- 契約交渉よりも 顧客とのコラボレーション を
- 計画に従うことよりも 変化への対応 を
アジャイル型製品開発における 12 の基本原則
上記のとおり、アジャイルにおける 12 の基本原則はソフトウェア開発を念頭に置いていますが、その理念はハードウェア開発にも十分に適用できます。ただし、モノとしての製品開発はデジタル製品開発とは異なるため、ハードウェア開発の特性に合わせた変更が必要となる場合があります。その全容を下記に示します。
1. 早期かつ継続的に顧客満足を引き出す
「顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します」
コミュニケーションはアジャイルの最優先事項です。要望や期待を正確にフィードバックしてもらうため、顧客には製品開発の初期段階から頻繁に関与してもらう必要があります。そうすることで、要求との齟齬が生じるリスクが軽減され、課題や障害が想定される場合は、必要に応じて早めに顧客と相談できます。
2. 変更を前向きに受け入れる
「要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます」
アジャイルでは、開発のどの段階であっても、要求の変更を受け入れます。従来のようなウォーターフォール方式では、開発後期に変更が発生すると膨大なやり直しが必要となります。しかしアジャイルでは、たとえそれが開発後期であっても、現状に必要な変更として前向きに受け入れる必要があります。市場や競合相手、顧客のニーズは常に変化し、進化を続けています。プロジェクトも同様に、新たな情報を最終設計に反映させながら進めることが重要なのです。
3. 動作する製品を迅速にリリースする
「動作するソフトウェアを、2 ~ 3 週間から 2 ~ 3 カ月というできるだけ短い間隔でリリースします」
アジャイルでは効率的な製品開発が重視されます。このアジャイル宣言は、2 ~ 3 カ月に 1 度は製品をリリースすることを目標としています。ハードウェア設計、特に大規模で複雑な製品では、このような短い期間は現実的ではないかもしれません。しかし、プロジェクトで達成すべき具体的な目標とチェックポイントを設定し、フィードバックを収集することが重要です。
4. 日常のコラボレーションを強化する
「ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません」
アジャイル方式では、孤立して作業するメンバーがいてはいけません。ステークホルダーと開発者が頻繁にコミュニケーションを取ることで、プロジェクトに必要なリソースを確実に確保し、計画どおりに実行できるからです。通常は毎日短時間のスタンドアップミーティングが開催されます。また、コラボレーションツールとして、Slack のチャンネルやその他リアルタイムに連携できるクラウドベースのソリューションを使うのも有効です。
5. 意欲的になれる環境を構築する
「意欲に満ちた人々を集めてプロジェクトを構成します。彼らに環境とサポートを与え仕事が無事終わるまでメンバーを信頼します」
チームの意欲を高めることもアジャイルの重要な要素です。つまり、チームとチームメンバーの両方が、プロジェクトの成功に向けて投資が行われていると実感し、作業に集中できるようなサポートを提供することが必要です。この原則には、失敗やミスを恐れない環境も含まれます。むしろ、想定されたリスクに挑んでさまざまなことを試した結果、効果的だったこととそうでなかったことを議論できる環境を構築すべきです。改善を繰り返す上で重要なのは、それぞれが各プロジェクトで得た知見から学び合うことです。
6. 対面でのコミュニケーションが最も効果的
「情報を伝えるもっとも効率的で効果的な方法は対面での会話です」
対面でのコミュニケーションに代わるものはないと、このアジャイル宣言は述べています。2001 年当時、ビデオ通話はまだ実用化されておらず、未来の技術だというのが一般的な認識でした。今ではビデオ通話が当たり前になりました。とはいえ、不確実性を排除し、チームのコラボレーションを強化するには、直接顔を合わせての対話に勝るものはないということです。チームが分散している状況でも対面であっても、これは変わりません。
7. 進捗は動作するソフトウェアで図る
「動作するソフトウェアこそが進捗の最も重要な尺度です」
この原則もまた、「動作する製品」の条件が要件や目標によって異なるモノの製品開発に適用できます。すべての要件を満たす新たな医療機器を開発するには、2 年かかるかもしれません。しかし、アジャイルではこのような大規模プロジェクトを小さく分割して管理を容易にし、それぞれに対して目標を設定できるため、定期的にフィードバックを得ながらプロジェクトを進められます。一部を動かすのではなく、設定された期限を遵守しながら、「モノとして動作する製品」という最終目標を達成するのが重要です。
8. アジャイルは持続可能である必要がある
「アジャイルプロセスは持続可能な開発を促進します。スポンサー、開発者、ユーザーは、一定のペースを維持できるようにしなければなりません」
アジャイルは繰り返しの作業であり、ここには製品を進化させるための一定かつ安定したペースが存在します。アジャイルでは利用可能な開発リソースとプロジェクトの要件を考慮した進行計画を作成します。作業を適切に完了し、プロセス全体を振り返る時間をプロジェクトに設けるようにします。
9. 優れた技術と設計が俊敏性を高める
「技術的な卓越性と優れた設計に対する継続的な注意が機敏さを高めます」
これは常に目標とされている原則です。プロジェクト全体でベストプラクティスを実行するために進行中の細部にも注意を払うことで、予期せぬ障害が発生した場合に軌道修正や調整がしやすくなります。
10. 自信をもってシンプルな解決策を追求する
「シンプルさ(ムダなく作れる量を最大限にすること)が本質です」
この原則は、シンプルであることがほぼあらゆる場面で優れているとされる製品設計によく当てはまります。
11. 自律型のチームが最良である
「最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます」
チームに主体的に作業できる権限を与えることで、最良の結果をもたらす可能性が高まります。
12. 定期的に振り返る
「チームがもっと効率をを高められるかを定期的に振り返り、それに基づいて自分たちのやりかたを最適に調整します」
アジャイルプロセスは、サイクルの繰り返しです。プロセスの一環として、振り返りとそれに基づく調整を行うことが大切です。そうすることで、チームの成長が促進され、プラスの変化がもたらされます。
アジャイルがハードウェアにも適している理由
それでは、アジャイルの原則を踏まえた上で、この原則を競争の激しい現代の製品市場にどのように適用すべきか、またそれがなぜ理にかなっているかをご説明します。
第一に、何度も繰り返すというアジャイルの考えかたは、製品開発には不向きと思われるかもしれません。製品開発の場合、使用可能な製品を定期的に開発、次のスプリントでただちに反復というプロセスを何度も繰り返しながら最終的な製品を開発するのは現実的ではありません。アジャイル方式は、ソフトウェアのみに適用できると多くの製造メーカーが考えていますが、その理由は主にこのためです。
しかし、実際には、アジャイルの方式を全面的に取り入れるのか、それともその理念の一部を取り入れて応用するのか、といった複雑な問題に行き着きます。全面的な採用は、アジャイルの原則がハードウェア開発の制約と矛盾するかもしれません。しかし、ハードウェア開発の考えかたにアジャイルを応用できれば、製造メーカーもアジャイルのメリットを享受できるというわけです。もう少し詳しく説明します。
どのような製品開発にも、構想から製品出荷までの工程(ライフサイクル)が存在します。スプリントは工程の各段階を分解したものに過ぎず、スプリントで重要なのは、達成可能で方向性の定まった目標を設定することです。多くの場合、ソフトウェアでは製品のリリースが目標となりますが、ハードウェアではそこまで文字どおりに最終目標を設定する必要はありません。進捗を定量的に確認できれば十分です。測定できる目標を定めることで、より複雑なハードウェア開発であっても、明確で一貫性のある小さな単位にプロジェクトを分割できます。
医療機器のような規制の多い業界にもアジャイルを適用できます。平均的な製品開発サイクルが 2 年の場合、6 カ月で実際に何ができるかを考える必要があります。2 年のサイクルを四つのスプリントに分割し、各スプリントで進捗報告や振り返りのために作業状態の確定と製品評価を行います。ハードウェア開発プロセスにアジャイルを活用することで、作業状態の確定と進捗確認の機会を設け、開発プロセスの透明性を高められます。
アジャイル型製品開発の現実
分散型ハードウェア製造という概念は新しいものではなく、数十年前、あるいはさらに前から多くの企業が分散型製造を導入しています。つまり、アジャイル型製品開発とは、ハードウェアメーカーに分散作業の生産性を最大化するための最新の方法を提供することに他ならないのです。この方法をさらに活用するには Zoom などのビデオ会議ソフトウェアにとどまらず、チーム間のコラボレーションを重視し、社内での対話と協力を促進する新しい考えかたが求められます。
コミュニケーションとコラボレーションの重要性は、かつてないほど高まっています。市場では不確実性が増していますが、その要因の一つが顧客の期待です。顧客は自分たちが何を求めているかを理解しており、すぐに手に入れたいと考えます。メーカーにとっては、期待される市場投入までの期間がより短くなるということです。メーカーはまた、サプライチェーンの不確実性、世界情勢の変化、その他多くの複雑性に対応できるように備えておかなければなりません。
アジャイル型製品開発は、アジャイル宣言の特に優れた原則や価値を採用し、ハードウェア分野に適用しています。これには、部門や関係者間の内部コミュニケーションの強化、製品開発プロセスでの頻繁な作業状態の確定、明確な目標設定、自己組織化され意欲の高いチームの形成などが含まれます。
アジャイルのメリットを享受するのに、アジャイルをすべて採用する必要はありません。企業はそれぞれ異なるものであり、アジャイルは柔軟に対応できるように設計されているからです。前述のとおり、アジャイルの成功は、採用よりもむしろ適用によって実現します。変動の著しい現代において、アジャイル型製品開発は、不確実性を回避しながらより優れた製品を提供し、迅速なイノベーションの実現を支援します。
アジャイル型製品開発における主なメリットとデメリット
どのような製品開発アプローチにも、メリットとデメリットがあります。これらをあらかじめ把握しておくことで、アジャイルのメリットを活用し、デメリットを軽減できます。詳細は、「アジャイル製品開発の三つの主なメリット」をご確認ください。
主なメリット
- コラボレーションの強化: 権限を与えられ、部門の垣根を取り払ったチームは、アジャイル型製品開発の屋台骨です。従来のように設計チームが試作品の作成と最終設計を終えた後に製造チームに見せるのではなく、両チームがそれぞれの視点をもってコラボレーションできるため、プロセスの早い段階で課題を発見できます。
- 顧客や関係者との頻繁な対話とフィードバック: アジャイルの特徴の一つは、デモのための作業です。デモを行うことで、目標に対する進捗を示せます。デモを行う主な理由は、顧客、ユーザー、関係者のフィードバックを一定の間隔で得られることです。フィードバックがあれば次の反復での優先順位が付けやすくなり、顧客重視の製品開発を維持できます。
- 集中的なスプリントが可能: アジャイルでは大規模なプロジェクトをより小さなスプリントに分割し、各スプリントではあらかじめ合意された目標を達成することに注力します。スプリントへの分割により、大規模なプロジェクトが管理しやすくなります。また開発プロセス全体を通してフィードバックを得られるため、成果物の質が向上します。
主なデメリット
- アジャイルプロジェクトの定着までに時間がかかる: アジャイル開発が初めてという人は多く、製品開発ではその傾向が顕著です。全員が作業に精通するようになるまでには、ある程度の時間と調整が必要かもしれません。
- コミュニケーションへの依存度が高い: チームメンバー全員がコミュニケーションを取りながら共同作業に参加する必要があります。コミュニケーションがうまくいかない場合、不要な重複作業が発生する可能性があります。
- 大規模な採用では企業文化を大きく変える必要がある: アジャイルの特徴の一つは、部門の垣根を越えたチームの形成です。全社的にアジャイルに取り組むためには、企業全体をリードする「チャンピオン」を決める必要があります。
アジャイル型製品開発プロセスを成功に導く四つの重要なヒント
1. アジャイルの価値と原則に関するトレーニングを行う
アジャイルの導入により、チームや企業はこれまでとは異なる製品開発アプローチが必要になるでしょう。各チームが同じレベルの認識で協力できるよう、アジャイル型製品開発とは何かを話し合う必要があります。特にその価値と原則について議論し、これらの原則をプロジェクトに適用する方法について理解を深めておきましょう。
2. アジャイルの作業をサポートするツールを導入する
アジャイルでは、部門の垣根を越えたチーム同士の頻繁かつリアルタイムのコミュニケーションが必要です。これらの作業をサポートするツールを準備する必要があります。大容量で複雑な設計情報を扱う場合、電子メールでは不十分です。クラウドネイティブの CAD や PLM ソリューションのようなツールは、旧式のデスクトップソフトやファイルベースのツールと異なり、アジャイル型製品開発にはるかに適しています。これらのツールを中核に用い、Slack、Miro、Smartsheet、Jira などの強化されたコミュニケーションツールやコラボレーションツールで補完するといいでしょう。システムを共有することで、フリーランスの設計者、サプライヤー、パートナーなどの外部の担当者を含むさまざまな関係者、チーム間でのコラボレーションが強化されます。
3. アジャイルは 0 か 100 かである必要はない
よりアジャイルなアプローチに移行する際、0 か 100 かである必要はありません。アジャイル方式のある部分は企業に適していても、ほかの部分はそうではないかもしれません。適している部分は取り入れ、そうでない部分は無理に取り入れようとせず、継続的なプロセス改善に注力しましょう。
4. チェックインと振り返りの時間を設ける
アジャイルでは、デモや進捗を共有するためのチェックポイントを計画に組み込み、各スプリントで目標を達成します。スプリントでは反復作業で製品を改善するだけでなく、プロセス改善のためのフィードバックを行う時間も確保します。製品とプロセスに関するこのフィードバックを、次のスプリントに反映します。成長しようという意思があれば、あえて失敗することも許容され、そこから学びを得られます。
アジャイルアプローチとウォーターフォールアプローチの違い
アジャイルとウォーターフォールはどちらもプロジェクトの実施と管理に用いられる管理方式ですが、アプローチの仕方は大きく異なります。
アジャイルでは反復開発が優先されます。チームは数週間から数カ月単位で作業し、この期間で製品を迅速に開発あるいは微調整を行います。その間、顧客からはほぼ常時フィードバックが提供されます。ウォーターフォールはこれとは対照的に、あらゆるプロセスが直線的に進みます。プロセスは段階的に一方向にのみ進むため、完了したプロセスに後戻りするのは困難です。たとえ後戻りできたとしても相当なコストがかかるため、実用的あるいは持続可能なプロジェクトを維持するのは不可能です。そのため、各段階で最適化してから次の段階に進むことが重視されます。
アジャイルでは、段階よりもサイクルを重視します。開発者と関係者はともに設計に取り組み、その過程でフィードバックが提供されます。各「スプリント」には、主に顧客からのフィードバックに基づく目標が設定され、スプリントごとに目標を達成します。顧客は希望する製品をチームに伝え、チームはスプリントを実施します。その間、チームはこの最初に定義された目標を達成することに全力を注ぎます。チームはその後、顧客からのフィードバックに基づいて変更を実装します。以前の設計をもとに繰り返し作業を行うことで、新しい製品を迅速に開発します。スプリントには大抵、数日から数週間という短期間が設定されます。また大きな目標を達成するのではなく、小さな目標を迅速に達成することが重視されます。アジャイル設計方式では、設計段階からフィードバックや対話が実施されます。
よくあるご質問 (FAQ)
-
アジャイル方式はソフトウェア開発だけに適用されますか?
いいえ。アジャイル方式の原則と主な価値は、ソフトウェア開発以外にも十分適用できます。当初はソフトウェア開発のための方式でしたが、企業はプロジェクト管理のアプローチとして、より柔軟で適用性があり、コラボレーションを重視するアジャイル方式に価値を見出すようになっています。
-
アジャイルの五つのフェーズとは何ですか?
アジャイルには五つのフェーズがあります。これらはアジャイルプロセスをある程度構造化しますが、必ずしもこの順番に従う必要はありません。各フェーズはまた、新しい情報や要望が生じた際に同時進行や再考ができるように設計されています。
1. 構想
このフェーズは、あらゆるアジャイルプロジェクトの基盤です。プロジェクトのビジョンを定義し、どのように達成するかをおおまかに定めます。
このフェーズでは以下のような項目を明確にします。
- プロジェクトの成果物は何か?要求と目標は何か?
- 関与するのは誰か?必要な作業を実行するのは誰か?フィードバックや意見を提供するのは誰か?プロジェクトを管理するのは誰か?社内と社外(顧客など)のすべての関係者を考慮する必要があります。
- チームの連携方法は?目標を達成するだけでなく、コミュニケーションを強化するには、どのツールを使用すべきか?
まずビジョンを明確にすることで、誰が、何を、どのように、いつまでにといったすべての要素を洗い出せるため、次のフェーズをより具体的に検討できます。
2. 思索
このフェーズではブレインストーミングを行い、全員が率直に意見を出し合います。参加者は協力しながら、出された意見を検討します。プロジェクトのパラメータであるリソースや時間なども踏まえて、達成できる目標とそうでない目標を判断します。
このフェーズでは、製品への予備的で幅広い要求、さまざまなチームメンバーの作業量の予測、納品までのタイムライン(通常は段階的)、リスクと依存関係の特定と緩和、コストの見積もりを整理するところまで進めます。
3. 探索
このフェーズではプロジェクトが本格的に動き出しており、チームはビジョンとタイムラインに基づいて製品開発を実施します。ただし、プロジェクトに問題が発生する可能性もあります。アジャイルの真価はそのような場面で発揮されます。チームは頻繁なチェックインとコミュニケーションを通して作業量を管理し、ベストプラクティスを遵守することで、あらゆる課題に対応します。各チームは必要に応じて共同作業を行い、関連する局面で互いに関与する必要があります。また製品開発のさまざまな段階で、すべての関係者と定期的なチェックインを行います。
4. 適応
製品開発プロセスで新しい情報が得られた場合、それに応じた修正や変更、改訂が必要です。これが適応フェーズです(高い確率で思索、探索フェーズとの調整が必要となります)。このフェーズで最も重要なのは、異なる視点や専門知識をもつさまざまな関係者の意見を聞くことです。つまり、プロジェクトが何か具体的な成果を出した時点で、その成果が目標を達成しているかどうかを分析する必要があるということです。適応フェーズでは、ここで得られたさまざまなフィードバックを検討し、必要な改善点を明らかにした上で、次の反復の計画を示します。
5. 終結
アジャイルはサイクルを繰り返すプロセスですが、プロジェクトには終わりがなければなりません。製品が実用化されたり主な機能がアップデートされたりした場合は、もちろんその成功を祝うでしょう。しかし、プロセスを振り返って分析し、フィードバックを収集することも忘れないでください。ここから学んだことを、次のプロジェクトに活かすことも重要です。
-
アジャイルが製品開発に適している理由
アジャイル方式は、製品開発プロセスが直線的ではないという前提で作られています。これが、アジャイル方式が製品開発プロセスに適している理由です。そのフレームワークを適用することで、チームは変化やリスク、不確実性に効果的に対応できます。アジャイル方式ではコラボレーション、包括性、柔軟性を重視します。また、開発プロセスや製品の中心に顧客の意見が置かれるため、結果的により良い製品開発が可能になるのです。
アジャイルへの移行
モノとしての製品の開発方法として、アジャイル型製品開発の人気が高まっています。その理由と効果的な導入方法をご確認ください。
ホワイトペーパーはこちら