アソビューAdvent Calendar 2024の11日目(裏面)です。🎄
今年のアドベントカレンダーは2面公開なので、ぜひ表面も御覧ください!
こんにちは、アソビューでチームリーダーをしている近藤です。
アソビューではSaaSを用いてメルマガ配信を運用していたのですが、メルマガの文章作成と配信基盤を内製化したことで大幅なコスト削減に成功しました。🎉
メルマガ配信システムの名称は「おくる君」となりました!
ひらがなにすることで「送る」と「贈る」の意味を兼ねるというアイデアが含まれています。
また、メルマガ配信結果のモニタリングダッシュボードを「みえるちゃん」にしています。
この記事では、メルマガ配信システム開発をタイトなスケジュールで実現した方法について紹介します。 プロジェクト管理で悩んでいる方にとって、アプローチ方法の一案になると嬉しいです。
~ 目次 ~
背景
メルマガ配信システムの大まかな要件は以下の通りです。
- SaaSを用いたメルマガ配信をコスト削減のために内製化する。
- 約3ヶ月以内に稼働させ、月間1億通の配信を実現する。
- SaaSの契約終了期日までに移行が必須なため、締切遅延は許されない状況。
正直、目を閉じてそっとPCを閉じたくなる要件でした・・・。
でもなんとかしないといけないですよね。読者の方にも共感していただける心情かと思います!
プロジェクト概要
もう少し具体的にプロジェクトのイメージを持っていただき、どのようにして本プロジェクトを成功させたのか記載します。
目標
作っても使えないシステムにならない(品質大事!!なるべく気持ちよく利用していただきたい)。でも締切は守る!!
運用の切り替え時には少し運用コストは上がってしまいますが、慣れれば以前と変わらない生産性を維持できる。
そのための目標を設定しました。
- メルマガ配信システムでスケーラブルな配信基盤を構築。
- 既存のメルマガの品質を落とさない。
- 移行後の運用でメルマガ配信の運用(メルマガ作成、メルマガ配信)オペレーションの負荷上昇をさせず、生産性を維持。
条件
条件は以下の通りです。
- 約3ヶ月以内の締切。
- 月間1億通以上の配信、運用の信頼性確保。
開発チーム構成
少数精鋭で実施しました。
- エンジニア
- FE:2名。2週間だけ別チームから助っ人で1名追加。
- BE:5名。
- PM:1名。
大まかなシステムフロー
メルマガを作成し、確認のために特定のメールアドレスにテストメールを配信できます。また、配信対象の条件に合った会員に作成したメルマガを一斉配信します。
成功の鍵
成功の鍵は、「締切と品質を守るためのアプローチ」と「技術的な工夫」があります。
締切と品質を守るためのアプローチ
締切と品質を守るために私が特に大事にしたのは以下の2点です。
1. 並行開発の各エンジニアの強みを活かしたタスクの割り振り
普段は属人化やチーム全体のスキルアップのためにタスクの担当は決めていません。
もちろん個人の意思(バッチ処理作成にチャレンジしたいなど)は尊重して担当を設定するのですが、基本的には優先度の高いタスクを順番に実施しています。
今回はタイトなスケジュールということもあり、従来の運用を変更して各自の得意分野を活かして最短で仕上げるようにマネジメントしました。
属人化するデメリットはあるのですが、タイトなスケジュールの場合には非常に有効でした。
2. ゴールの共通認識
チーム全員が同じゴールを見据えている状態を作るため、このプロジェクトが成功するとどのような効果があるのかを何度も伝え続けました。
また、どの機能をいつまでに作り上げる必要があるのかをデイリースクラムで確認し、全員で認識を合わせてタスクが遅れる場合はチーム内で助け合ってフォローできるよう声かけしました。
上記を含め、締切と品質を守るためのアプローチは大きく5点あります。 全てを詳細に記載するのは難しいため、箇条書きで記載します。
- マイルストーン設定
- 週単位で進捗を詳細管理。
- 早期からマーケティングチームと密に連携し、メルマガ作成部分の試作のフィードバック(使用感、課題)をスケジューリング。
- リスク管理
- 運用方法が変わると運用コストが肥大化するため、既存のSaaSに近づけたシステム作りを実施。
- 配信量テストや障害シナリオの洗い出しを初期段階で実施。
- 必要な機能を把握し、軽量かつモジュール化された設計。
- 初期段階で他チームから一時的に助っ人調整を実施。
- 並行開発
- 配信基盤の開発と管理画面及びメール配信の開発を同時進行。
- メルマガ作成部分の試作を早期に作成し、フィードバックを得てブラッシュアップを繰り返す。
- 各エンジニアの強みを把握し、活かせるタスクを実施。
- ゴールの共通認識(チーム全員が同じゴールを見据えている状態を作る)
- このプロジェクトが成功するとどのような効果があるのか。
- どの機能をいつまでに作り上げないといけないのかをデイリーで確認。
- 遅れそうなタスクはチーム内で助け合ってフォローできるよう声かけ。
- モチベーション維持・向上
- ゴールの共通認識に向けた動きを常に実施。
- メルマガ作成部分の試作のフィードバックをチームに逐次行う。
- 出来上がった機能を全員で見て完成のイメージを沸くようにする。
技術的な工夫
スケーラブルなアーキテクチャ
Amazon Simple Email Service (SES) を活用したシステムに移行しました。詳細は、下記のブログをご覧ください。 tech.asoview.co.jp
メルマガ作成の質
Tiptap(オープンソースのリッチテキストエディタ)を活用してメールマガジン用のHTMLメールエディターを作りました。詳細は下記のブログをご覧ください。 tech.asoview.co.jp
メルマガ配信対象者のデータ作成
メルマガから購入に繋がりやすい会員を抽出するため、会員ごとの直近の購入日をデータベース (DB)に格納しました。
また、アソビューの会員情報を直接参照せず、日時でデータを作成することでアソビューのシステムに負荷を与えないかつ、メルマガ配信者の抽出を高速化しました。
成果と課題
成果
- SaaSから内製化によってシステム運用コストを約70%削減。
- 締切通りシステム稼働かつ運用開始後も高い安定性を維持。
- 10月は想定していた1億通を超えて、約1億3千万通の配信に成功し、オペレーション負荷が上昇しなかった実績ができた。
- SaaSと遜色のないクオリティでメルマガを作成でき、メルマガ配信を実現。
- メルマガ運用者から「タイトなスケジュールでここまでのシステムができると思っていなかった」という言葉と、アソビューのメルマガ運用に特化したシステムのため「SaaSよりも使いやすい点もある(編集画面が直感的で誰でも使いやすい、良い意味で必要な機能に絞られているので使いやすい。など)」と非常に嬉しいフィードバックを得た。
今後の課題
- テンプレート機能を作れるとよりスムーズにメルマガを作成できること。
- メルマガ配信中に何かしらエラーが発生した場合に手動で再送する運用のため、自動で再送できること。
- メルマガ作成の運用効率を上げたり、質を上げたりする機能拡張が収益などの事業KPIに対する直接的な向上が見込めないため、開発優先度はどうしても低くなってしまうこと。
まとめ
締切厳守の秘訣は「計画」「リスク管理」「チームの連携」です。また、諦めない姿勢をマネジメント者が体現(コードを書きまくりました)するのも大事だと思いました。
凄くすご〜〜く大変だったのですが、結果は大成功と言っても良い出来になって頑張って良かった〜!!という気持ちと関係者の皆さんへの感謝の気持ちでいっぱいです。
後日、関係者の皆さんとお疲れ様会を実施して皆で楽しく過ごしました。
同様の課題に直面している方は「チーム全員が同じゴールを見据えている状態ができているのか」確認すると良いと思います。
恐らくそれが出来ていなかったら、今回のプロジェクトは失敗となっていたと思います。
また、運用者が求めているクオリティと締切を厳守できるバランスをとることが大事ですね。
プロジェクト終了後に振り返りを実施したところ「誰も締切を厳守できると思っていなかった」ということが分かったのは面白かったです。
関係者全員が満足できる結果となり、各自の達成感と成長に繋がったのではないかと思います。
(また同様のプロジェクトをやりたいかと言われると、数年間は平穏な日々を過ごしたいですね)
さいごに
アソビューでは「生きるに、遊びを。」をミッションに、一緒に働くメンバーを募集しています!
ご興味がありましたら、まずはカジュアル面談からご応募いただければと思います!
アソビュー!の技術情報を発信する公式アカウントもありますのでぜひフォローお願いします! https://twitter.com/Asoview_dev