開発環境と開発プロセス
開発環境の設定とScrumフレームワークに基づく開発プロセスについて説明します。
開発環境
個人開発環境やビルド環境の設定に揺れを発生させないために、iOSアプリに携わるバージョン情報を列挙します。
重要: ここで管理しているバージョンに更新があった場合は速やかに更新してください。
注意: アプリを構築するためのライブラリのバージョンについては、該当ブランチの Package.swift を参照してください。
バージョン管理表
| 種別 | バージョン | 補足 |
|---|---|---|
| Xcode | 16.2 以上 | |
| iOS サポートバージョン | 18.0 以上 | |
| サポートデバイス | iOS | |
| 最新アプリバージョン | MARKETING_VERSION を参照 |
Xcodeバージョンの確認方法
# Xcode バージョン確認
xcodebuild -version
開発プロセス
Scrumフレームワークに基づいた開発チームの開発プロセスについて説明します。各スプリントの開始時に設定されたPBI(Product Backlog Item)やイシューに対して体系的に対応していく方針で開発を進めています。
使用するツール
開発プロセスで使用する主要なツール:
- デザイン管理ツール: Figma(カンバンボード、UI/UXデザイン)
- プロジェクト管理ツール: Linear、GitHub Issues など(PBI・イシュー管理)
- コミュニケーションツール: Slack、Teams など
- ドキュメント管理: チーム共有ドキュメントストレージ
スプリント前の準備フェーズ
スプリント前の準備作業は主にチーム外のメンバー(プロダクトオーナー、スクラムマスターなど)が中心となって実施します。
PBI・イシューの確定と整理
-
スコープの確定
- スプリントに含めるPBIやイシューを確定
- 各項目の受け入れ条件を明確に整理
-
見積もりの実施
- 各PBI・イシューに対して見積もりを実施
- 見積もり結果と等価なストーリーポイントを付与
完了条件の定義
各PBIに対して、ステップマイルストーンと合致する完了条件を定義します。完了条件には以下の2つのバージョンが存在します:
フルバージョン
- デザインに対する詳細設計を含む
- QFS(Quality Function Study)を加味した品質担保プロセス
- 包括的な完了条件
簡易バージョン
- 小規模な修正を対象
- 一部のステップを省略した効率化された完了条件
- 軽微なバグ修正や文言変更などに適用
スプリント中の開発フェーズ
担当者の決定
着手前の段階で、PBIやイシューに対して主担当開発者を決定します(多くのケースで実施)。
設計・実装プロセス
担当開発者は以下の3つのステップを通じて、テストフェーズへの移行が可能な状態まで開発を進めます。
[1] 詳細設計・実装方針の整理
- プルリクエストベースでの開発を進める
- 受け入れ条件とFigmaにある機能・UI設計をインプットとして活用
- 詳細設計や実装方針の整理を実施
- 開発規模に応じて、実装内容をブレイクダウンした開発向けのPBI整理ページを作成
- タスクの細分化
- 技術的な依存関係の整理
- 実装順序の決定
[2] コード実装
- コーディング規約に従った実装
- 適切なテストコードの作成
- プルリクエストを通じたコードレビューの実施
[3] テスト環境への配布
- 修正コードを含むモジュールをテスト向けに配布
- QAプロセスへ移行
- 詳細はリリース作業ガイドの「テスト環境リリース」を参照
テストプロセス
テストフェーズでは以下の流れで品質確認を実施します:
1. テスト観点作成
- テスト対象の機能に対する検証観点を整理
- 想定されるユースケースの洗い出し
- エッジケースの特定
2. テストケース作成
- 具体的なテスト手順の定義
- チェックポイントの明確化
- 期待される結果の記述
3. テスト実行
- 実際のテスト打鍵を実施
- 不具合の記録と報告
- 再テストの実施
注意: スプリントの状況に応じて、テスト作業をチーム外のQAメンバーに依頼する場合と、チーム内で実施する場合があります。
テスト成果物の管理
過去のテストケースや成果物は、チームのドキュメント管理システムに保管されています。新しいテストケース作成時の参考として活用してください。
関連ドキュメント
- リリース作業ガイド: TestFlight配布とリリース手順
- リリースブランチ・モジュール運用ガイド: ブランチ戦略とバージョン管理