この記事は、Tech.Decoded に公開されている「Prototyping is an Art (and a Science)」(https://techdecoded.intel.io/resources/prototyping-is-an-art-and-a-science/) の日本語参考訳です。
プロトタイピングは芸術であり科学である
編集者注: この記事は、システム/IoT 開発向けソフトウェア・ツール・スイートであるインテル® System Studio の設計を率いる Dinyar Dastoor の厚意により提供されたものです。Dinyar は、組込み、制御、IoT 製品分野において 25 年を超える管理経験があり、研究開発、システム設計およびデプロイメント、製品管理、販売、マーケティング、カスタマーサポートのグローバルなチームの構成および指導を含む、多くの専門知識を備えています。
2017 年にインテルに入社する前は、Wind River* で副社長および本部長を務めていました。インド工科大学カラグプル校で制御システム工学の修士号を、国立インディラ・ガンディー・オープン大学でオペレーションズ・リサーチの MBA を取得しています。
「事業を思いつくのは簡単です。大変なのは、それを実行することです。ものすごいエネルギーと自分への信頼、そして決意が必要です。」
— Dame Stephanie Shirley 氏、ソフトウェア・パイオニア
この印象的な発言は、Dame Stephanie Shirley 氏による TED の講演 (英語) の終わり近くに行われたものです。彼女は、1960 年代の初めに、女性プログラマーが自宅から働くことができるソフト制作会社を設立しました。新しい概念を採用した、当時としては画期的な会社は、その後、評価額が 30 億ドルを超える大企業に成長します。
「大変なのは、それを実行することです。」という彼女の指摘は、現在でも変わりません。優れたアイデアが尽きることはありませんが、どのアイデアを市場に投入するか選択すること、そして成功させることは、全く違う話です。ソフトウェアの世界でヒット製品を作成するには、プロトタイピング (芸術) と商品化 (科学) の両方が必要です。
プロトタイピングは、何百年もの間、工業デザイン、消費者向け製品、芸術などに利用されてきました。1400 年代には、レオナルド・ダ・ヴィンチが、ロボットや絡繰仕掛けのライオンのプロトタイプを作成したことが知られています。現代の、ペースの速い、非常に競争率の高い環境では、ソフトウェア・エンジニアがガレージで新しいものをゼロから作り出す余裕はなく、以前に得られた方法を迅速に発見する必要があります。そのためには、プロトタイピングのアプローチが創造的かつ効率的でなければなりません。
プロトタイピングの中心となる目標は、未知のものを解き明かし、最小限の労力でリスクを定量化することです。調査が必要なものを多く知っている場合もあれば、何を知っていないか分からない場合もあります。見込みを戦略として適用することは無謀です。また、小さなことをすべて分析すると適切な判断が下せなくなります。最良の経路を進むことを支援する、単純な 3 ステップのモデルを次に示します。
1. メディアアラートを作成する
将来にワープして、製品を発売する準備を行っていると想像します。
- 報道機関および業界アナリスト向けに製品の「メディアアラート」を作成します。商品の特長は何か。報道価値があるのは何か。対象顧客は誰か。開発者は、販売責任者が販売する製品、顧客にとっての価値および位置付けを定義できるように支援します。その後、販売責任者はメディアアラートを作成します。
- 最初の顧客 (初期購入者) 向けに製品を紹介するプレゼンテーションを準備します。
厚かましいと思われるかもしれませんが、これは製品の本質的価値、顧客に製品を知らせる方法、簡潔な製品説明の内容を識別して確定するための重要なステップです。このステップを開始した後、職場を横断するチーム間で行われる議論に驚くことでしょう。製品の準備が整った後ではなく、この時点で議論することが大切です。この議論は、主な顧客にとっての価値について、関係者の責任を明確にする役割を果たします。このステップが完了するまで先に進まないでください。
2. 知らないことを算定して定量化する
初期顧客向けの価値命題が決まり、出資者が目標と成功基準に納得したら、これらの製品で要求される特徴にマップします。
- 実用最小限の製品 (MVP) を作成するために主な特徴を定義します。注意: 特徴の数が 6 つを超える場合、それは「最小限」ではありません。数を減らしてください。
- 表の特徴をマップして、「知らないことマップ」を作成します。各特徴について、技術選択、想定リソース、時間、自社開発か購入かのオプションなどの属性に対する未知のものを定量化します。
製品がどのように (進化的ではなく) 画期的であるかに依存しますが、十中八九、表に記入される項目はわずかです。Mark Zuckerberg 氏が Facebook* を最初に概念化したときも同様の表を見ていたと想像できます。
次のタスクは非常に集中的で明白です。できるだけ多くの未知のものを図にして、満足する信頼度になるように表に記入します。
3. 本質的価値と関連する未知のものにエネルギーを注ぐ
プロトタイピングの準備が整いました。迅速なプロトタイピングが望まれますが、プロトタイピングは MVP と密接に関連しています。表にない特徴は重要ではありません。それらの特徴に時間を浪費しないでください。
- 最終的なデバイスのコストとパワー・エンベロープに適合する、電力必要最低限の処理能力、接続性、検出能力を備えたハードウェア・キットを選択します。
- 識別した重要な特徴をサポートするオペレーティング・システム、ライブラリー、プロトタイピング・ツールを選択します。
プロトタイピングはビデオゲームをプレイすることに似ています。あるレベルを終了すると、直ちに新しい未知のものが現れます。プロトタイプの段階はそれぞれ、表の記入や、結果とリスクの評価を支援します。
いつ終了するかはどのようにして知れば良いのでしょうか。プロジェクトの次のステップを準備していると感じたら、直ちに作業を停止します。リスク、可能性、生じる結果を理解している場合、それらを管理する準備は整っています。上司を説得し、予算の承認を受け、確固たるプロジェクトの計画が立った場合、プロジェクトは承認段階にあります。
製品開発へのスムーズな移行
プロトタイピングにおける目標は、未知のものを解き明かし、苦痛であっても、リスクを定量化することでした。この知識を備えることで、製品を作成する旅は始まります。
プロジェクトが開始すると、試練のときだと感じることでしょう。最小限のコストで最大限の品質とパフォーマンスが得られる組込みシステムの開発、テスト、最適化を急いでいるときは、プロトタイピング中に行った困難な作業をすべて再利用すると効率的です。再利用するには、商用開発へのスムーズな移行をサポートしているプロトタイピングのプラットフォームおよびツールを選択します。
製品を市場に出して成功を味わうことは非常に爽快です。最終的に、どこのまたは誰のアイデアであるかは重要ではありません。そのアイデアが大いに気に入ったなら、考案段階は終わりです。ほかの人がそのアイデアを気に入ったなら、プロトタイピング段階は成功です。
「痛みはおめでたい無知のままでいるデメリットを補って余りある。」
—シェリル・サンドバーグ、作家、活動家、Facebook* COO
インテルでは、プロトタイピングの芸術を製品開発の科学に結び付けることの重要性と難しさを認識しています。そのためには、非常に強力な開発、テスト、最適化を行うように構築されたソフトウェア・ツールが必要です。
人生の多くのことと同様に、ジョブに適したツールを使用することが重要です。組込みシステムのプロトタイピング、開発、テスト、最適化に正しいソフトウェア・ツールを利用すると、あらゆる状況に対応できます。
最終的な製品の品質および効率を達成する最良の方法は、プロトタイピング環境に適した統合スイートを利用することです。統合スイートを利用することで、ジョブに適したツールを簡単に使用できるようになります。
迅速にプロトタイピングを開始
組込みおよび IoT プロジェクト向けのリファレンス・キット、ソフトウェア、データ・ソリューション、ツールを入手しましょう。Arduino Create* は、インテル® ベースのリファレンス・ボード、プラットフォーム・ソフトウェア、センサーとクラウド接続ライブラリーを統合した、完全なクラウドベースのパッケージです。
プロトタイプから製品化までを容易に
Arduino Create* からインテル® System Studio (コンパイラー、パフォーマンス・アナライザー、ライブラリー、デバッグ・ソフトウェアを含む、高度なツールとテクノロジーの包括的なセット) にプロトタイプ・アプリケーションをシームレスにインポートできます。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。