Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
homemade_service_release_front_and_back
Search
maimu
July 29, 2023
Programming
500
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
homemade_service_release_front_and_back
maimu
July 29, 2023
More Decks by maimu
See All by maimu
Gentoo 1年生 ビルドは終わらない
maimux2x
0
100
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
1.5k
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
710
ruby-flip-flop
maimux2x
0
160
before_rails_girls_after_rails_girls
maimux2x
0
870
my_study_of_ruby_method
maimux2x
1
210
one_liner_fizzbuzz
maimux2x
0
180
about_rails_girls_document_translation
maimux2x
0
6.4k
best_for_fbc
maimux2x
0
85
Other Decks in Programming
See All in Programming
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
280
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
490
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
940
Flow は今どうなっているか
mizdra
PRO
0
560
Go 1.27 における memory allocation の高速化
andpad
0
180
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.5k
仕様駆動開発の消費期限
watany
20
8.3k
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
450
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing Powerful Visuals for Engaging Learning
tmiket
1
490
We Are The Robots
honzajavorek
0
300
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The SEO identity crisis: Don't let AI make you average
varn
0
530
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
The Cult of Friendly URLs
andyhume
79
7k
Transcript
自作サービスの リリース表裏 2023/07/29 TokyuRuby会議2023 牟田真以(maimu)
自己紹介 名前:牟田真以(maimu) 略歴: • カートシステムの会社でPM、上流工程を担当 • 2年前に独学でRubyの勉強を開始 • 2022年4月からフィヨルドブートキャンプで猛勉強 •
2023年5月にフィヨルドブートキャンプを卒業 • 8月から新しい職場で働きます! よろしくお願いいたします!
自作サービスのリリース表裏
Subsuc.mine Subsc.mineは 複数のサブスクリプションサービスを契約している人向け の、利用サブスク一覧ツールです。 利用しているサブスクと更新日を一覧画面で確認すること ができ、自動でカレンダーアプリに更新日を連携することが 可能です。
技術スタック
None
None
None
None
None
None
None
ここまでが表側
ここから裏側
開発にあたって一番優先したこと スピード
スピードを優先する上での前提 1. エレベーターピッチで挙げた要件を満たしていること 2. 必要最小限の機能で設計すること 3. ポートフォリオとして出せる技術スタック・設計であること 4. テストコードがあり、品質を担保していること
実装期間 1ヶ月 ※エレベーターピッチ、ペーパープロトタイプ、リソース・DB設計は除く
スピードを優先するために大切にしたこと タスクばらし
画面遷移図とインプット&アウトプット • 必要な画面を書き出す • インプットとアウトプットを列挙 • 必要な処理を書き出す
見積もり タスクに落とし込み、必要な人日を計算 FBCのチーム開発で2Pだった機能に対して自分がかかった実装期間を基準に算出 環境構築などは未経験だったため、バッファー込みで算出
計画 • 1週間(約40時間)×4(1ヶ月)でスケジュールを組む ◦ 画面遷移図とタスク・見積もりを組み合わせて無理が発生しないように計画 ◦ 追い込みすぎて燃え尽きたり体調崩したりしないように休みも考慮 • 1週間のゴールはその週に開発に取り組んだ機能が動く状態であること
実践 問題発生しまくり
いろいろなやらかし • 技術検証甘すぎ問題 ◦ ビルド方法をvite_railsからwebpackに切り替え ◦ GitHub Actions、GoogleCalendarAPIを使いたいが故の不必要な機能設計 ◦ CI動かない問題
◦ 本番環境でGoogleログインが動かない問題 ◦ Vue.jsでフロントを実装していたのに途中で Hotwireに切り替えて書き直し ◦ カレンダーにデータを連携する際、全員分のデータが連携されちゃう問題 ◦ カレンダーにデータを連携する際、 user_id丸見え問題 ◦ 日付計算がひたすらバグっている問題 ◦ HotwireとTailwindCSSの参考事例があまりなくてハマる ◦ 間違えて古いRubyのバージョンで開発してしまい、最後にバージョンアップした問題
実践2 詰まったら言語化!
闇雲に手を動かさない • 作業テンプレを作る ◦ 何をしたのか ◦ その結果何が起きたのか ◦ 本来得たい結果は何か •
作業テンプレである程度アテを絞って調べる • 調べて実践しても解決しない場合はFBCのメンターさんに相談 ◦ その際も作業テンプレで言語化したことに沿って相談する
結果 なんとか1ヶ月で レビュー依頼を出せた
実装期間〜リリースまで 実装期間:4月1日~4月28日 レビュー&修正期間:5月2日~5月9日 リリース:5月10日
振り返り • 自分がPMとして仕事をしてきたこともあり、「スピード」に重きを置いて開発してみた • 実際に実装を開始して、システム開発に対して自分が見える部分でしか(機能の表 面的な部分)考えられていなかったことを痛感 • 環境構築から、実装、デプロイまで全ての工程を経験して、仕事では見えていな かった開発の苦しい部分(自分のやらかし)、裏側を身をもって知ることができた
自作サービスをリリースしてみて Webサービスの開発は 難しくて、奥が深くて、 でもやりがいがある
ご清聴ありがとうございました