Amazon Web Services ブログ

Stellantis における車載用ソフトウェア開発加速のためのハッカソン

このブログは、Hackathons for Accelerated Vehicle Software Development at Stellantis を翻訳したものです。

多国籍の自動車製造会社である Stellantis (NYSE: STLA) は 車載用プラットフォームのための推奨クラウドパートナーとして Amazon Web Services (AWS) を選定しました。両企業は共同で、新しいプロジェクトを開始し、車載用ソフトウェア開発を加速するための継続的なデリバリを実現することを目的として、ハッカソンをうまく活用しました。このブログでは、ハッカソンの実施方法についてのインサイトと実施する際のベストプラクティスについて共有します。ソフトウェア・デファインド・ビークル (Software-Defined Vehicles、SDV) のためのクラウドネイティブな開発環境を構築することを目的とした複数年にわたるプロジェクトの中で、Stellantis によって実施されたある特定のハッカソンを成功例として紹介します。

大規模なプロジェクトに着手する際には躊躇してしまう可能性があります。特に社内での働き方を変革するような新しいトピックについて取り組む時は尚更です。アジャイルな開発手法では、インクリメントにデリバリを行う最新のソフトウェア開発を実施しますが、Stellantis のように複雑なインフラと成熟した組織文化を持つ大きな組織では、そのような手法を採用し、継続的なリリースに注力する過程において困難が生じます。そこには、アジャイルな方法論についての経験不足や、プロジェクト チームの取り組みとプロジェクト目標の調整・マネージメントによるサポートの不足といった課題が含まれています。実際に AWS Professional Service (AWS ProServe) の Experience Based Accelerator (EBA) により、そのようなプロジェクトで軋轢が生じる大部分は、性質として非技術的な箇所であることが分かりました。

ハッカソンとは?

ハッカソンとは、専用のユースケースについて一週間程度のコーディングを中心に実施する、デリバリの方法論の一つです。この方法では、プロダクトの利用可能な最初のバージョンの作成やプロダクトの目標に向けて具体的な足がかりとなるような、小規模なデリバリをインクリメントに行うことで、最小限の実用的なプロダクト (Minimum Viable Products、MVPs) を実現することに注力します。ハッカソンの主要な利点の一つが、階層構造を有していないことです。つまり、ハッカソンでは、参加者はより大きな責任と自主性を担い、様々なファンクションを持ったチーム間の効率良い協業が可能になります。

Figure-1-The-Four-Hackathon-Phases
図 1- ハッカソンの四つのフェーズ

フェーズ 1 – 特定

ハッカソンの計画を立てる上での最初のステップになるのが、その必要性を特定することです。よくその指標になるものとして以下のものが挙げられます。

  • 新しいトピックを取り扱う新しいチームの始動

  • MVP の実装に関する課題とインクリメント

  • 経験不足が原因で、アジャイルな働き方に従うことに苦労しているチーム

最初の必要性を特定した後は、ハッカソンの成果に興味を持っている、または、影響を受けることになる異なるステークホルダーを巻き込む必要があります。よくある対象者としては、業界の専門家、ビジネスオーナー、ユーザーとなりうる人、または、お客様です。

フェーズ 2 – 準備

ハッカソンを成功させるための重要な鍵が準備です。準備ではアマゾニアンのメカニズムである、お客様が期待する成果からの Working Backwards を採用します。このメカニズムに従うことで、特定のお客様の課題を同定し、ユースケースとして、将来の顧客体験を記述します。このフェーズでは、主題についての専門家 (Subject Matter Experts, SMEs) を巻き込んで一緒に作業を行い、それぞれのユースケースに対して、明確でかつ計測可能な目標を、対応する MVP に沿う形で定義します。クロスファンクションのチームを構成して、特定のユースケースにアサインすることにより、それぞれのチームが多様なスキルセットと経験を持つようにします。これによって、チームが自己完結する形で作業を行い、さらなるサポートなしで、ブロッカーとなっている課題や依存関係を解決することが可能となります。成果物に対するより大きなオーナーシップを感じられるように、ユースケースを定義する段階で、そのようなチームに参加していただくことが重要です。

参加者がイベントにコミットできるように、ハッカソンの少なくとも四週間前には、イベントのスケジュールを立てて、目標とユースケースについて情報共有をしてください。図 2 ではそれぞれの日に計画するおすすめのトピックを入れたアジェンダの例を紹介しています。

  • キックオフ: エグゼクティブをミーティングへ招待し、ハッカソンの目標・作業の仕方・構成についてのプレゼンテーションを行うことにより、参加者の動機付けを行い、障害物を取り除くためのサポートを得てください。ワークスペースの調整やコミュニケーション時のルールなど、チームが従うべき明確なルールとガイドラインを設定してください。

  • ユースケースについての作業: この時間を使って、チームはユースケースに対する作業を行います。

  • 一日の終わりのチェックイン: 全てのチーム共通のミーティングを設定して、段階的にかつ反復的に進捗を共有してください。これによって、全ての参加者に対する透明性を強化し、チーム間の協業をサポートします。

  • デモ: エグゼクティブや全てのステークホルダーを招待して、ハッカソンで達成したことを共有してください。

