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
友人とのアプリ開発を完全に理解した
Search
スナガク
April 29, 2025
1
130
友人とのアプリ開発を完全に理解した
「エンジニア達の「完全に理解した」Talk」というイベントで発表した「友人とのアプリ開発を完全に理解した」のスライドの内容になります!
スナガク
April 29, 2025
Tweet
Share
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Cult of Friendly URLs
andyhume
78
6.3k
KATA
mclloyd
29
14k
Done Done
chrislema
184
16k
Scaling GitHub
holman
459
140k
How GitHub (no longer) Works
holman
314
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Language of Interfaces
destraynor
157
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Transcript
友人とのアプリ開発を完全に理解した 発表者:馬場俊輔 2025年4月
アジェンダ 1. プロジェクトの背景 2. 開発時の実体験 3. 学んだ教訓 4. 得られた経験・知識について 2
/ 31
自己紹介 氏名と所属 馬場俊輔 ソフトウェアエンジニア 業務内容・専門分野 フロントエンド・バックエンドのWEB開発 LLMを活用したチャットアプリの設計・開発経験(自己開発) 3 / 31
アジェンダ 1. プロジェクトの背景 2. 開発時の実体験 3. 学んだ教訓 4. 得られた経験・知識について 4
/ 31
5 / 31
6 / 31
プロジェクトの背景 出会いときっかけ M君が起業を決意 アプリ開発への挑戦 Nさん(アルバイト・開発未経験)によるLine公式チャンネルのアプリ開発スタート 7 / 31
アジェンダ 2. 開発時の実体験 1. プロジェクトの背景 3. 学んだ教訓 4. 得られた経験・知識について 8
/ 31
開発の流れ 2024年6月頃 AIを活用したアプリの開発開始 公式LINEチャネル経由のサービス 2024年11月 リリース時には既に有料利用予定のユーザーが存在 「デプロイができない」トラブルが発生 システム開発に緊急参画することに 2025年3月 友人の資金繰りの関係で、開発から離れることに
9 / 31
デプロイと初期トラブル Cloud Runを採用したデプロイ Mさんの進捗停滞(3週間) デプロイ支援として参画 アーキテクチャが不明確 アプリの内容や目的も把握できていない 10 / 31
初期トラブルの詳細 重大なエラー発生 「ユーザーのセッション情報が保存されない」問題 調査結果 各インスタンスで独立処理 SQLite使用によるセッション情報同期の不具合 11 / 31
12 / 31
緊急パッチ対応とシステム改善 状況把握と対応策の立案 既存コードの分析 ライブラリのコピペ状態 仕組みやエラー原因の理解不足 並行作業の実施 ゼロからの知識キャッチアップ パッチリリース作業 DBの作成と繋ぎ込み セッション情報管理の修正
13 / 31
システム拡張と開発環境整備 環境整備の実施 1. テスト環境(QA環境)用Cloud Run構築 2. GitHub ActionsによるCI/CDパイプライン導入 3. 既存データ構造の整理とリファクタリング
14 / 31
追加機能とアーキテクチャの再検討 メッセージの予約送信機能 Cloud Scheduler Cloud Task Googleアカウントとの連携 GAS Credential管理の簡素化 企業導入時のメンテナンス性向上
システムの複雑性低減 15 / 31
アジェンダ 3. 学んだ教訓 1. プロジェクトの背景 2. 開発時の実体験 4. 得られた経験・知識について 16
/ 31
8. 学んだ教訓(1/4) 稼働時間に対する業務の適切な範囲設定 やりすぎず、求められる範囲に留める 前提や期待値の明確な共有 稼働に対する成果量を伝えておく 17 / 31
18 / 31
8. 学んだ教訓(1/4) 適切な範囲設定の重要性 やりすぎず、求められる範囲に留める 前提や期待値の明確な共有 稼働に対する成果量を伝えておく 19 / 31
9. 学んだ教訓(2/4) 技術的課題への向き合い方 0からのバグ修正は負荷が高いと伝える アプリ開発の流れを共有しておく インフラ周りの責任範囲を明確に 20 / 31
21 / 31
9. 学んだ教訓(2/4) 技術的課題への向き合い方 0からのバグ修正は負荷が高いと伝える アプリ開発の流れを共有しておく インフラ周りの責任範囲を明確に 22 / 31
10. 学んだ教訓(3/4) 開発工数の見積もりギャップ 理想と現実の実装スピードの乖離 非エンジニアとの認識のずれ タスクの優先順位を明確にする 23 / 31
24 / 31
10. 学んだ教訓(3/4) 開発工数の見積もりギャップ 理想と現実の実装スピードの乖離 非エンジニアとの認識のずれ タスクの優先順位を明確にする 25 / 31
11. 学んだ教訓(4/4) プロジェクトへの動機付け 善意だけのサポートは限界が来る 目的や理由を複数作る 理想は「無償でもやりたい」 26 / 31
27 / 31
11. 学んだ教訓(4/4) プロジェクトへの動機付け 善意だけのサポートは限界が来る 目的や理由を複数作る 理想は「無償でもやりたい」 28 / 31
アジェンダ 4. 得られた経験・知識について 1. プロジェクトの背景 2. 開発時の実体験 3. 学んだ教訓 29
/ 31
13. 得られた経験・知識 プロジェクトからの収穫 新規アーキテクチャ設計の経験 ユーザーUXを意識した改善プロセス チーム間・友人間でのコミュニケーションスキル 30 / 31
14. 最後に 友達との開発は貴重な経験 技術面での成長 期待値の調整の重要性 大切なこと 仕事の方向性が合わなくても友人関係は継続する 31 / 31