Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「スピード」と「品質」のスイッチング ~事業成長を支える生存戦略~ #devsumi / 20...

yuzutas0
February 18, 2021

「スピード」と「品質」のスイッチング ~事業成長を支える生存戦略~ #devsumi / 20210218C1

Developers Summit 2021【C-1】の発表資料です。
https://event.shoeisha.jp/devsumi/20210218

----------------------------------------------------------------------------------------------------

メルペイでは「ベンチャーとしてのスピード」と「FinTech領域としての品
質」の両立が求められています。

目の前のビジネスチャンスに対して、システム開発が追いつかない。この悩みと向き合い、私たちが辿り着いたのは「スピード」と「品質」のスイッチングです。

「1.ツール活用によるスピード優先」と「2.システム開発による品質重視」をフェーズごとに使い分けることで、事業成長を支えてきました。

本セッションでは、ビジネスとエンジニアリングの両立に挑戦し続ける人たちに向けて、その事例と学びを紹介します。

----------------------------------------------------------------------------------------------------

【補足1】
共同発表者が同じスライドをアップロードしたときは、URLを掲載します。
xxxxx

【補足2】
登壇時のスライドとテイストを一部変更しています。
・Google slides と SpeakerDeck の相性が悪いためフォントを調整しました。
・個人的な好みでカラーリングに手を加えました。

yuzutas0

February 18, 2021
Tweet

More Decks by yuzutas0

Other Decks in Technology

