見出し画像

世界初『SmartHR×Smart相談室』連携機能「SSO」。開発エンジニアに裏話を聞いてみた。

2022年9月21日に、「SmartHR」のID/PWを利用して「Smart相談室」にログインし、サービスをご利用いただける機能を提供開始いたしました。本機能により、SmartHRユーザーは、「SmartHR」ID/PW に「Smart相談室」IDを紐付けることで、「Smart相談室」をスムーズにご活用いただけます。

*SSO(Single Sign On)…シングルサインオンの略称です。一度ユーザー認証 (ログイン) を行うと、以後そのユーザー認証に紐づけられているシステム・サービスを、追加の認証なしで利用できる機能を指します。

左【変更前】ログインページ   ⇨   右【変更後】ログインページ


今回は、開発初期段階から携わった長濱さんを中心に、この一大プロジェクトに挑んだ3名のエンジニアへ、広報の三浦が開発の裏側をインタビューしました。

猛者揃いの開発メンバー

長濱 寛幸|Hiroyuki Nagahama
バックエンドエンジニア
エンジニア歴約10年。通信販売系の社内システム、通信販売管理システムの開発、パッケージ開発、医療人材紹介系で複数の社内システム開発運用保守などを経験。
前職では複数の社内システム起案、設計開発やAWSを用いたインフラ、共通利用サービスの運用保守など幅広く業務を担当。
開発言語:Ruby, Javascript
趣味:スノーボードなどのウィンタースポーツ、国内旅行、登山など

山根 翔太|Shota Yamane
バックエンドエンジニア
エンジニア歴約15年。SESで金融系、通信系の案件を経て、事業会社に転職してからは、ソーシャルゲーム、社内システム、飲食店支援サービス等様々な開発に携わる。
前職ではリーダーとして新規事業の医師採用ツール『M3Careerプライム』の立ち上げメンバーとして貢献。
ビジネスサイドと一緒にプロダクトを作り上げるのが好きなエンジニアです。
経歴:exエムスリーキャリア、exぐるなび、excrooz
経験言語:C、C#、VB.NET、Java、PHP、Ruby、Javascript
趣味:フットサル、スキー、スノーボード、音楽、海外旅行、猫


Yさん|現在匿名
QAエンジニア
エンジニア歴約20年
組込系のプログラマとして携帯電話のミドルウェア~UIの開発に携わる。第三者検証会社での評価業務を経て、近年はQAエンジニアとしてサービスの品質・使い勝手の向上を目指した活動を行っている。
経験言語:C、 C++
趣味:バイク、車、昔のマンガを読むこと

社内DocBaseより

『SSO』が生まれた背景

ーーはじめに、SSO機能開発が決定した背景とプロジェクトの全体像について教えていただけますか?

長濱さん「SmartHRのグループ会社として、よりユーザー様に便利且つ喜んで頂ける機能を模索していたところ、代表の藤田やSmartHR役員の方との間の話でSSO機能の提案が出てきました。時期的には今年GW前辺りにチラホラっと話が伝わってきて、最終的には、GW後にはグループとしての『相乗効果を狙いたい』『導入いただける企業数増加』を目的として開発が決定しました。他の機能については、開発メンバーもそもそも忙しく、提案と同時にGOって状態でしたね(笑)
そこからSmartHRのエンジニアの方と打ち合わせをして、最初の調整を5月中旬あたりに行い、着手となります。

ーーメンバーのアサインと開発期間はどうやって決まったんですか?

長濱さん「これを最優先でやってくれと言われ、どんなに僕が頑張っても3ヶ月じゃ無理ですって話をしたんですよ(笑)。但し、事業としてとても重要な機能になることとと、なるべく早くリリースをという藤田さんの気持ちもあり、開発チームで検討して、バックエンドエンジニアの山根さん、そしてQAのYさんの3人で3ヶ月で開発をすることに決まりました。」


ーーみなさんそれぞれの役割は?

長濱さん「まず認証関連のところは、僕が担当。画面上で見えるところや認証基盤との繋ぎこみ、またはSmartHRのサーバー繋ぎこみは全部山根さんがやったんですよね。そして山根さんが繋ぎこみする物は僕が準備しておいたという感じですね。」

山根さん「概要設計・基本設計とその前提の調整までは全部長濱さんだったよね。」

長濱さん「そうそう。それで詳細設計からは山根さんとアジャイルに開発調整しながらやっていった感じですね。」

山根さん「自分が入るまでに、一回長濱さんがシステムに入って動かしてたよね。他の業務しながらちょこちょこ接続テストをやってたね。」

長濱さん「基本設計が終わって、接続できることを確認できたら”山根さんこれで取り敢えず動くから、あとは宜しく!!”と言ってパスをしてお願いしちゃいました。ちなみに、お仕事をお願いする前は山根さんもめちゃくちゃ忙しくって、僕が対応をしていたという感じです。」

長濱さん「そして、最後の1ヶ月でYさんが全てのQAをやり切ったんですよ。」

Yさん「いやいや、全部ではないです(笑)長濱さんと山根さんも一緒に3名でやりました。半分くらいはやっていただけたかなと思いますね。」

プロジェクトならではの困難

ーー短期間でギュッと開発するのが大変だったのでは?

山根さん「実は期間的なことはまぁまぁ想定内だったんです。ただどっちかと言うとSmartHRの仕様を理解することが難しかったんです。

長濱さん「そうなんですよ。ここはデータ構造を理解するには操作した時の挙動を把握し、画面操作をガリガリやるのが早いんですよ。質問するよりも実際触って把握した方が早い。でも大変だったんです。」

