TECHSCORE BLOG

クラウドCRMを提供するシナジーマーケティングのエンジニアブログです。

CRM SaaS、Synergy! の2年半のモダナイズのとりくみ(とこれから)

2020年より七転八倒しながら進めてきた Synergy! モダナイズプロジェクト、NEWT が2022年8月に完了しました。2年半のプロジェクトを、プロジェクトマネージャーと振り返ります。

馬場 彩子(ババ アヤコ)
2001年入社のシナジーマーケティング最古のエンジニア(ほんとは2番目)。最高技術責任者。2005年ローンチのクラウド型CRM、Synergy!はローンチの開発に携わっていたが、いまどんどん書き変わっていてとてもうれしい。好きなものはビールとカニ。


NEWT プロジェクトとは

シナジーマーケティングが提供する CRM SaaS、Synergy! は2005年にローンチしました。今でも多くのお客様に利用されているシステムですが、さらなる顧客体験向上のために「変化し続けられる」「開発者体験(DX)が向上する」コード基盤を獲得するべく、Synergy!の基本機能をモダナイズするプロジェクトを2020年に開始しました。モダナイズ対象は Synergy! のフォーム機能とデータベース機能です。

プロジェクト名の NEWT は、再生能力の高いイモリにあやかり、18年目のSynergy! を今の技術で再生しよう、と名づけました。ロゴもつくりました。

お腹のピンクがかわいい

NEWT のプロジェクトの方針は3つあります。

  • リライトする。
  • 機能は追加しない。UIは刷新する。
  • 少しずつリリースする。

ひとつめは、リファクタリングではなくリライトすること。一般的にリライトは悪手だといわれますが、2005年に採用したフレームワークの経年劣化は激しいです。DX の向上を達成するには、フレームワーク、アーキテクチャの刷新は必須と考え、リライトすることを決断しました。

ふたつめは、機能を追加せずUIは刷新する、ということです。実は、Synergy! のリライトは、過去何度か企画したものの、やりとげることはできませんでした。その理由のひとつに、「リライトと同時に新機能の追加も計画し、企画が肥大化してしまう」ことがありました。せっかく書き換えるなら、とどうしても事業側から機能追加の要望がでてきます。ただ、Synergy! は日々お客様に利用されています。お客様が多種多様な方法で利用しているサービスをリライトするには、既存機能の細部を理解しなければいけなかったり、何をどう作り替えるか見極めなければいけません。お客様がいない状態で0からソフトウェアをつくるのとは違う難しさがあるのです。難易度が高い「リライト」をしっかり完遂するために、スコープを絞る必要があります。そこで、機能を追加しないことを徹底した上で、UIは現在に合わせた形でブラッシュアップすることでユーザ体験を向上させる、と宣言しました。

みっつめは、少しずつリリースするということです。スコープを絞ったとしても巨大で困難なプロジェクトであることに変わりはありません。プロジェクトをやりぬくためにも、小さくリリースし、経験から学習した上で、アプローチを変化させられる方法を採用しました。

NEWT プロジェクトには、Synergy! 開発に本格的に携わるのが初めてのメンバーが多く従事しました。チームには、PM を配備し、何のために何をつくっていつリリースするのか、エンジニア、PdM、デザイナーが議論しながらきめていき、2022年8月には予定された機能のリリースを終えました。

PM(プロダクトマネジャー)インタビュー

プロジェクトの方針を定めて実行していったものの、やはり一筋縄ではいきませんでした。ここからはプロジェクトをリードしてくれたプロダクトマネージャーの3人に話をきいていきます。


――― まずは、みなさんがどのように NEWT プロジェクトに関わったのか、教えてください。

下山: 2020年にフォームのPMをしていましたが、2021年の育休を機にフォームのPMを石田さんにひきつぎました。

石田: 最初は Synergy! LINK のモダナイズを実施しました。短期間でしたが、自動データ処理機能の魅力をあげようと行動履歴エクスポートなどの機能も開発しました。次はフォーム機能のPMを担当。フォームは、長い歴史があり要望も多い機能でした。

宮垣: データベース機能のPMを担当しました。旧機能をディスコンすることが決まっていることが、他の機能との違いです。


――― 2年半。長期のプロジェクトが終わりました。NEWT で書き換えた新機能や NEWT のプロジェクトで「ここがすごい!」というところはありますか?

下山: 開発プロセスが大きく変化したことです。以前は仕様書をデザイナーと PM で作成し、その仕様にそってエンジニアが開発する、という受発注の関係でした。エンジニアとの距離も遠く感じました。 今は、エンジニアと話し合いながら何を作るか決めています。手戻りも減りました。 また、最初にエンジニアのSさんが、PBI(プロダクトバックログアイテム)を作成したり、それを全員で議論してリファインメントするフローをチームでやってみることを提案してくれました。運用しながら改善を繰り返し、今ではすべてのプロダクトチームで取り入れられています。

石田: 私も開発プロセスは新鮮でした。自分は SIer 出身で、そこでは設計と実装が完全に分離していました。今は、何をどう実現するか、チームメンバー全員で意見を出し合っています。また、新フォーム機能は旧フォーム機能と比較して明らかに使いやすくなっています。ライブプレビューなど、しっかりUIを作り直し、再生できていると感じます。

宮垣: DX(Developer Experience)の改善が効果を発揮し、お客様からのフィードバックを製品に反映させるサイクルが早くなったことです。NEWT 後の今期、データベースチームでは「週一リリース」を掲げて活動しているのですが、いまのところ実践できています。これは NEWT の成果ですね。


――― PMをやっていて、うれしかったことは何ですか?

