Sharing Experience: Yahoo! JAPAN Internal Hack Day at Techbase Vietnam
July 9, 2020
こんにちは!
今回はTBVの親会社であるヤフーが主催するHack Dayというテックイベントに参加した、レチー ユンさんに記事を作成いただきました。ユンさんが体験した感想と経験を皆さんに共有します!
Yahoo! JAPAN Internal Hack Day とは?
世界各国の組織や企業のハッカデイ、ハッカソン、ハックフェストのように、Yahoo! JAPAN Internal Hack Dayは、参加社員がチームのアイデア、開発プロセスを審査員へ向けてプレゼンテーションし、競い合う毎年恒例の夏のイベントです。審査判定において、今の世相にふさわしい製品であるかというのも重要なポイントです。
各チームの開発者、デザイナー、プランナーなどの異なるスキルを持っプレーヤーたちが、最大5人で協力し合います。24時間という限られた時間で非常にプレッシャーを感じる中、すばらしい作品を生み出すために、一緒にブレーンストーミングし、開発に取り組みます。
シーズンごとに、世界の何かの出来事に関連する1つのお題が出されますが、2020年は、在宅勤務時の課題解決に関するトピックでした。
人生のいつかのタイミングで、誰もが夢を実現することができます。Hack Dayはその一つです。
空のように限りなく広い思考を持って、優秀な開発者がやるように、体を曲げて、脳をフル回転させる時が来ました!
Hack Dayは非常に競争が激しいですが、私たちが本当にやりたいことは、モチベーションを高めてそれを拡大させることです!
なぜ私達が Internal Hackdayに参加したか?
他のチームの素晴らしいアイデアや発表を見られることに加え、能力と情熱を表現できる場面で、自分たちが自由なクリエイティブマインドを持って、どんな驚くべきアイデアを思いつくことができるのかを試したいと思いました。
私たちのチームは「わんぱくな」ファミリーであり、同じプロジェクトや同じチームで作業しないこともありますが、Hack dayはチーム全員を団結させる優れた手段だと思います。
誰がこのHackDayに参加しますか?
誰でも参加できます。そして夢を叶えるためにチームで作業をします。
このコンテストでは、日本、ベトナムなどどこの国からでも接続でき、さまざまな国籍の人が参加しました。
開発チームにとって、C ++ / NodeJS / Java / Go / ...に関するスキルを持つ開発者は、間違いなく不可欠です。また、PM、デザイナー・・・ みんなは自分のすべてのスキルを使って製品を完成させます。
どうやってこのInternal Hack Dayで勝ちますか?
私にとって勝つことは、最高の賞を意味するのではなく、チームが当初の課題を超えて、とてもうまく協力し、1つの製品を開発したということを意味します。このコンテストをハッキングする(うまくやり抜く)ための5つのステップがわかりましたので、ご紹介します。
1. チームビルド
一緒にこれをやりたいと思い、チームメンバーが集まりました!!!ただそれだけの理由です。
チームによって違いますが、あるチームは、UXとUIの両方に適した製品を作成するために、開発者とデザイナーがいます。あるチームは、優れた作品を作成するために、開発とPMを平行に実行して、PMがプレゼンテーションを担当します。
チームを結成した後、私たちは一緒に考えて、24時間で完了できるアイデアをを選択し、その完成のために全力を尽くします。
2. コネクト
チームは、すべてを記録するために、コミュニケーションチャネルを作成しました。これはFacebookのメッセンジャーグループ、Face 2 faceなどでした。
私達はまず、人々のニーズやサービスに関するビジネス課題を解決するための技術を選択するために、ケーススタディ(Case study )を話し合いました。私たちは、人々が求めていること、それらのニーズに応えるテクノロジーについてのすべてのアイデアを集めます。みんなが共通の目標に向けて、コミュニケーションし、それを発展させていくことは本当に素晴らしいことですね。
3. 空間
私達は、オフィスというとても広いなスペースがあったので、幸運でした。場所に困ることはありませんでした。
私達には、デスクから離れる十分なスペースがありました。通常のデスクに座るのではなく、一か所に集まることが重要です。
4. ハッキングタイム
話し合って選ばれたアイデアを使って、短い時間でどこまで成し遂げられるかを確認し、チームはとてもストレスの多いセッションに入ります。
ハッキングは、ブレーンストーミングでのアイディア基づいて製品を考え、改善しています。
5. プレゼンテーション
もちろん、誰もがハックデーを完璧に実行できるわけではありません。プレゼンテーションに参加するための完全な製品を提出できないチームがあるからです!
参加チームの数が多いため、各チームには90秒のプレゼンテーション時間しかありません。プレゼンターは、開発チームが製品を作っている間、90秒の緊張で流暢かつ説得力のあるプレゼンテーションを行うことができるように準備する必要もあります。
TBVチームは2020年Hack Dayにどのような製品を開発しましたか?
1.製品の説明
製品は、従業員の体温を計測するためのIoTシステムです。マネージャーと従業員のみなさんはWebアプリでリアルタイムで測定レポートを見ることができます。
このWebアプリは、体温を表示し、体温の高さの区分に応じて従業員に通知を出します。そして、発熱が3時間以上続くと、Webアプリの通知は、従業員とマネージャーに状況を通知・提案します。
2.なぜその商品を開発したか?(チームが考えた課題と解決策・ソリューション)
IoTシステムを商品として開発した理由
・隔離中に自分で体温を測定できない人(忙しい従業員、お年寄り、幼児、患者など)や、その人達の体温を気にしたい人(管理職、親戚、医師など)、両方の課題をサポートできるソリューションを提供したかったため。
・私達のチームメンバーは普段はWeb / API製品に開発しているので、ハードウェア+ Web / API +モノを組み合わせた製品開発という新しい体験をしたかったため。
・チームは、ユーザーにとって実用的で便利な製品・課題のソリューションとなるWeb UIで表示および追跡できる製品を作りたいと考えていたため。
チームに起こった課題と解決策・ソリューション
デバイスに関する課題
・課題: 当初、チームのみんなはArduinoを選択して開発する予定でしたが、サイズはかなり大きく、従業員が首に着用しにくいかもしれないと感じました。
・解決法: チームはArduinoシールド、wifiモジュールなどの他のデバイスを調査、調べました・・・回線の不適切な統合による失敗が何度か発生し、機器の購入とコードの再作成にコストが掛かってしまった経験を基に、今回はNodeMCU ESP 8266を選びました。そして、3本の指程度一つの小さなデバイスを開発しました。
ビジネスフローのアイデアに関する問題
・課題: 当初は、状態と通知を区別するための、体温区分に関するケーススタディが少なかったです。
・解決法: チームは、適した体温区分を作成するために、世界中の医療用体温区分の基準を調査および参照しました。開発は困難でしたが、おかげでより良いアイディアが出てきました。
チームのコンポーネントを結合する問題
・課題: C++、API用のgo lang開発、Webアプリ用のReactJS開発など、コンポーネントが異なるテクノロジーを使用して並行して動作させたため、結合の問題が発生する可能性がありました。
・解決法: 最初に問題が発生しては良くないと考えたので、チームはベーシックのDomain driven designを使用するようにして、各コンポーネントのメソッドとデータ構造を定義し、開発前、開発中にデータをスタブできるようにしました。
3.開発してみた感想
通常の仕事にプレッシャーを感じたり、同じようなタスクを繰り返す機会もあります。そんな中で、他のモチベーションとなる機会を見つける必要がありますね。Hack Dayでは、チームメンバーのモチベーションが高まり、朝6時頃起きて7時前に会社にいました。楽しく開発して、楽しくて完成まで製品を作ってデモをしました!また、何を表示するかを考え出したらすぐ会議を開催して相談し合って常に製品をアップデートしました。 スピード感を持ってすべてを行いました!!
Yahoo! JAPAN Internal Hack Dayに参加して感じだことは、
みんなで力を合わせて製品をPerfectにしていくという姿勢が大切だということです!