こんにちは。開発の吉野です。
N2iの開発チームは今までもこれからも開発を通じて価値をユーザーに届けていくべく日々邁進しています。
今回、N2i初期から現在に至るまでに開発したプロダクト(共同開発含む)の技術スタックや立ち上げ時の開発体制などの情報をまとめました。
なお、受託開発案件に関しては紹介できないものが多いため除いています。
開発したプロダクト
ノリスケ日程調整 【サービス終了】
2018年~2019年
概要:
チャットボットを利用して日程調整を行うためのツールです。
Googleカレンダーと連携して、空いている日程を提示して調整します。
技術スタック:
- Webアプリ / PHP
- データベース / MySQL
- インフラ / sakura VPS
立ち上げ時の体制:
1名
爆速開発しています。
ひとこと:
N2i最初のプロダクトとして弊社の田中が数日で爆速開発してリリースしたものです。
日程調整という機能は今も関係が続くHR領域への道を開きました。
また、チャットボットに関しても、その後の自然言語処理などAIの受託開発の道を開きました(うまくいったかどうかはN2iのホームページ内ビジネスのところ見てください)。
MOCHICA
2018年~
概要:
LINEやメールを利用して、自社に応募してくれる学生とコミュニケーションが取れ、採用管理もできます。
(※MOCHICAは、株式会社ネオキャリア様のサービスです。N2iでは、ネオキャリア様と共同でMOCHICAを開発しています。)
技術スタック:
- バックエンド/ express (Node.js)
- フロントエンド/ Vue.js
- データベース/ MySQL, Redis
- インフラ / GKE (k8s)
- ログ収集、分析、監視 / CloudLogging, Datadog
- タスク管理ツール / Clickup
- その他 / Gitlab, GitlabCI, LINE SDK
立ち上げ時の体制:
4名
全員がそれぞれ独立して開発しました。
ひとこと:
チーム開発の手法など誰もしらない。全員が独立して自分のやるべきことを「勝手に」考えて動くような状況で、いつだってカオスと一緒でした。カオスは友達。
不思議なことに、その中でもプロダクトはなんとなく作られていき、追加機能もなんのその。リリース直前に管理者用の管理画面を急遽実装されたり、応募者への一括送信機能とかが突然実装されたりしていました。
当然のことながらカオスと友達になれるはずもなく、テストコードが無いことも相まって、文字通り歯を食いしばってリリースまで漕ぎつけ、今も運用されているサービスとなっています。
面接コボット for 転職 (旧ノリスケ for 採用管理)【サービス終了】
2020年~2022年
概要:
ノリスケ日程調整の中で採用管理もできるようにアップグレードしたプロダクトです。
チャットボットによる日程調整はより使いやすくなりました。
一人の応募者に対して1次選考から最終選考など導入企業様に応じた選考のプロセスを表現でき、管理していくことができます。
技術スタック:
- バックエンド / Ruby on Rails (Ruby)
- フロントエンド / React.js
- データベース / PostgreSQL, Redis, Cloud Firestore
- インフラ / Heroku, GCP
- ログ監視, 分析, 監視 / NewRelic, Papertrail, Pingdom
- その他 / HerokuCI, Cloud Build
立ち上げ時の体制:
5名
アジャイル/スクラムの開発手法を導入しました。
ひとこと:
スクラムを組んでの開発を試行錯誤しながら進めていきました。が、期待や願望をベースとした意思決定を全体が行っており、見積りのズレや提供する機能のズレ、仕様のズレが多発、繰り返される手戻りや動くMVPのライン、大きくズレる見積り、誰がやるのか問題などによってプロダクトチーム全体に不信感が蔓延しました。
何を信頼すればいいのかわからない状況の中、ひたすら前に進んでいったという感じです。
いったい何が起こっていたのか当時は本当にわからなかったですが、結局のところファクトをベースとしたコミュニケーションが欠如していたことが大きい問題だったと今では思います。
なお、リリースは予定していたところより大きくズレてしまいました。ツライ。
面接コボット / HRコボット for 応募対応
2020年~
概要:
応募者エントリーから日程調整までを完全自動化したプロダクトです。
チャットボットが面接の振り分け業務を代行して応募が発生した時にやっているあんなことやこんなことを自動的に行ってくれるオールインワンの採用管理ツールになります。
(※面接コボット・HRコボット for 応募対応は、ディップ株式会社様のサービスです。N2iではディップ株式会社と共同で開発しています。)
技術スタック:
- バックエンド/ Ruby on Rails (Ruby)
- フロントエンド/ React (TS)
- データベース/ PostgreSQL, Redis, Bigtable, MongoDB
- インフラ / Heroku, GCP, AWS
- ログ収集、分析、監視 / Datadog
- タスク管理ツール / GitHub Projects
- その他 / GitHub Actions
立ち上げ時の体制:
5名
ひきつづきアジャイル。スクラムかは審議。
ひとこと:
すべてがかみ合ってうまくいった開発です。
この開発では初期の段階からスクラムイベントをしっかりとやることはあきらめて進みました。
理由として、少ない期間で学習や改善のサイクルを回すというよりは、日々の密なコミュニケーションによって全員が同じ方向を向き、隣で何をやっているのかお互いが認識し合いながら、自分のやるべきことは自分で考えて自律的に動くことを期待した方がチームのメンバー構成的にパフォーマンスがでることがわかっていたからです。
但し、クリティカルパスは意識して全体に滞りが無いように注意深くやってました。
開発チームやPO、PMがそれぞれの役割を明確にこなした結果うまくリリースができ、現在も続いているプロダクトとなっています。
ノリスケ日程調整(新)
2021年~
概要:
チャットボットを利用して日程調整を行うためのツールです。
Googleカレンダーと連携して、空いている日程を提示して調整します。
技術スタック:
- バックエンド / Ruby on Rails (Ruby)
- フロントエンド / React
- インフラ / GCP
開発体制:
2名~4名
ひとこと:
N2i初期プロダクトであるノリスケのリバイバル。リベンジ。
日程調整ツールは競合がひしめく時代ですが、ノリスケの灯を消すな精神で進みました。
リソースの問題もあり、開発は外部の開発チームが担っています。
バトンタッチ 【サービス終了】
2021年~2022年
概要:
電話をアプリで受け、会話内容をリアルタイムにテキストに起こされ、気軽にURLで共有ができる伝言ゲームをさよならするプロダクトです。
技術スタック:
- バックエンド / Ruby on Rails (Ruby)
- フロントエンド / Next.js (TS)
- ネイティブ / Swift
- マイクロサービス / Go
- インフラ / AWS
- ログ収集、分析、監視 / Datadog
- タスク管理ツール / Zenhub
- その他 / twilio
開発体制:
4名~5名
ひとこと:
開発はスムーズで、フロントエンドにNext.jsを利用したり、いくつかのマイクロサービスにGoを利用したり、Twilioや音声をSpeech to textで会話中に文字起こししたり、リアルタイムチャットなどの実装はとても楽しいものでした。
が、コアとなる「会話内容をリアルタイムでテキストに起こす」部分に利用するGoogleのSpeech to Textがまだまだ精度的に微妙であったことで、サービスとしての品質が担保できない状況にありました。これは開発チームではどうしようも無く、提供する価値の変更を余儀なくされたものの、うまくいかずに最後まで影響がありました。
コアの機能を外部に依存するのは良くなかった...ということを痛感。
ネイティブアプリの開発をもっとゴリゴリやりたかった。
まとめ
以上、どのような開発をしてきたか簡単にまとめました。
色々な失敗を経て現在(2022年12月)があることが改めてわかります。
N2iの社名にこめられた 「New knowledge x 2 = innovation」 を実現していけるようにこれからも新しいプロダクトを作り続けていきます。