Cisco Global の社内ハッカソン (ASIC) に参加して ~ハッカソンの概要とデモ~

#はじめに
本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2021 (一枚目) の 15日目として投稿しています。
非常に興味深い内容で様々なトピックが投稿されていますのでぜひご覧下さい！

- 2021年版(一枚目): https://qiita.com/advent-calendar/2021/cisco <<-こちら
- 2021年版(二枚目): https://qiita.com/advent-calendar/2021/cisco2
- 2020年版(一枚目): https://qiita.com/advent-calendar/2020/cisco
- 2020年版(二枚目): https://qiita.com/advent-calendar/2020/cisco2
- 2019年版: https://qiita.com/advent-calendar/2019/cisco
- 2018年版: https://qiita.com/advent-calendar/2018/cisco

##目次 :pencil:
[1.はじめに](#1 はじめに)
[2.Cisco社内ハッカソン (ASIC)](#2 Cisco社内ハッカソン (ASIC))
[3.ASICハッカソンのルール](#3 ASICハッカソンのルール)
[4.ASICハッカソンの実施内容](#4 ASICハッカソンの実施内容)
[5.ASICハッカソンの感想](#5 ASICハッカソンの感想)

##ご挨拶
こんにちは。2020年度にCisco Japanに新卒入社した @dnozaki と申します。 
現在はCiscoのプリセールスエンジニアとしてお客様への提案活動や技術的課題のサポートをするべく、日々新しい知識や経験を増やしています。
2021年の夏にはCiscoのAPJC Globalで実施されているハッカソンに参加させていただきました。

今回は**「Ciscoの社内ハッカソン」**をテーマに、私たちの作成したプロトタイプのご説明を交えてご紹介していきたいと思います。

本記事をご覧いただくことで、
- **「外資系IT企業で行われているハッカソンはどのような内容なのか？」**
- **「これから社内のハッカソンに参加したいと思っているがどのようなテーマで実施されているのか？」**
といった疑問が解決できると思います。

**前半でハッカソンの概要**、**後半で作成したプロトタイプの内容**についてご説明いたします。
適宜、図やイラスト、動画を交えてご紹介いたしますので、雰囲気だけでも掴んでいただけますと幸いです。
それでは早速見ていきましょう！

#Cisco社内ハッカソン (ASIC)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/555cda68-3feb-6952-a2b2-e6e1d8a59724.png)
##Cisco ASIC Hackathon とは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/3891ec66-c615-05b3-42ef-68ce2b39787e.png)
まず、Ciscoで実施されているハッカソンの内容についてご説明させていただきます。
Ciscoでは毎年7月~9月にAPJC※のグローバルで**ASIC**と呼ばれるHackathonが開催されています。
（※APJC＝アジア太平洋地域。Asia Pacific,Japan&Chinaの略）
**ASIC**という名前は「**A**PJC **S**E **I**nnovation **C**hallenge」の略称です。
以下では、Ciscoでの名称に倣い、Ciscoの社内ハッカソンについて度々ASICと記載させていただきます。

##ASICの目的
ASICでは主に以下の2点を目的として実施されています。

1. **ユースケースのプロトタイプの作成を通じた貢献**
2. **コラボレーションの促進**

プログラマビリティやユースケースのプロトタイプを作成することを通し、
**お客様やパートナーのビジネス上の成果の達成に役立つこと**を目指しています。
また、**組織を跨いだコラボレーションを促進し、共に学ぶこと**も大きな目的の一つです。

##テーマ例
**ハッカソンで取り組むテーマは基本的に自由**で、各チームの決定に委ねられています。
その中でもFY22のセールス上の重要なテーマに取り組むことで追加のスコアを獲得することができます。

下記はそのテーマの一例です。

- **SASE**
- **Full Stack Observability**
- **Multicloud**
- **End-to-End Infrastructure**
- **Hybrid Work / Return to Office**

上記にはトレンド性の高いトピックも多く含まれており、評価対象になることもあって、
各チームが取り組んでいたテーマも上記に関連したものが多かった印象です。


#ASICハッカソンのルール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/79ddb722-ae09-47f3-8ab4-03fbb356ab52.png)
##チームメンバー
1チームあたり**2~3名**の構成となります。
また、組織を跨いだチーム構成の場合にはボーナスポイントが付与されます。
具体的なCiscoの参加組織としては下記が該当します。

- **Systems Engineer**
- **Customer Experience**
- **Customer Experience Centers**

私たちも組織を跨いだ構成のチームを組みハッカソンに取り組んだため、
組織間のコラボレーションを促進する良いシステムだと感じました。
(実際に組織を跨いで構成されたチームは**26%**あり、**4組に1組**は他部署の方々と参加されていたようです。)

2021年(FY22)のASICではSE/CX合わせて**107名**が参加登録し、**21チーム**が後述する**2 Days Hackathon**に参加していました。

##参加資格
APJCのSE、またはCXのメンバーであれば基本的に**どなたでも参加**することができます。
参加チームの国としては、**中国、インド、シンガポール、フィリピン、タイ、オーストラリア、ニュージーランドなど**、多岐に渡っていたことも印象的でした。
**職種や国を問わず、様々な背景を持つ方々と交流できるのは、グローバル企業が行うハッカソンの強み**だと言えます。

##評価要素
ハッカソンの評価要素としては、主に下記の4つが対象になります。

- **プロトタイプのクオリティ**
- **ビジネスとの関連性**
- **複数の技術の連携**
- **ユーザビリティ**

技術を組み合わせてプロトタイプを作成するだけでなく、
ユースケースを想定しながら構想していくのがASICの魅力の一つでした。

##スケジュール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/0b3fdb07-e383-f2fa-e62b-065bf6c37224.png)

FY22のASICハッカソンは下記のスケジュールで実施されました。

- 7月9日：チーム登録
- 7月28日：トピック登録
- 8月6日：ユースケースの提出
- **8月25,26日：2日間のASICハッカソン (Online Meeting)**
- 9月10日：最終成果物の提出
- 9月28日：Live Judging Event (トップチームの発表)

7月の上旬にチームが結成されてから、およそ2週間に1度のペースでマイルストーンが敷かれています。
8月の後半には**メインイベントである2日間のハッカソン**が開催され、参加チームが一同に介して**プロトタイプの作成や中間発表**を行います。
2日間のハッカソンに臨む前に取り組むトピックやユースケースを決定しているため、集中して構想をプロトタイプに落とし込む作業に取り組むことができると感じました。

##最終成果物
ハッカソンのゴールとしては、下記の3つの成果物を提出することが定められています。

1. **プロトタイプ**（Githubへのコードのアップロード）
1. **ユースケースのスライド**（規定のマイルストーンごとに作成）
1. **プロトタイプのデモビデオ** (6分間以内）


プロトタイプの作成もさることながら、デモビデオの作成にも時間を要しました。
これらは2日間のハッカソンで完成させることは難しく、最終成果物の提出日までの期間も使っての作成になりました。
最終的には、上記3点が評価要素を考慮の上、トップチームが選出されることとなります。

#ASICハッカソンの実施内容
ここからは実際に私たちのチームが取り組んだハッカソンの内容について、概要にはなりますが、その一部をご紹介させていただきます。
こちらをご覧いただくことで、これからハッカソンに取り組む方へイメージがお伝えできれば幸いです。

##チーム編成
まず始めに、どのようなチームでハッカソンに臨んだかを記載させていただきます。
私はSE/CXの同期の方々とASICに参加させていただきました。
メンバー構成は下記のようになっています。

- **Partner Systems Engineer** x1
- **Customer Experience and Services (CX) Engineer** x1
- **Account Systems Engineer** x1 (私)

チームメンバーはそれぞれの声掛けから集まった有志です。
普段の業務で接点はありませんが、**密に連携することでチームワークも深まり、組織横断の信頼関係を築くことができた**と感じています。

##テーマ内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/5219c614-bce8-3998-b2f3-fd267b510a4b.png)
###ユースケース
**「ハイブリットワーク」** をテーマに掲げ、下記のユースケースに取り組みました。

**ユースケース名：**
**「Remote Work Solution for Employee’s Mental Health.」**
**(リモートワーク環境での精神的ストレスの可視化と緩和)**

具体的には、
**「リモートワーク環境下におけるメンタルストレスを自己認識し、必要に応じて共有することで相互理解と緩和を図る」**
ということをプロトタイプの目標としています。

###テーマ選定の背景
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/faa3375c-342f-74a3-0d3e-12597b0bec9f.png)
全世界でスタンダードとなったハイブリッドワークにおける課題を解決したいと考えたため、このテーマに取り組みました。

リモートワーク環境下では良さもありますが、**感情を表現することや相手を思いやることが対面よりも難しい**といった課題があります。
それに加え、世間全体のトレンドとして、**ヘルスケア領域の関心**が高まっています。

**課題を解決に繋げたいという思い**と、**ビジネス的な需要**を考慮して上記のユースケースを選定しています。

##プロトタイプの構成要素
核となる構成要素は3つあります。

- **Webex**による**セルフアセスメントサービス**の作成
    - **Webex API** と **Node-RED** を連携させ、**自己のメンタルを自己評価できる完全自動なChatbotサービスの実現**を目指します。
- **心拍センサー**による**生体情報の取得**
    - 腕時計型デバイスに**心拍センサーを搭載したANT+（近距離無線通信）**による**生体情報の収集**により、**潜在的な身体情報を取得**します。
- **メンタルヘルスの可視化**
    - 収集した生体情報と自己評価情報を**Python（Matplotlib）で描画し、差分情報を表示し可視化**します。

**自己認識と客観的な生体情報を組み合わせる**ことで、**精神的なストレスを正しく認識**することが可能になり、
従来は目に見えてこなかった**メンタルヘルスの状態**を必要に応じて上司などに共有しながら**周囲と相談**することもできるようになります。

##サービス実現の流れ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/b4f72bf1-d3d7-532a-7f6a-a56bb020ee39.png)
上記の図に示すように、

1. **データの取得**
1. **データの集中と分析**
1. **可視化**
1. **フィードバック（自己理解・共有）**

といったフェーズに分解することができます。
データの取得に関しては、心拍データとWebexサービスによる自己評価の2つのデータをCSV形式で蓄積していきます。
そして、集まったデータをサーバに収集し、人が見やすいグラフなどの形式に整形します。
最終的に、アウトプットされた結果を見て、自己理解や他者との共有に役立てるという内容です。

##プロトタイプのデモビデオ

作成したサービスの全体の説明としては以上です。
最後にプロトタイプの説明のデモビデオがありますのでそちらを紹介させていただきます。
約3分の短い動画ですが、**プロトタイプのコンポーネントや流れが視覚的にご理解いただけると思います**。

<iframe width="560" height="315" src="https://www.youtube.com/embed/RHwo2KXBlxg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

#ASICハッカソンの感想
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865731/a352ee39-cb24-eb06-c535-05924281105a.png)
本記事の最後に、ASICに参加しての感想を述べて締めたいと思います。
一言でまとめると、**「普段の業務では得られない刺激的な経験ができるのがASIC Hackathon」**でした。

**全くの0からプロトタイプの作成までを短期間で行うハッカソンには難しさ**もありましたが、
**ビジネスユースケースを想定しながらソリューションを形造っていく魅力**があると感じました。

また、プログラムの経験以外にも、下記のような良い側面もありました。

- **新しい知識の獲得**
    - Webex Chatbot API
    - Node-RED
    - Webhook
- **既存スキルのアウトプット**
    - Premiere Pro 動画作成
    - Python Data Analysis
- **業務を超えた繋がりの構築**
    - Partner SE 
    - CX Engineer

上記3点の新しい知識の獲得や既存スキルのアウトプット、業務を超えた繋がりの構築は、
ASICに限らず、社内ハッカソン全般に言えることかと思います。
ハッカソンに参加することでこのような**知識や経験が得られる**ことも大きな魅力だと感じました。

実際のハッカソン期間中は通常業務と並行して行っていたため、
時間の調整が難しく、週末や空き時間を利用しての作業も多々ありましたが、
充実した経験を得ることができ、参加して良かったと感じています。

ぜひ皆さんも来年のASICや他ハッカソンに参加されてみてはいかがでしょうか。
**本記事が皆様の疑問を解消し、皆様の背中を押す一助となれば幸いです。**

#One More Thing :gift:
本記事はASICに参加したチームメンバーと連番で執筆させていただきました。

- 本記事で紹介しきれなかった**プロトタイプの詳細なコンポーネントの内容**
- **心拍センサー と Raspberry Pi の連携の仕方**

など、詳細にご興味を持っていただけた方がいらっしゃいましたらぜひ[こちらの記事](https://qiita.com/koshimi2468/private/dc3af1e58704677a4292):pencil:もご覧ください。

最後までお読みいただき、ありがとうございました。
それでは、またどこかの記事でお会いするのを楽しみにしています！

#免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。