🌊

スマサテ for Ownersを3年間開発しての振り返り

に公開

スマサテ for Ownersを3年間開発しての振り返り

こんにちは。スマサテ for Ownersの開発を担当している谷端です。

2023年に入社し、2年強が経ち当時の事を思い出しながら振り返れたらと思い筆を取りました。

私たちが手がけているのは、従来事業者向けに提供していた「スマサテ」を、物件を所有する個人オーナー(いわゆる大家さん)向けに展開するサービスです。

事業開始にあたり、2023年版のスマサテをベースにforkし、いくつかの機能を削ぎ落としたうえでスピーディにリリースしました。
この判断は「とにかく早くサービスを世に出し、オーナーが賃料査定をする実際のシーンでどんな反応があるのか、どの機能が本当に必要とされるのか」を検証するためです。

その後、事業担当者とともに大家の会(エンジニアでいう技術勉強会のようなもの)に参加したり、Web経由でユーザーインタビューを実施し、多くの意見をいただきました。
そこで得られたフィードバックをもとに、必要な機能を優先順位づけしながら、改善と実装を進めました。

スマートフォン版実装とユーザー登録機能の開発

ユーザーヒアリングを重ねる中で、

「スマートフォンですぐ査定したい」「登録後すぐに自分の物件を査定したい」

といったニーズが強いことがわかりました。

今でこそ当たり前のことに思えますが、当時のスマサテは宅建免許を持つ管理会社向けのSaaSとして設計されていたため、PC版のみの提供で、スマートフォン対応は一切ありませんでした。

さらに、アカウント登録は社内で宅建の登録や利用シーンを確認したうえで発行するフローだったため、ユーザー自身がオンラインで登録できる仕組みも存在していませんでした。

これらの課題に対応するため、スマートフォン版の開発とユーザー登録機能の実装を急ピッチで進めました。

加えて、レポート機能の充実といった声も多数寄せられたため、機能追加の開発も並行して行いました。

なぜ技術的負債を返済するのか?

先ほど触れたように、私たちは既存のコードをforkして開発をスタートしました。

既存資産を活用できるという大きなメリットがある一方で、jQueryのコードや整理されていないCSS、Railsのコード内に混在する表示ロジックといった課題がありました。

もちろん、すべてをゼロから書き直す時間はありません。そこで、新規機能は別リポジトリを作成し、Reactを採用して実装する方針を取りました。私自身、前職でReact開発の経験があったため、スピード感と生産性を確保できると判断しました。

例えば、React導入によって開発生産性が20%向上すると仮定した場合、次のような試算になります:

  • 移行しない場合:2年 × 12か月 = 24人月
  • 移行した場合:2年 × 12か月 × 0.8 = 19人月

約4か月以内に基盤を構築できれば、その後の開発コストは十分回収可能という見込みです。

さらに、新規事業では既存技術をそのまま使うだけでは競合に勝てません。先行企業に追いつき、追い越すためには、限られた人員で高い開発スピードを出す必要があります。そのためには、ビジネス面と技術面の両方で生産性を最大化することが不可欠です。

また新技術の導入は既存事業ではハードルが高いですが、新規事業であれば実地での検証を兼ねて挑戦できます。これにより、得られた知見を既存事業に還元することも狙いの1つでした。

実装後の成果

既存機能のブラッシュアップを進める中で、査定数やユーザー登録数は大幅に改善し、事業の成長の兆しが見え始めました。

もともと賃料査定には確かなニーズがあったため、本質的な価値をスピーディに届けられたことが大きな要因です。

利用率やKPIを改善しつつ、オーナーからの声を収集する中で「管理会社を紹介してほしい」という要望が多数寄せられました。

これを受け、事業の軸を「オーナーと管理会社のマッチング」に広げることを決断しました。

その第一歩として、マッチングフォームの最適化や各種ランディングページの作成に取り組みました。

Next.js採用の理由と成果

各種ランディングページではユーザー認証は不要ですが、SEOと開発速度、そして容易なデプロイが求められました。

当初、React導入時は「認証済みユーザーのみ査定できればよい」という要件のため、SPAで実装していました。しかし、LPにおいては以下の課題が浮上しました

  • metaタグの柔軟な設定
  • 高速な初期表示
  • Railsに依存しないフロント基盤

これらを解決するため、Next.jsを採用しました。

当時はルーティング仕様の大幅変更やVercelの価格に関する議論がありましたが、生産性の面で圧倒的に優れていると判断しました。

結果、Next.js導入後はSEO経由の問い合わせが大幅に増加し、この選択が正しかったと実感しています。

アウトプットとアウトカムの話

また事業の成長に伴い現在2名のSESの方と一緒に開発しています。

両名ともフロントエンドの開発は未経験でしたが、最新のトレンドを取り入れチームとして成長しながら開発を進める体制を整えました。

単に外部メンバーだからとチケットを作成しタスクを渡すだけではなく、テスト項目の策定、優先順位の設定、リリースマネジメントを共に行い、開発プロセス全体に関わってもらっています。

また作った機能がどれくらい使われているのかを共有し、開発としてのアウトプットだけではなく、ビジネスの影響度合いを共有しながら実装しています。

複数で開発するからこそ、これまでに取り組んできたフロントエンドのレポジトリの独立化、ドキュメント整備が生きているかなと考えています。

また多くの機能を作るだけではなくどれだけ事業に価値を届けられるかを重視しています。

うまくいかなかったことと今後の課題

この半年間で、査定機能の移行に挑戦しましたが、見積りの甘さから作業が途中のままになってしまっている箇所があります。

またオーナー向けSaaSである賃料査定機能についても、まだ収益化には至っていません。

正直、自分の力不足を痛感する場面も多々ありますが、これを糧にし改善を重ねていきたいと思います。

締め

振り返ってみると、うまくいったこともあれば、まだ試行錯誤を続けていることも多くあります。
当時「ベスト」と考えて選んだ設計や実装に対して「こうすればよかった」と感じる部分も少なくありません。

しかしメンバーが増え、取引先が増え、売上も伸びてきたからこそ、そうした課題が見えてきたのだと思います。
反省すべきところはしっかり反省し、次につなげるという姿勢で日々開発に取り組んでいます。

スマサテでは、必要な要件に対して適切な提案をすれば、スピード感を持って進められる開発方針を採用しています。(もちろん誤った技術選定をしないように細心の注意を払いつつ、もし間違った場合はタイミングを見て迅速に修正します)
またユーザーの声を丁寧に拾いながら開発を進めるスタンスは、全社共通の価値観です。

これから技術の力で新しい価値を届けたい方、ぜひ気軽にお話を聞きに来てください。お待ちしています。

https://www.wantedly.com/projects/2099580

スマサテ Tech Blog

Discussion