社内技術書をもっとラクに管理するツールを3日で作った | エンジニア&企画合同社内ハッカソンでの学び

こんにちは!ニフティライフスタイル 開発統括部のすながわです。
みなさん、開発合宿やってますか?え、やっていない?それはもったいない!!
もったいない精神が浸透しているニフティでは今年も開発合宿を開催いたしました。

その模様をどこよりも生々しく!有意義な時間を過ごすためのTipsをお送りしようという気持ちでキーボードを叩いています。

メンバー

ししくら(3年目、企画職)

すぎもと(7年目、企画職)

ひらいで(3年目、エンジニア)

すながわ(3年目、エンジニア)

どんなサービスをつくったのか

今回は、業務で使いたいサービス、というお題のもと、
我々のチームでは、社内の技術書を管理・検索出来るサービスを作ろう!ということになりました。

その名もLatestechbook!

 

「L」を本に見立てたロゴがキュートでクールですよね。

 

管理の煩わしさを軽減するため、ISBNを入れればGoogleBookAPIから本の情報を取得してフォームを埋めるような仕様にしたり、

何日前に発行されたかを表示して「あ、これもしかすると古いな・・・・・・」と思わせるようにしています。

すながわ個人としては「本を邪魔せずうるさくないけど、ちょっとポップでおしゃれな感じ」の見た目を作れるように頑張りました。

このサービスが発案された経緯としては、

弊社にはありがたいことにたくさん技術書があるのですが、ありがたくないことに「バージョンが古いかなあ・・・・・・」という技術書も散見されており、

新しいやつ出てるから買えYO!と買い替えを管理者に促すツールがあればいいよね~というニーズからでした。

が、さすがに実質2日間でレコメンドまでやるのはきびしいな、環境構築で終わるな、と現実を省みた結果、

せめて技術書の管理を今より簡単にしたいね・・・・・、と、いうことで、技術書がラクに管理・検索できるサービスを目指して作ることになりました。

ポイント

合宿では注力して開発するために、ある程度妥協するのも大事

POの離脱

と、作るものが決まったものの、企画発案者でプロダクトオーナーだったししくらさんが合宿直前に食中毒に倒れ、合宿に参加できない事態に。

これが合宿での我々のスタンスを変えていく結果となるとは・・・・・・。

ポイント

お金を取って提供するものは、ちゃんと衛生管理して欲しい

開発本番

ダウンしたししくらさんのかわりに、メンバーが4人いた別チームからすぎもとさんが急遽参加。
宿に向かう車中で急いでサービスのインプットをします。

途中昼食を挟みます

湯河原駅前のそば屋うまい。てんぷらもうまい

宿に到着したらさっそく開発を始めます。

ひらいでさんがDBやデータソースの構築をしている間に、企画職のすぎもとさんに対してgitやLaravelの復習講座を行いつつ、画面構成などを考えていきます。

しかし環境構築に苦戦している間、なかなか本開発に入れず若干手持ち無沙汰になってしまう時間も。

ポイント

開発環境構築で止まってしまいそうな場合は先にHTMLを組むなどの作業をするなど、先に作戦を練っておくと時間の有効活用が出来るぞ!

なんやかんやあったものの、開発に入ってしまえば後はいかに集中してコードを書きまくれるかです!

我々のチームでは「アジャイルもどき」を導入して、

まず最低限必要な機能から先に最低限の見た目で作成し、付加的な機能は次以降のタームで優先順位と工数を見極めて開発に取り掛かるという形で開発を進めていきました。

これが功を奏し、早い段階で「本の検索・管理(追加や削除、編集)」といった機能を実現することができ、心理的安全を保障しながら機能追加に取り掛かることが可能に!

ビルディングしたてのチームで、普段あまり慣れていない技術で開発する、しかも限られた時間で、というのは結構ストレスフルなことなのですが、

こういった形で心理的安全を保障するとだいぶ気が楽になるのでオススメです。

ポイント

「本当に時間内に完成するのか?」という不安を早めに払拭しよう

最低限作れたところで、冒頭で紹介したISBNでの書籍登録の仕組みを作っていったり、管理者権限を設定したり、見た目をきれいにしていくような作業を行っていきました。

写真は3ターム目で、合宿後半の時点です。ここまで来ると、イイネボタンや、リクエストランキングなど、本質的な機能よりは、

「これがあれば良い本かどうかわかるよね」「次の購入のタイミングであの本買わせたいよね」といった欲望的機能の追加の検討に入れています。

しかし、この中で実装できていたのは結果一覧の整理や登録画面のキャンセルボタンのみ。

思いのほか、イイネボタンやリクエストは実装するのに想定より時間がかかってしまったためです。序盤だったらメンバー全員が心に致命傷を負っていたことでしょう・・・・・・。

ポイント

気が付いたら合宿が終わっていた とならないように、時には見切りをつけよう

終始穏やかな調子で開発が進み、苦戦することはあっても「うわあ、どうしようどうしよう時間無い!!」と焦ることもなく、無事に完成を向かえることができました。

発表の様子

合宿を振り返って

開発・発表後は振り返りを行いました。

振り返りの内容は画像の通りです、と言ってしまえばそれまでなのですが、上記の中から2点ほどピックアップしたいと思います。

企画職・すぎもとさんの成長

この合宿は、ニフティの「エンジニア定例」というプログラムの一環で行われているのですが、
近年はエンジニア以外にも、普段開発業務を行わない企画職にも参加者を広げています。

合宿序盤は、エンジニア定例で学んだ知識を必死に思い出しつつ苦しそうに開発していたすぎもとさんでしたが、

後半にはゴリゴリcommitを行ったり、書籍の検索ロジックをパワーアップさせるほどの目覚ましい成長!!

本人に感想を聞いたところ、「半年の研修のうち、合宿の3日間が一番成長したと感じた!」「開発の楽しさを感じた」とのことです。合宿すごいぜ。

できることばっかりやってしまった

すぎもとさんが急成長した反面、エンジニアのすながわ・ひらいでは技術的ハードルを越える回数があまり多くはありませんでした。

もちろん苦戦することはしたのですが、

一番ホットな思いをもつPOが居なかったこともあり、夢を見たり、「ぜってーこの機能をつけてやるんだ!」という思いがあまりなく、

「現実的に考えると、こっちのほうが工数的にも早いよね」と非常に冷静に進めてしまいました。

技術的に成長するにはハートも必要なんですね・・・・・・。

ポイント

自分ごとで考えろ 熱くなれ!

いかがだったでしょうか?この問いには「合宿してえ!」「ニフティいい会社だな」という答えを期待しているのですが、どうでしょうか。

めちゃくちゃ学べて圧倒的成長が見込める開発合宿、みなさんもぜひお試し下さい。