長濱さん「あとは既存の認証方法も並行して動かすことが難しかったですねSmart相談室でもSmartHRでもログインするとした時に、できることが同じじゃないとおかしいので、それを今後の拡張性も踏まえて上手く設計に落とし込まないといけない。例えば、雇用形態のマスターを作成する時には今まではSmart相談室側で管理できればよかったが、連携するとなるとSmartHR側から雇用形態をデータを取り出して活用しなくてはならない。これが一番簡単で、部署別やユーザー別などとなるともっと複雑になるんです。

山根さん「エンジニアの方に分かり易く言うと、公開さているドキュメントは外部に公開されているものと同じ条件。その中で開発を進めるということですね。ここは、グループ会社とは言えど機密情報となる観点から、むやみにデータを公開しないという理由があるので仕方ないのです。」

長濱さん「でも、SmartHRのエンジニアの方から”こちらの開発が必要であれば対応しますよ!”と言って下さって、今回の認証開発の一部をお願いすることになりました。」

チームとして

ーー3ヶ月で開発を進めるというのは実際どうでした?

長濱さん「現実的な範囲を僕と山根さんで話して決めた期間でした。なるべく正確な見積をした結果ですね。」

Yさん「お二人でやってるのを見ると、意識合わせと決断が超早いんです。

長濱さん「確かに。。それには、相手の力量がとても大事になると僕は思ってます。結局、お互いが質問した時の意図を正確に汲み取って実現しなくてはいけないので、チームとしての力を加味しての内容です。」

Yさん「元々お二人とは顔見知りということもあって、とても些細なことも質問しやすいんです。相手がどんな感じかよくわからないまま仕事する場合は、お互いの意図を汲み取ることや質問の仕方を考慮しますが、遠慮なくスピード感持ってできるのですごくやりやすいです。」

リリース当日の様子

ーー当日はどんなお気持ちでしたか?

長濱さん「僕はめちゃくちゃ緊張してましたね(笑)藤田さんもめちゃくちゃ期待してくれてましたし、”これまでやってきたことがやっとリリースされるんだ”と言ってましたからね。グループ会議でもSSOについてよく発言されてたので、こっちは緊張しますよ!」

山根さん「当日はそうでもなかったですね。緊張はしてなかった。二人で段階的にリリースをしていて万全な体制を作っていたのですが、、、。トラブルになった時の方が”やばい”って思ってました(笑)」

Yさん「どっちかというと緊張してましたね。手を動かしての開発ではなく最後のチェックメインの仕事なので、見落としがないかと常に考えますね。」

ーートラブル発生しましたよね。

山根さん「午後1時にまずはSmartHRの従業員向けにSSO機能をリリースし、いきなりログインできないという事象が発生したんです。30分掛けても解決しなかったので、一度クローズして長濱さんと部屋にこもって作業しました。」

長濱さん「山根さんと”あーでもない、こーでもない”と言って作業を行い、午後4時に再度リトライして無事に正常稼働になりました。そして、原因は管理者アカウントの方が想定外の使用をされていたからでした!」

リリース後の変化

ーーその後、何か周りの方からお声がけなど変化はありました?

山根さん「SmartHRの労務担当の方からSlackで連絡がありましたね。とてもホッとしました。」

先程はありがとうございました!
無事全員分連携して、ログインできたの報告もいただいてます!
引き続きよろしくお願いします!

長濱さん「既に数社SSO機能の導入が決定して、今後も続々と進んでいくと営業サイドから聞いています。12月には大規模の企業導入も決定しており、どきどきしている状態です(笑)。


ーーリリースをしての感想を教えてください。

山根さん「この機能で相談者様がワンクリックで操作できるようになって、本当に良かったなに尽きますね。また、移行作業中に”めっちゃ使いやすい”とある企業の労務担当の方から言ってもらって嬉しかったです。」

長濱さん「ログインできたと聞くとホッとしますね。」

ーー開発の難易度はどれくらいだったんですか?

山根さん「正直それは分からないのですが、この3人だったからこそ、この期間でリリースできた、と思ってます。もしかしたら他社だと10人で1年かかるのでは?と感じますね。藤田さんのGOからリリースまでが本当に早かった社長がやりたいと言って、開発まで降りてくるのが早い。

長濱さん「藤田さんが明確に開発の優先度を全員がいる会議などでも示してくれるのが良かった。その為他の差し込みもなくできたんですよ。あとはリーダーの亘さんや業務委託の方が他案件を全て引き受けてやってくれたおかげでこちらに注力できたというのもありますね。」

最後に

ーーSmart相談室へ応募を検討してる方にメッセージをお願いします。

山根さん「結構スピード優先で、取り敢えずはまずは外に出すという形で進めてます。そうなるとデザインはまず最低限必要なのですが、人が足りてません。。デザイナー兼フロントの方是非きて欲しいです!」

Yさん「開発陣との距離が近いので、QAとしても早い開発段階からいろんなことを話ながら進められるのが魅力です!コミュニケーションとりやすいですよ。」

長濱さん「程よいプレッシャーと裁量感を持って、意味のあることができます。裁量感というのは僕はすごいなと思っていて、システム設計・概要・仕様・操作方法は現場でほぼ決めてしまう。責任感を持って成長したい方には良い環境だと思います。」

(取材・文:@Mayuko_Miura


『従業員の「モヤモヤ」を解消し、日本の生産性を向上させる』というミッションのもと、メンタルヘスルケアの概念を覆すオンラインカウンセリングサービスを運営するSmart相談室。

現在Smart相談室は、エンジニアを含めた幅広い職種で採用を強化中です。エントリー、ぜひご検討ください。


X(Twitter)では毎日情報を発信しています。ぜひフォローしてください!