$30 off During Our Annual Pro Sale. View Details »

homemade_service_release_front_and_back

maimu
July 29, 2023

 homemade_service_release_front_and_back

maimu

July 29, 2023
Tweet

More Decks by maimu

Other Decks in Programming

Transcript

  1. 自作サービスの
    リリース表裏
    2023/07/29
    TokyuRuby会議2023
    牟田真以(maimu)

    View Slide

  2. 自己紹介
    名前:牟田真以(maimu)
    略歴:
    ● カートシステムの会社でPM、上流工程を担当
    ● 2年前に独学でRubyの勉強を開始
    ● 2022年4月からフィヨルドブートキャンプで猛勉強
    ● 2023年5月にフィヨルドブートキャンプを卒業
    ● 8月から新しい職場で働きます!
    よろしくお願いいたします!

    View Slide

  3. 自作サービスのリリース表裏

    View Slide

  4. Subsuc.mine
    Subsc.mineは
    複数のサブスクリプションサービスを契約している人向け
    の、利用サブスク一覧ツールです。
    利用しているサブスクと更新日を一覧画面で確認すること
    ができ、自動でカレンダーアプリに更新日を連携することが
    可能です。

    View Slide

  5. 技術スタック

    View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. ここまでが表側

    View Slide

  14. ここから裏側

    View Slide

  15. 開発にあたって一番優先したこと
    スピード

    View Slide

  16. スピードを優先する上での前提
    1. エレベーターピッチで挙げた要件を満たしていること
    2. 必要最小限の機能で設計すること
    3. ポートフォリオとして出せる技術スタック・設計であること
    4. テストコードがあり、品質を担保していること

    View Slide

  17. 実装期間
    1ヶ月
    ※エレベーターピッチ、ペーパープロトタイプ、リソース・DB設計は除く

    View Slide

  18. スピードを優先するために大切にしたこと
    タスクばらし

    View Slide

  19. 画面遷移図とインプット&アウトプット
    ● 必要な画面を書き出す
    ● インプットとアウトプットを列挙
    ● 必要な処理を書き出す

    View Slide

  20. 見積もり
    タスクに落とし込み、必要な人日を計算
    FBCのチーム開発で2Pだった機能に対して自分がかかった実装期間を基準に算出
    環境構築などは未経験だったため、バッファー込みで算出

    View Slide

  21. 計画
    ● 1週間(約40時間)×4(1ヶ月)でスケジュールを組む
    ○ 画面遷移図とタスク・見積もりを組み合わせて無理が発生しないように計画
    ○ 追い込みすぎて燃え尽きたり体調崩したりしないように休みも考慮
    ● 1週間のゴールはその週に開発に取り組んだ機能が動く状態であること

    View Slide

  22. 実践
    問題発生しまくり

    View Slide

  23. いろいろなやらかし
    ● 技術検証甘すぎ問題
    ○ ビルド方法をvite_railsからwebpackに切り替え
    ○ GitHub Actions、GoogleCalendarAPIを使いたいが故の不必要な機能設計
    ○ CI動かない問題
    ○ 本番環境でGoogleログインが動かない問題
    ○ Vue.jsでフロントを実装していたのに途中で Hotwireに切り替えて書き直し
    ○ カレンダーにデータを連携する際、全員分のデータが連携されちゃう問題
    ○ カレンダーにデータを連携する際、 user_id丸見え問題
    ○ 日付計算がひたすらバグっている問題
    ○ HotwireとTailwindCSSの参考事例があまりなくてハマる
    ○ 間違えて古いRubyのバージョンで開発してしまい、最後にバージョンアップした問題

    View Slide

  24. 実践2
    詰まったら言語化!

    View Slide

  25. 闇雲に手を動かさない
    ● 作業テンプレを作る
    ○ 何をしたのか
    ○ その結果何が起きたのか
    ○ 本来得たい結果は何か
    ● 作業テンプレである程度アテを絞って調べる
    ● 調べて実践しても解決しない場合はFBCのメンターさんに相談
    ○ その際も作業テンプレで言語化したことに沿って相談する

    View Slide

  26. 結果
    なんとか1ヶ月で
    レビュー依頼を出せた

    View Slide

  27. 実装期間〜リリースまで
    実装期間:4月1日~4月28日
    レビュー&修正期間:5月2日~5月9日
    リリース:5月10日

    View Slide

  28. 振り返り
    ● 自分がPMとして仕事をしてきたこともあり、「スピード」に重きを置いて開発してみた
    ● 実際に実装を開始して、システム開発に対して自分が見える部分でしか(機能の表
    面的な部分)考えられていなかったことを痛感
    ● 環境構築から、実装、デプロイまで全ての工程を経験して、仕事では見えていな
    かった開発の苦しい部分(自分のやらかし)、裏側を身をもって知ることができた

    View Slide

  29. 自作サービスをリリースしてみて
    Webサービスの開発は
    難しくて、奥が深くて、
    でもやりがいがある

    View Slide

  30. ご清聴ありがとうございました

    View Slide