873 Views
June 28, 24
スライド概要
ウェルスナビ株式会社 技術広報チームの公式アカウントです。
想像するだけで震える(?) 恐怖のモバイルアプリ開発‧運⽤体験 北原 幹也 2024-06-24 本当にあったエンジニア恐怖体験2024 1
⾃⼰紹介 北原 幹也(Kitahara Mikiya) ウェルスナビ株式会社 フロントエンド開発モバイルアプリ開発 ディレクター 経歴 ● 2023年7⽉⼊社 ● モバイルアプリ開発チーム:チーム責任者 ● 新規事業:テックリード 入社理由 ● “働く世代に豊かさを” というミッションの実現 2 @2024 WealthNavi Inc.
アジェンダ 3 @2024 WealthNavi Inc.
アジェンダ 1. モバイルアプリ開発で体験できる恐怖? 2. 各フェーズでの恐怖体験 3. 今回紹介した恐怖体験まとめ 4. 見えてきた恐怖の種類 5. まとめ 4 @2024 WealthNavi Inc.
1. モバイルアプリ開発で体験できる恐怖? 5 @2024 WealthNavi Inc.
1. システム開発の流れ システム開発の⼿法はウォーターフォール、スパイラル、アジャイルなどさまざまあ りますが、どのような進め⽅でも基本的には以下のフェーズで進みます 企画・設計 開発 テスト 6 リリース 運用 @2024 WealthNavi Inc.
1. システム開発の流れ システム開発の⼿法はウォーターフォール、スパイラル、アジャイルなどさまざまあ りますが、どのような進め⽅でも基本的には以下のフェーズで進みます この発表ではモバイルアプリ開発プロジェクトの各フェーズで 発⽣した(かもしれない) 恐怖体験を皆さんと⾒ていきたいです 企画・設計 開発 テスト 7 リリース 運用 @2024 WealthNavi Inc.
2. 各フェーズでの恐怖体験 8 @2024 WealthNavi Inc.
2-1. 企画‧設計フェーズでの恐怖体験 9 @2024 WealthNavi Inc.
2-1. 企画‧設計フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ‧「モバイルアプリを開発してくれ」と頼まれるが⽬的がない...... ‧「なぜモバイルアプリが必要なんですか?」という問いに回答がない...... ‧⽬的はないがなぜか期⽇はある...... 10 @2024 WealthNavi Inc.
2-1. 企画‧設計フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ‧でもデザインはものすごくリッチである(プラットフォームごとにデザインを変える?)...... ‧ネイティブ機能(カメラ、NFC etc.)がメインのユースケース...... ‧期⽇はタイト、経験者ゼロでノウハウはないのにチャレンジする?...... 11 @2024 WealthNavi Inc.
2-1. 企画‧設計フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... 3. 永遠に終わらない企画‧設計...... ‧プロジェクト初期は期⽇に余裕があるためゆっくり進む...... ‧12ヶ⽉あったスケジュールが気がついたときには残り2ヶ⽉ない...... ‧期⽇は変更できない...... 12 @2024 WealthNavi Inc.
2-2. 開発フェーズでの恐怖体験 13 @2024 WealthNavi Inc.
2-2. 開発フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 「あとでリファクタリングする」の「あと」は来ない...... ‧仮で実装したコードの仮を取ってリリースされることある?...... ‧「あとでテストを書く」の「あと」がこない...... ‧ファーストリリース後には、スコープを削った開発や追加開発がでてきて...... 14 @2024 WealthNavi Inc.
2-2. 開発フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 「あとでリファクタリングする」の「あと」は来ない...... 2. コードレビューなしでマージ?...... ‧時間がないという免罪符?...... ‧プルリクエストの粒度が⼤きくなり、レビューで⾒きれない...... ‧ノールックApprovedしたコードに限って問題を引き起こす...... 15 @2024 WealthNavi Inc.
2-2. 開発フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 「あとでリファクタリングする」の「あと」は来ない...... 2. コードレビューなしでマージ?...... 3. ログ実装が⾏われない...... ‧ユーザーへの価値に直接寄与するものではないと、初期スコープアウトされるが...... ‧開発フェーズではいらない?本当に??...... ‧逆にログを出しすぎて...... 16 @2024 WealthNavi Inc.
2-3. テストフェーズでの恐怖体験 17 @2024 WealthNavi Inc.
2-3. テストフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ‧仕様書は途中なのに、開発が終わった???...... ‧「コードがあれば仕様書いらないですよね」......えっ? ‧テスト項⽬書の品質はどうやって担保するの?...... 18 @2024 WealthNavi Inc.
2-3. テストフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... 2. ⼗分なテスト時間がない...... ‧企画10ヶ⽉、開発2ヶ⽉、テスト1週間...... ‧実装しながらテストする。→「共通部品直しました!」......えっ? ‧最低限テストして、残りはリリース後...... 19 @2024 WealthNavi Inc.
2-3. テストフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... 2. ⼗分なテスト時間がない...... 3. 放置される不具合保留チケット...... ‧影響が少ない、発⽣頻度が少ないと保留と判断するときに限って本番で...... ‧「いつ対応する?」という問いに誰も答えられない...... ‧原因がわからないから保留?...... 20 @2024 WealthNavi Inc.
2-4. リリースフェーズでの恐怖体験 21 @2024 WealthNavi Inc.
2-4. リリースフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ‧本番サーバーの公開がリリース⽇ギリギリで、アプリ審査が間に合わない...... ‧仮置きした本番⽤設定ファイルが最後まで更新されていなかった...... ‧本番サーバーの疎通確認を誰も⾏っていなかった...... 22 @2024 WealthNavi Inc.
2-4. リリースフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ステージングのAPIでユーザー環境にリリースされてしまった...... 2. アプリ審査がおわらない...... ‧明⽇リリースなのにアプリ審査が始まらない...... ‧リジェクトされた理由が不明瞭で、どのように対応すればよいの?...... ‧全く修正していない機能でリジェクトされ指摘がくるのどうして...... 23 @2024 WealthNavi Inc.
2-4. リリースフェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ステージングのAPIでユーザー環境にリリースされてしまった...... 2. アプリ審査がおわらない...... 3. 重要なキーファイルがなくなる...... ‧個⼈PCに保存していたキーファイル...... ‧管理⽅法が明確でなくそのまま移動させていなかった...... ‧PC交換の時期になりPCを初期化してしまったことを知ったとき...... 24 @2024 WealthNavi Inc.
2-5. 運⽤フェーズでの恐怖体験 25 @2024 WealthNavi Inc.
2-5. 運⽤フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ⼿順書がないのに本番オペレーション...... ‧該当者1名のセッション削除オペレーションが全ユーザーに発動...... ‧⼿順書がないときに限ってトラブル発⽣...... ‧処理完了⾒込みがなくなったのにあと30分でメンテナンスが開ける...... 26 @2024 WealthNavi Inc.
2-5. 運⽤フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ⼿順書がないのに本番オペレーション...... 2. 本番環境で動作確認をしてしまう...... ‧ステージングで確認していると思ったら本番だった...... ‧数⼈に送ればよいのに全ユーザーに向けてテストPush通知...... 27 @2024 WealthNavi Inc.
2-5. 運⽤フェーズでの恐怖体験 企画・設計 開発 テスト リリース 運用 1. ⼿順書がないのに本番オペレーション...... 2. 本番環境で動作確認をしてしまう...... 3. 検討がつかないお問い合わせ...... ‧「ログ実装が⾏われない」恐怖の結果、調査⼿段がない......ん?影響範囲? ‧顧客環境でしか再現しない不具合...... ‧ログやアラートの監視を始めた瞬間に通知が鳴り⽌まない。監視前も発⽣してた?...... 28 @2024 WealthNavi Inc.
3. 今回紹介した恐怖体験まとめ 29 @2024 WealthNavi Inc.
3. 今回紹介した恐怖 ● 2-1. 企画‧設計フェーズ ○ 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ○ 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ○ 3. 永遠に終わらない企画‧設計...... ● 2-2. 開発フェーズ ○ 1. 「あとでリファクタリングする」の「あと」は来ない...... ○ 2. コードレビューなしでマージ?...... ○ 3. ログ実装が⾏われない...... ● 2-3. テストフェーズ ○ 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ○ 2. ⼗分なテスト時間がない...... ○ 3. 放置される不具合保留チケット...... ● 2-4. リリースフェーズ ○ 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ○ 2. アプリ審査がおわらない...... ○ 3. 重要なキーファイルがなくなる...... ● 2-5. 運⽤フェーズ ○ 1. ⼿順書がないのに本番オペレーション...... ○ 2. 本番環境で動作確認をしてしまう...... ○ 3. 検討がつかないお問い合わせ...... 30 @2024 WealthNavi Inc.
3. 今回紹介した恐怖 ● 2-1. 企画‧設計フェーズ ○ 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ○ 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ○ 3. 永遠に終わらない企画‧設計...... ● 2-2. 開発フェーズ ○ 1. 「あとでリファクタリングする」の「あと」は来ない...... ○ 2. コードレビューなしでマージ?...... ○ 3. ログ実装が⾏われない...... ● 2-3. テストフェーズ ○ 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ○ 2. ⼗分なテスト時間がない...... ○ 3. 放置される不具合保留チケット...... ● 2-4. リリースフェーズ ○ 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ○ 2. アプリ審査がおわらない...... ○ 3. 重要なキーファイルがなくなる...... 決めることや終わらせることの恐怖 決まっていないことに気づいていない恐怖 ● 2-5. 運⽤フェーズ ○ 1. ⼿順書がないのに本番オペレーション...... ○ 2. 本番環境で動作確認をしてしまう...... ○ 3. 検討がつかないお問い合わせ...... 31 @2024 WealthNavi Inc.
3. 今回紹介した恐怖 ● 2-1. 企画‧設計フェーズ ○ 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ○ 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ○ 3. 永遠に終わらない企画‧設計...... ● 2-2. 開発フェーズ ○ 1. 「あとでリファクタリングする」の「あと」は来ない...... ○ 2. コードレビューなしでマージ?...... ○ 3. ログ実装が⾏われない...... ● 2-3. テストフェーズ ○ 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ○ 2. ⼗分なテスト時間がない...... ○ 3. 放置される不具合保留チケット...... ● 2-4. リリースフェーズ ○ 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ○ 2. アプリ審査がおわらない...... ○ 3. 重要なキーファイルがなくなる...... アンコントローラブルによる恐怖 ● 2-5. 運⽤フェーズ ○ 1. ⼿順書がないのに本番オペレーション...... ○ 2. 本番環境で動作確認をしてしまう...... ○ 3. 検討がつかないお問い合わせ...... 32 @2024 WealthNavi Inc.
3. 今回紹介した恐怖 ● 2-1. 企画‧設計フェーズ ○ 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ○ 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ○ 3. 永遠に終わらない企画‧設計...... ● 2-2. 開発フェーズ ○ 1. 「あとでリファクタリングする」の「あと」は来ない...... ○ 2. コードレビューなしでマージ?...... ○ 3. ログ実装が⾏われない...... ● 2-3. テストフェーズ ○ 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ○ 2. ⼗分なテスト時間がない...... ○ 3. 放置される不具合保留チケット...... ● 2-4. リリースフェーズ ○ 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ○ 2. アプリ審査がおわらない...... ○ 3. 重要なキーファイルがなくなる...... 未知‧わからないことへの恐怖 ● 2-5. 運⽤フェーズ ○ 1. ⼿順書がないのに本番オペレーション...... ○ 2. 本番環境で動作確認をしてしまう...... ○ 3. 検討がつかないお問い合わせ...... 33 @2024 WealthNavi Inc.
3. 今回紹介した恐怖 ● 2-1. 企画‧設計フェーズ ○ 1. モバイルアプリを開発する以外が⽬的がない開発依頼...... ○ 2. 開発者の⼈数が揃わないという理由のみでクロスプラットフォームを選択する...... ○ 3. 永遠に終わらない企画‧設計...... ● 2-2. 開発フェーズ ○ 1. 「あとでリファクタリングする」の「あと」は来ない...... ○ 2. コードレビューなしでマージ?...... ○ 3. ログ実装が⾏われない...... ● 2-3. テストフェーズ ○ 1. 仕様書が途中で⽌まったり、散乱しており確定した仕様を誰も把握していない...... ○ 2. ⼗分なテスト時間がない...... ○ 3. 放置される不具合保留チケット...... ● 2-4. リリースフェーズ ○ 1. ステージングのAPIでユーザー環境にリリースされてしまった...... ○ 2. アプリ審査がおわらない...... ○ 3. 重要なキーファイルがなくなる...... ⾃分の能⼒を過信しすぎている恐怖 ● 2-5. 運⽤フェーズ ○ 1. ⼿順書がないのに本番オペレーション...... ○ 2. 本番環境で動作確認をしてしまう...... ○ 3. 検討がつかないお問い合わせ...... 34 @2024 WealthNavi Inc.
4. ⾒えてきた恐怖の種類 35 @2024 WealthNavi Inc.
4. ⾒えてきた恐怖の種類 ■ モバイルアプリ開発で襲ってくる4つの恐怖 1. 決めること、終わらせることへの恐怖 2. アンコントローラブルの恐怖 3. 未知、わからないことへの恐怖 4. ⾃分の能⼒を過信しすぎている恐怖 36 @2024 WealthNavi Inc.
4. ⾒えてきた恐怖の種類 ■ モバイルアプリ開発で襲ってくる4つの恐怖 1. 決めること、終わらせることへの恐怖 ‧「終わらないことへの恐怖」にシフトチェンジする。 ‧リリース後も変更できることを伝えて、今必要かを検討する。 2. アンコントローラブルの恐怖 ‧業務をコントロールできるようにして調整できるようにする。 ‧どうしてもアンコントローラブルになる部分は早めに開始‧完了させる。 3. 未知、わからないことへの恐怖 ‧最初からまとめて全てをわかろうとはせず、⼀つずつ明確にしていく 4. ⾃分の能⼒を過信しすぎている恐怖 ‧慣れている作業こそ⼿順やルールを明確化する。 ‧メンバーと業務を共有し、みんなで対応していく。 37 @2024 WealthNavi Inc.
5. まとめ 38 @2024 WealthNavi Inc.
5. まとめ モバイルアプリ開発フローで発⽣しうる恐怖体験をご紹介しました。 ‧実は「事前に恐怖を抱くこと」こそ、業務の重要ポイントが把握できている証かと思います ‧「これまで何度もやってきた業務だから」「めんどうだから」と過信している ときは、恐怖が起こることすら気が付かないことがあります。 そして、油断したときに限って恐怖体験を経験してしまいます...... ‧このほかにもさまざまな恐怖体験をされてきた⽅もいらっしゃると思いますが、 私が把握している恐怖体験のほとんどは事前準備で対応できるものばかりです ‧⼿順やルールを明確にして、仕組み化やメンバーと協⼒しながら 適切に恐怖と⽴ち向かっていきましょう! 39 @2024 WealthNavi Inc.
【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 40 @2024 WealthNavi Inc.
ご清聴ありがとうございました 41 @2024 WealthNavi Inc.
Appendix.Ⅰ ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● バックエンド開発エンジニア エンジニアリングマネージャー モバイルエンジニア(Android) SRE ITサービスマネジメント 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://hrmos.co/pages/wealthnavi 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 42 @2024 WealthNavi Inc.
Appendix.Ⅱ 定期的にWealthNavi開発(技術‧組織)に関する情報を発信しています。 開発者ブログ 技術広報に関する お問い合わせ先 https://zenn.dev/p/wn_engineering ● ● ウェルスナビ技術広報チーム([email protected]) 43 @2024 WealthNavi Inc.