下山: リリースできたことはもちろんそうです。あと、新フォーム機能の利用者が増えてきていることは、すごくうれしいですね。

石田: (フォーム機能の中の一つの)ファイルアップロード機能のリリースです。当初の計画でうまくいかず仕切り直したのですが、リリースできたときはうれしかったです。旧フォームのファイルアップロード機能も担当していて中身を知っていた機能で、思い入れもありました。 新フォームではPMM(Product Marketing Manager)、デザイナー、エンジニアと協力して仕様を決定してリリースすることができました。 苦労があった分、今も新フォームで利用されているのを見るのは励みになっています。

宮垣: 管理画面のメニューを整理整頓したことです。例えばデータの一括操作のメニュー項目が4つぐらいあったのですが、今はひとつになりました。細かい点ですが、そこも使いやすく進化したと感じます。あとはアンケートなどでよいフィードバックをもらえるとうれしいですね。


――― プロジェクトを通して苦労したことも、ぜひ教えてください!

下山: プロジェクト初期は、プロセスも意思決定方法も決まっていなくて、苦しかったです。スケジュールはあったので「仕様もきまっていないのに、リリース日が決まっている」という状態で、エンジニアにもなかなか理解を得られませんでした。そこから、役割や仕様、スケジュールを話し合ってきめていき、今はスムーズにチームがまわっています。

石田: 新フォームのPM としてチームにジョインしたとき、開発しようとしている機能の仕様の背景や経緯を理解していなかったことです。立場的に仕様の判断をすることもあり、とても苦労しました。ここはとにかく旧機能をさわるしかないと、勉強していきました。

宮垣: ひとつめは、企画です。データベース機能は旧機能のディスコンが決まっていたので、どれをいつまでに実装するのか、計画を立てるところは混沌としました。メンバー間で同期をとったり、粘り強くコミュニケーションして、計画を具体的にしていきました。また実際に実施したことが PdM フレームとして整理されています。 ふたつめは、ディスコンそのものです。いまも使われている機能のディスコンは Synergy! でははじめてです。社内外の影響とそれに対してどういうコミュニケーションをとったらいいのか、設計するのは困難でした。PMM にはとても助けられています。


――― これまでとチームやプロセスが大きく変化した、とのことですが、自身が学んだこと、成長を感じたことは何でしょうか?

下山: 考え方が変わりました。今まで自分は「機能」をつくっていました。そのため、当初は NEWT プロジェクトでも「Classic と同じ機能をつくる」ことがゴールだと思っていました。そこをデザイナーのYさんがなんども「なんのために?」「お客様がどう利用することを想定しているのか?」と問いかけ続けてくれたおかげで、単純に同じ仕様であればよいという考えから、なぜその機能が必要なのか?どう利用しているのか?を考えるようになりました。真のゴールに向き合えるようになったと感じます。

石田: 伝え方が大事だということを学びました。先ほども話した通り、私はプロダクトへの理解が浅い状態で PM としてチームにジョインしました。当初は、エンジニアの提案した仕様に対して意見があった場合はすぐに率直に伝えていました。ただ、自分がジョインする前に議論尽くした仕様だったりすると、前提知識の少ない自分の意見は(当然だが)「なんで...」とチームメンバーから反発をうけることがありました。相手が自分の指摘をどう受け取るか想像する、どう感じたか率直に聞く、その上で自分の意見をいうことにより、建設的な会話になります。意見を出し合う際に、建設的な場を皆で作り上げること、よいプロダクトを作るにはこれらが大事であると感じました。在宅・リモートでの作業が多い今だから、特にそう感じました。

宮垣: 決断力が向上したと感じます。サービス利用状況のデータやユーザヒアリングなどの情報があればそれに基づいて判断すればいいのですが、そういう根拠が毎回あるわけではありません。そういう状態で決める、ということができるようになりました。もちろん、決めて、やってみて、違ったら、改めたらいい、ということがわかった。というのもあります。


――― ありがとうございます。最後に、プロダクトをともにつくる若手メンバーにひとことお願いします!

下山: やっぱりコミュニケーションは大事だなあ、と感じています。年も離れていて、なかなか話す機会がないですが、話しましょう!

石田: 大きい仕事でプレッシャーを感じることも多いと思いますが、できると思って任されてます。モチベーションをあげるきっかけにしてください。「よし、やったれ」って思ってもらえると!

宮垣: エンジニアとして技術力を上げるのはもちろんですが、ユーザーが使ってくれるからこそのプロダクトです。ユーザーの意見に積極的に触れてください。サポート日報(サポートにきた日次で共有するメール)など、さまざまなところでユーザの意見をきけるので、ぜひ!

再生したのはチームだった

DX の(飛躍的)向上を目指して開始した NEWT プロジェクト。コードを書き換える過程で、ひとりひとりのプロダクトの理解が深まり、プロダクトへの関わり方がより深くなり、それぞれが意志を表明できるようになることにより、チームのプロダクト創造力が向上していきました。振り返ってみると当たり前のことばかりなのですが、そのときどきで本当に手を尽くして、押したり引いたり、試行錯誤した結果です。

「再生」をゴールにした NEWT プロジェクトが終わり、9月からは「お客様に価値を届けるプロダクトチーム」としてスタートしています。結局、プロダクトってチームでつくって届けています。個々のエンジニアが相乗効果を発揮できるチームに進化したからこそ、サービスも進化できました。システムもチームも、さらにサービスを進化させる土台は整ったので、ぜひ期待してください。

シナジーマーケティング株式会社では一緒に働く仲間を募集しています。