イベントの準備が完了したら、エキサイティングで革新的なハッカソンを実施する土台が築かれたことになります。

Figure 2 – Exemplary agenda
図 2 – アジェンダの例

フェーズ 3 – ハッカソンウィーク

ハッカソンの中心となるのが一週間のオンサイトでのイベントで、これには複数の目的があります。ユースケースを取り扱うチームは、設定された目標に向けて、MVP を構築します。ステークホルダーはアーキテクチャ的な仮定を検証したり、素早く障害を取り除くことにより、MVP のデリバリを加速するうえで、ユースケースを取り扱うチームをサポートすることができます。シニアエグゼクティブにはチームに活発にエンゲージするユニークな機会があり、ブロッカーを取り除くために積極的に介入したり、ドメインの専門家の存在を活用することで、戦略的な計画や包括的なビジョンを明確にします。週の最後のデモでは、機能している MVP の紹介を行ったり、その成功を祝うために、開発者のためのステージを提供します。

フェーズ 4 – 報告会と次のステップ

アジャイルのベストプラクティスに従って、各チームと共に振り返りを企画し、次のハッカソンのための改善についての選択肢を特定します。さらに各チームは、次のステップ、または、イベント後に必要な実装タスクについてのドキュメント化を、オーナーシップを持って実施するべきです。

AWS と Stellantis によるハッカソンの成功例

例 1: アクセラレータとしてのハッカソン:

2023 年 3 月、Stellantis、AWS、そして、その他のサプライヤーから、 70 名のソフトウェア専門家がドイツの Rüsselsheim にハッカソンのために集まりました。目的は、Virtual Engineering Workbenches (VEW) と呼ばれる、 Stellantis のクラウドベースのプロダクト開発環境についてのユースケースに取り組むことです。VEW を用いることにより、開発者は、協業を促進し、生産性を向上させるような仮想環境上で、車載用ソフトウェア開発を行うことが可能となります。どのように Stellantis と AWS が自動車のための継続的なソフトウェア開発のための仮想プラットフォームに取り組んだかを記載した、公式のプレスリリースをご覧ください。

「AWS Virtual Engineering Workbench によって、我々の全ての開発者とパートナーチームは、ツールや仮想化されたハードウェアを含む完全なワークスペースを数分のうちにプロビジョンし、お客様のための車載用ソフトウェアの構築をすぐに開始することができるようになります。」と SVP Global Software Engineering Stellantis SWX の Heiko Schilling は述べています。

このハッカソンのユースケースには以下のようなものが含まれていました。

  1. Virtual Engineering Workbench (VEV) 上で構築された、バーチャル ECU (virtual ECU、vECU) のコンポーネントについて、自動化されたビルドとテストをサポートすること。

  2. Stellantis のオンプレミスデータセンター内での hardware-in-the-loop (HiL)と共に、AWS 上の software-in-the-loop (SiL) 環境での車両機能についての Co-simulation を生成すること。

  3. Blackberry QNX ベースの仮想ターゲットを提供し、コックピット・車内インフォテインメント (In-Vehicle Infotainment、IVI) 用アプリケーション開発をサポートすること。

  4. ユーザー体験向上のため、仮想開発環境への接続のためのプロトコルとして、NICE DCV のインテグレーションを行うこと。

ユースケース 1 – vECU のコンポーネントに対する自動化されたビルドとテスト: ソフトウェア開発者は事前に設定された VEW を用いて、vECU 用のバイナリのビルドを行いました。VEW では、開発した vECU を自動でテストするために、ソフトウェアのデリバリ工程の自動化を担う、 Stellantis の CI/CD パイプラインを統合しています。その結果として生成されるのが、検証された vECU のアーティファクトとテストカバレッジについてのレポートで、これは vECU 開発と機能テストのための自動化されたインテグレーションが実現していることを表しています。これにより、ソフトウェア開発者と試験者へと直ちにフィードバックが提供され、Stellantis におけるソフトウェアのビルドに関して、整合性の取れた品質が実現されます。

