エンジニア&企画合同社内ハッカソンでの学び | つながるから、まよわない!「つなまよ」制作記

こんにちは!
入社3年目トリオの韓・夏井・奥野です。
本記事は以上3名の共同執筆です。

先日弊社で、エンジニア/企画合同の温泉ハッカソン合宿を行いました!
今回は、そこで私達が作成したサービス【つなまよ】をご紹介します。

※他ハッカソン関連記事は「若手メンバーで2泊3日のハッカソン合宿@おんやど恵に行ってきました!」をご覧ください。

メンバー紹介

まずは、ノリは良いがクセの強いメンバーのご紹介。

  • 韓 雪雅(プロダクトオーナー)

データベース担当。データへのアクセス速度を気にしがち。
コーヒーと映画が好き。ガンプラも好きだけど最近はご無沙汰。
業務では倉庫システムや決算システムの開発/運用を担当。

  • 夏井 萌子

UI/デザイン担当。色彩選定には一切の妥協を許さない。
蛇と絵画と写真が好きな、多趣味人間。
業務ではニフティポータルサイトの企画を担当。

  • 奥野 雅之

ロジック/アニメーション担当。ワクワクするUXがモットー。
最近はVRにハマっている。流行りものに敏感。
業務ではニフティゲームの企画を担当。

3名とも開発の経験はありましたが
今回の合宿では未経験の領域も多く、学習しながら開発を進めました。

「社員全員が友達になる」をチームビジョンに掲げ
完成度の高いものを作れるよう、楽しく3日間をやり切りました!

それでは、制作物の【つなまよ】をご紹介します。

制作物について

まず皆さんはこんなことで悩んだことありませんか?

「このサービスのシステム担当者と話してみたいけど、誰だろう?」

「Pythonを勉強してみたいけどいいフレームワーク、お勧めしてもらえないかな?」

 

結局「たくさんの人に聞いてやっと分かった…」ということになってないでしょうか。そこで「社内の人をもっと簡単に調べたい」と思い、社内の社員検索ツールの「つなまよ」を作ることになりました。

ではツールの画面をお見せします。
※画像内のデータはダミーとなっています。

こちらがトップ画面になり、左のメニューには検索窓とニフティのサービス名を表示しています。

「このサービスのシステム担当者と仕様について話してみたいけど、誰に相談すればいい?」 調べたいシステム名を押すと、そのシステムの担当者のプロフィールが表示されます。

詳細画面では【職種、座席、スキル、好き】の項目が確認できます。メール送信ができるボタンもあります。

「Pythonを勉強してみたいけど良いフレームワーク、お勧めしてもらえないかな?」
Pythonで検索するとPythonスキルを持っている人のプロフィールが表示されます。
良いフレームワークはこの方々にお勧めしてもらいましょう。

スキルだけではなくて別の項目でも検索できるので、ぜひ好きな言葉で検索してみてください。同じ趣味の社員が見つかるかもしれません。

こだわりポイント

短い時間で完成度を高めるためこだわった部分が二つあります。

1. デザイン・アニメーション

シンプルなテーマに合わせて簡単に使える、使ってみたくなるようなデザインに力を入れました。チームメンバー全員がデザインへの欲望が溢れていることも一つの理由です。

▼使用したライブラリ

2. データ表示の効率化

最初、予想以上にデータの読み込みが遅かったです。
「手軽に使えるツールなのに表示が遅いとダメでしょう!」と思ったので、データの読み込み方法を変えることにしました。

毎回複数のテーブルをJOINしてSELECTする方法ではなく、複数のテーブルを予めJOINしたViewを作成し、そのViewをSELECTする方法に変更しました。実感できるくらい表示が速くなったと思います。

合宿での学び

ひたすら開発に打ち込んだ2泊3日の開発合宿でしたが、もちろん学びもたくさんありました。その中の一部をご紹介します。

1. 工数の見積りはしっかりすべき!

設計後ざっくりタスクを分担しそれぞれ実装に取り掛かったのですが、
「LaravelでDB構築ってどれくらい時間かかるんだっけ…」「そもそもどうやるんだっけ…」等はっきりさせないまま作業分担してしまった為、DB担当の負担がとんでもないことに。。結果DBとフロントの連携ができないことで前に進めず皆でモヤモヤする一日目を過ごしました。

▼一日目、開発中の様子

取り掛かる前に調査し、タスクをしっかり洗い出すべきだったと1日目の夜に反省しました。2日目からは工数の洗い出しや作業分担を丁寧に行い、効率よく作業をすることができました。

2. ナレッジ共有は積極的に!

チーム内で担当部分の技術をお互いに説明する時間を自主的に設けていました。
そのお陰でシステムを体系的に理解でき、何をしているのかが明確になり、大きいマージミスも無く実装できました。ここで細かな情報共有の大切さを改めて実感できました。

まとめ

落ち着く旅館の雰囲気や温泉に入ってリラックスできたりと、
最大限集中できる環境でチーム開発ができたことでそれぞれがたくさんの学びを得たと思います。
最初は3日間も開発漬けか…と少し億劫な気持ちもありましたが、結果とても楽しい3日間でした。

週1回行われた社内勉強会を経てそこで学んだ技術を活かし、企画から実装までチームで行いましたが、ものづくりの一連の流れを体験できたことはエンジニア・企画職共にとても貴重な経験になりました。

学んだ技術や考え方を、今後は実業務に活かしてよりよいサービス作りに励んでいきます。