Transcript

  1. 長谷川 亮 hase-ryo 株式会社メルペイDataManagement Team Engineering Manager データマネジメントをやっています。カオスな環境下でのデータガバナンス、データの民主化、 データ基盤の構築などなど。データは沢山あるけど活用がイマイチなところで、データから価値を 引き出せるようにするのが主な仕事です。『データマネジメントが

    30分でわかる本』を共著しました。 城戸 総史 @sou 株式会社メルペイ Merchant Solution バックエンドエンジニア 2000年頃よりフリーランスとスタートアップを転々とし数々のシステム開発に携わる。 2018年4月より現職、メルペイのシステム開発に初期から関わり、 加盟店周りの情報を預かるサービス群を切り盛りしている。 横山 翔 @yuzutas0 データ基盤構築・データ活用推進・ DX推進のお手伝いをしています。 新規事業・急成長プロダクト・レガシーシステムとフェーズを問わず炎上現場に次々と巻き込まれ、 システムアーキテクチャの再構築やエンジニアチームの立ち上げ、立て直しに従事してきました。 著書・寄稿に『個人開発をはじめよう!』『 Software Design 2020年7月号 ログ分析特集』など。 2 Speaker
  2. © Merpay, Inc. 9 フェーズによって2つのモードを使い分ける 形成期 Forming 混乱期 Storming 統一期

    Norming 機能期 Performing ツール活用 x スピード優先 システム開発 x 品質重視 フェーズ モード 実践例 (キット配送) SaaS, BIツール, Spreadsheet インシデント、 ヒヤリ・ハット 仕様整理 microservice開発 安定化 microservice運用 inspired by 宮川典久『多様なビジネスドメイン、サービスフェーズが混在する中での組織戦略と技術戦略』 https://speakerdeck.com/rtechkouhou/duo-yang-nabizinesudomein-sabisuhuezuga-hun-zai-suruzhong-defalsezu-zhi-zhan-lue-toji-shu-zhan-lue
  3. 初回決済までの流れ 15 
 
 
 
 
 
 
 


    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 ①登録 ③配送 ④店頭に設置 ⑤決済開始! ②審査
  4. 配送業務を実現する 16 
 
 
 
 
 
 
 


    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 ①登録 ③配送 ④店頭に設置 ⑤決済開始! ②審査
  5. © Merpay, Inc. 18 概要:NoCodeでオペレーション&モニタリング 配送対象を抽出 配送を依頼 BigQueryに 店舗情報を蓄積 Spreadsheetで

    配送リストを管理 kintoneで 配送承認 配送会社 BigQueryに 配送リストを連携 Lookerで データを可視化 改善施策の 意思決定
  6. © Merpay, Inc. 20 システム開発しないという選択肢 決済 非決済 品質重視 スピード優先 Developer

    非Developer システム化 ツール活用 Why Who How What すべての機能をあるべき形で始めることはできず 濃淡を付けてスピード重視で立ち上げる部分が生じる
  7. 27 契約完了 審査 キット送付 決済Ready 今のタイムラグ 今Q目標 30日以上 6~12日 7日以内

    数日 現状 加盟店の決済Ready(審査/キット送付)に時間がかかっている 加盟店契約後から審査完了までに 30日、キット送付にも6~12day →来Qまでに7日以内、キット送付も短縮を目指す ※実際の内容ではありません。 データ駆動で改善対象・目標を決める
  8. ETL Extract Transform Load データ加工 DWH Data WareHouse データ保存 BIツール

    Business Intelligence データ可視化 データアナリストが手動で加工 システムで処理しやすいフォーマットに変換 BigQueryに連携 Lookerを活用 スピード優先での工夫② : 人力ETL 2月分 3月分 …… ALL配送マスター 31
  9. © Merpay, Inc. 34 事業成長に伴って「品質」重視にシフト 形成期 Forming 混乱期 Storming 統一期

    Norming 機能期 Performing ツール活用 x スピード優先 システム開発 x 品質重視 フェーズ モード 実践例 (キット配送) SaaS, BIツール, Spreadsheet インシデント、 ヒヤリ・ハット 仕様整理 microservice開発 安定化 microservice運用 inspired by 宮川典久『多様なビジネスドメイン、サービスフェーズが混在する中での組織戦略と技術戦略』 https://speakerdeck.com/rtechkouhou/duo-yang-nabizinesudomein-sabisuhuezuga-hun-zai-suruzhong-defalsezu-zhi-zhan-lue-toji-shu-zhan-lue
  10. 40 配送業務 開始 決済方式の追加 インシデント影響が加わる 除外パターンの増加 メンテナンス難に 再配送を行いたい 伝票番号を取りたい 日次で配送したい

    要求が高度化 必要な機能 (ビジネス要求) トラブル (ヒヤリ・ハット) ToBe AsIs ツール活用の限界が訪れる
  11. After 43 配送会社 Merchant Delivery 配送管理サービス 他 マイクロサービス群 管理画面 配送リスト

    Cloud Storage 取得 CronJobs Kubernetes 出力 API Server Kubernetes 配送情報 データベース Cloud Spanner 加盟店情報管理サービス ・配送依頼 ・キャンセル ・状態取得 加盟店情報 データベース Cloud Spanner API Server Kubernetes 住所取得
  12. After 44 配送会社 Merchant Delivery 配送管理サービス 他 マイクロサービス群 管理画面 配送リスト

    Cloud Storage 取得 CronJobs Kubernetes 出力 API Server Kubernetes 配送情報 データベース Cloud Spanner 加盟店情報管理サービス ・配送依頼 ・キャンセル ・状態取得 加盟店情報 データベース Cloud Spanner API Server Kubernetes 住所取得 管理画面から 再配送依頼やキャンセルを 安全に行えるように 配送依頼は 配送情報データベースに蓄積
  13. After 45 配送会社 Merchant Delivery 配送管理サービス 他 マイクロサービス群 管理画面 配送リスト

    Cloud Storage 取得 CronJobs Kubernetes 出力 API Server Kubernetes 配送情報 データベース Cloud Spanner 加盟店情報管理サービス ・配送依頼 ・キャンセル ・状態取得 加盟店情報 データベース Cloud Spanner API Server Kubernetes 住所取得 バッチ処理で配送リストを構築 人手を介さず配送会社と連携 日次での配送依頼が可能に
  14. © Merpay, Inc. 46 成長フェーズを支える業務モデルへ リスクコントロールされた状態へ 高度化への要求を受け入れ可能に  コードによるビジネスロジックの実装 • 業務変更を開発要件として整理

    • テストによる品質の保証  より安全で効率的なオペレーション • ツールでの操作・閲覧が可能に • リスト生成を全自動化し、人手を排除  週次配送から日時配送へと改善 • 利用開始までのリードタイムを削減  伝票番号をシステムで自動取得 • 配送会社のステータスを確認可能に  ※その後の追加要求も安定して開発できている
  15. © Merpay, Inc. 47 システム開発のタイムライン 2020.02 設計Fix 2020.03.09 API インタフェース定義Fix

    2020.03 実装着手 2020.01 要件Fix 2020.05.07 稼働開始 スイッチング完了 約4ヶ月
  16. © Merpay, Inc. 49 ニーズ + リスク ≧ 開発リソース ニーズ

    リスク 開発 重みが増す 重い腰が上がる 天秤が傾くように、なめらかにスイッチングするのが理想
  17. © Merpay, Inc. システム化の必要性を関係者に示す ニーズ ニーズ ニーズ ニーズ ニーズ ニーズ

    ニーズ リスク リスク リスク 開発 開発 開発 開発 開発 開発 開発 開発 開発 業務A 業務B 業務C システム化が必要 ニーズが多いので 話を進めやすい システム化は まだ不要 システム化が必要 リスクが見えないと 着手が遅れる 50
  18. © Merpay, Inc. 51 リスクを言語化する 項目 概要 例 程度 インパクト

    問題発生時の 影響は大きいか 配送漏れがあると 店舗で決済が発生しない 決済できない  リカバリ 復旧が可能か 手動で再抽出して 対応する リスクある業務を 繰り返している コントロール 制御可能か 配送会社に 渡した後は管理できない コントロール範囲が狭い モニタリング 問題を検知可能か 問い合わせを受けるまで 分からない 有効な検知手段がない
  19. © Merpay, Inc. 58 フェーズによって2つのモードを使い分ける 形成期 Forming 混乱期 Storming 統一期

    Norming 機能期 Performing ツール活用 x スピード優先 システム開発 x 品質重視 フェーズ モード 実践例 (キット配送) SaaS, BIツール, Spreadsheet インシデント、 ヒヤリ・ハット 仕様整理 microservice開発 安定化 microservice運用 inspired by 宮川典久『多様なビジネスドメイン、サービスフェーズが混在する中での組織戦略と技術戦略』 https://speakerdeck.com/rtechkouhou/duo-yang-nabizinesudomein-sabisuhuezuga-hun-zai-suruzhong-defalsezu-zhi-zhan-lue-toji-shu-zhan-lue
  20. © Merpay, Inc. 59 3つの挑戦を乗り越える 対象の見極め 01 02 03 スピード優先?品質重視?

    スピード優先 いかに早く検証サイクルを回すか 品質重視 いかに業務を破綻させずに移すか
  21. © Merpay, Inc. 60 ①対象の見極め:スピード優先?品質重視? 決済 非決済 品質重視 スピード優先 Developer

    非Developer システム化 ツール活用 Why Who How What 初期フェーズにおいて対象要件がどちらに属するのかを見極める。 全てのスコープが「品質重視」だと1年ではリリースできない。 安易な「スピード優先」だとリリース後に破綻する。
  22. © Merpay, Inc. 63 生き残る https://www.pexels.com/ja-jp/photo/4003489/ これらの 挑戦 を乗り越えて ビジネスが

    生き残る からこそ 新しい 顧客体験 を創造して、 社会に 新しい価値 を 提供できるのではないでしょうか