ユースケース 2 – オンプレミスでの HiL と AWS 上での SiL 環境における車両機能についての Co-simulation: ソフトウェア開発者は VEW を利用して、車両の外部にあるミラーを折り畳み・展開する機能を開発しました。そして、この機能についてのシミュレーションが VEW の SiL 環境上で行われ、そして、Stellantis のオンプレミスのデータセンターにある HiL 用デバイスとの接続が行われました。このユースケースでは、ミラーの折り畳み機能の Co-simulation を行うために、VEW を用いて SiL と HiL の両方に対するプロビジョニングと設定を行いました。これにより、Stellantis はソフトウェアのインテグレーションに関してより大きな柔軟性を獲得し、VEW を使うことでソフトウェアの検証をよりはやく行うことができるようになりました。

ユースケース 3 – Blackberry QNX ベースの仮想ターゲット: チームは AWS Elastic Compute Cloud を用いて QNX 用の仮想ターゲットを作成することに成功しました。これにより、インフォテインメントやコックピットにおけるユースケースを取り扱う開発者は、クラウド上でアプリケーションのビルドとテストを行うことが可能となり、実際のハードウェアに対する依存を取り除くことができました。

ユースケース 4 – NICE DCV はリモートディスプレイのための高パフォーマンスなプロトコルで、画像の精度に関して妥協をすることなく、ほぼリアルタイムの反応性を提供してくれます。VEW では前からあった RDP ベースのソリューションのパフォーマンスを大幅に上回りました。

上記のユースケースは、Stellantis での車載用ソフトウェア開発における、ライフサイクルの異なる段階 (ビルド、テスト、統合、検証) のインテグレーションを成功裏に実証するものであるため、重要度が高いです。これらのユースケースは、ユーザーが実際のハードウェアと様々なレベルの抽象化に対応した仮想デバイスを組み合わせることを可能にした、クラウドベースの VEW のアプローチが、強力な柔軟性を有していることを証明しています。

例 2: プロジェクトのキックオフのためのハッカソン:

Stellantis と AWS は、プロジェクトを開始してたった 3 週間後に、共同でのハッカソンを活用しました。このイベントの目的は、共有されたビジョンに基づいてチームが足並みを揃え、プラットフォームの最初の MVP を構築する上で、ステークホルダーと共に核となるアーキテクチャ的な概念の設計と検証を行うことでした。ハッカソンにより、プロジェクトチームとステークホルダーは、挑戦的なロードマップに対する信頼を獲得する必要があります。

一週間以内で、ハッカソンチームは VEW のためのユーザーフレンドリーなセルフサービスのポータルを構築しました。これにより、専用のプロジェクト用 AWS アカウント内で事前に設定しておいたランタイム環境を、手軽にブラウジング・選択・デプロイすることが可能になりました。AUTOSAR のランタイム環境がプラットフォームのプロダクトポートフォリオに登録されていますが、これは AWS Service Catalog を利用したもので、ターゲットの AWS アカウントへと自動で配布されます。マルチアカウント構造とライセンスサーバー・GitHubJFrog Artifactory といった重要なオンプレミスシステムへの接続性に関しては、専門のハッカソンチームによって実現されました。ハッカソンが持つコラボレーションの精神により、Stellantis、AWS、そして、その他のサプライヤから専門家が参加し、VEW についての最初の MVP を一週間以内に協業する形でデリバリすることによって、共有されたビジョンに対する信頼がより強化されました。

成果として、チームは、セルフサービスのポータルから、事前に設定された開発環境である最初のワークベンチをデプロイし、Stellantis のソフトウェア開発者が数分のうちに仕事を開始できるようにしました。この成果についてのプレセンテーションがステークホルダーのグループの前で行われ、ライブデモに対しては肯定的なフィードバックが送られました。これによって、ビジョンがより具体的なものになり、今後のロードマップに対する興奮が生み出されました。

まとめ

ハッカソンは Stellantis と AWS ProServe の VEW プロジェクトにおける重要な差別化として登場しました。 今までに 4 つのイベントを通じて、600 を超える方々がデモに参加し、合計で 18 のユースケースが開発されたことを誇りに思います。ハッカソンは多目的での利用が可能なツールであり、プロジェクトの開始を加速するためだけでなく、最も複雑なユースケースを解決したり、アジャイルな働き方を再確認したり、さまざまな課題に直面しているチームを動員するためにも利用可能です。Stellantis と AWS ProServe はこれをプロジェクトの習慣とし、密接な協業が必要な重要なユースケースを加速するために、一年に複数のセッションを設けました。

我々のベストプラクティスに従い、プロジェクトのデリバリを加速するためのメカニズムとして、ハッカソンをご利用ください。

このブログはソリューションアーキテクトの渡邊翼と畔栁竜生、スペシャリストの橘幸彦が翻訳を担当しました。