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

短納期でも進化をあきらめなかった新規プロダクト開発/20230208_matsuura_kawakami

 短納期でも進化をあきらめなかった新規プロダクト開発/20230208_matsuura_kawakami

2022年12月現在、約25,000社の方に申込頂いている『楽楽電子保存』サービスですが、初期開発に与えられた猶予は弊社のプロダクト開発史の中で最短となる「半年」という、非常にタイトなスケジュールの中で完遂させる必要がありました。

・短期間でサービスインまで導いたマネジメント
・中長期的なサービス運用を見据えたゼロベースでのアーキテクチャー選定
を中心に、初期開発で特に力を入れた取り組みと今後の展望をご紹介させていただきます。

Rakus_Dev

March 08, 2023
Tweet

More Decks by Rakus_Dev

Other Decks in Technology

Transcript

  1. #RAKUSTechCon 松浦 孝治 (Product Manager) プロダクトマネージャを担当。 楽楽明細、楽楽電子保存のプロダクトに 上流からかかわり、製品企画とエンジニ アの橋渡しをしている。 仕事のテーマは

    ・価値を早く提供する ・少し先の未来を見る ・前に進める SIer数社を経験し、SES、請負開発、自 社サービス開発に携わる。 2020年ラクスへ入社。 『楽楽明細』の開発を中心に、フルスタッ クエンジニアとしてフロントエンド、バック エンドともに担当。 川上 正博 (Lead Engineer)
  2. #RAKUSTechCon 楽楽電子保存システム開発スケジュール 2021年 2022年 6月 7月 8月 9月 10月 11月

    12月 1月 工程 イベン ト 要件定義 概要設計/基盤作成 詳細設計~単体テスト リリース 結合テスト 申込運用検討 インフラ設計 ★要望提示 ★実現方式確定 ★サイジング ★開発外作業リスト作成 ★全体疎通試験 ★リリースリハ ★リリース 電子帳簿保存法改正に伴って、半年後には楽楽明細で発行した電子 請求書を電子データのまま保存する必要があり・・・。 当時の様子
  3. #RAKUSTechCon 得意分野を生かした体制づくり 開発 製品企画 (PMM) CS インフラ 情シス 事業管理 Tech

    Lead Team AP基盤 業務開発 PDM:上流メイン。PMMと密に(WHATに責任) PM:全ステークホルダの進捗管理 開発に集中できる環境作り。 PdM PM
  4. #RAKUSTechCon ❏ こういった「部分的な進化」はどうやって生まれるか? →多くはエンジニアから運用・開発時に挙がった改善案 • 新機能開発時に試してみたい • 運用コスト削減のために取り組んでみた 細かいものは個々のエンジニアで実施できるが、 そうもいかないものもある

    1人じゃ終わらないボリューム、既存の動作に影響があるetc… →ビジネスサイドとも合意をとって取り組む →開発の戦略として組み込んでいく 楽楽電子保存の開発 やってきたことを活かす
  5. #RAKUSTechCon 楽楽電子保存の開発 やってきたことを活かす • DDDの導入 • JavaScript -> TypeScript •

    React(関数コンポーネント + Hooks全面採用) • pool型のテナント管理 etc...
  6. #RAKUSTechCon 楽楽電子保存の開発 やってきたことを活かす フロントエンド • JavaScript -> TypeScript ◦ 生JavaScript

    + JQuery部分も含めてTypeScript化していた ◦ 昨年のRAKUS Tech Conference • React(関数コンポーネント + Hooks全面採用) ◦ FEチームが新規発足で若手ばかりだった (リーダ以外新卒1~2年目) ▪ 一新することのハードルが低かった
  7. #RAKUSTechCon 楽楽電子保存の開発 やってきたことを活かす • Pool型のテナント管理 ◦ 参考:Saas Storage Storategies ◦

    JJUG 2022 Springの資料 • 一つのスキーマを複数テナントで共有 ◦ テナントデータへのアクセスは Row Level Securityで制御する
  8. #RAKUSTechCon • 良いと思ったことをチームで取り入れる文化を大切に。 ◦ 新しいだけではない、メリットにつなげる。 ▪ エンジニアのアイデアを吸い上げて戦略化していく。 ▪ 課題見える化の仕組みを推進する。 ◦

    常に理想を追い求める。 ▪ システム特性に合わせた、0ベースでの設計を推進する。 ▪ サービス運用中に、定期的に課題の抽出を継続していく。 まとめ