---
type: Reference
title: "開発ガイド"
description: "分析・開発・運用・構築・配置の開発ライフサイクルと、各フェーズで参照するガイドへの入口。"
tags: [reference]
status: stable
generated: { by: human:kakimomokuri, at: 2026-04-10T03:11:19Z }
---

# 開発ガイド

## 開発ライフサイクル

分析では、情報システム戦略立案、アプリケーションの機能や性能、品質、セキュリティ、運用、保守などの要件をまとめる活動を行います。
開発では要件を満たすための設計、実装、テストなどの活動を行います。
運用では、アプリケーションの運用、保守、改善などの活動を行います。
構築では、アプリケーションの環境設定を行います。
配置では、アプリケーションのビルドとデプロイを行います。
これらの活動は相互に影響し合い、連携して行われるため、それぞれの活動において、開発者が守るべき規則やガイドラインをまとめたドキュメントを参照してください。

```plantuml
@startuml
[*] --> 分析
分析 --> 開発
分析 -right-> 運用
運用 -left-> 分析
開発 -left-> 分析
開発 --> 運用
運用 --> 開発
運用 --> 配置
運用 -up-> 構築
構築 --> 配置
運用 ---> [*]

state 分析 #yellow
state 構築 #limegreen
state 運用 #orange
state 開発 #red
state 配置 #lightblue
@enduml
```

アプリケーション開発は、アジャイル開発手法（XP）に基づいて進めます。

詳細は [エクストリームプログラミング](エクストリームプログラミング.md) を参照。

## 分析

```plantuml
@startuml "Phase 1"
|戦略|
start
:企業分析;
:経営戦略;
:ビジネスアーキテクチャ;
:インセプションデッキ;
|要件定義|
:要件定義;
:ユースケース;
:ユーザーストーリー;

|機能要件|
:アーキテクチャ設計;
:データモデル設計;
:ドメインモデル設計;
:UI設計;

|非機能要件|
:テスト戦略策定;
:非機能要件定義;
:運用要件定義;

|要件定義|
:技術スタック選定;
:ADR作成;
:リリース計画;

stop

@enduml
```
### 戦略

#### 企業分析・経営戦略

企業事例の整理から企業戦略・事業戦略・機能戦略の 3 階層戦略立案までの詳細は [経営戦略分析ガイド](経営戦略分析ガイド.md) を参照

#### ビジネスアーキテクチャ

ビジネスアーキテクチャの詳細は [ビジネスアーキテクチャ分析ガイド](ビジネスアーキテクチャ分析ガイド.md) を参照

### 要件定義

```plantuml
@startuml

title RDRA要件定義の全体構造

left to right direction

package "システム価値" as sp {
  rectangle "システムコンテキスト" as sc
  rectangle "要求モデル" as rm
}

package "システム外部環境" as se {
  rectangle "ビジネスコンテキスト" as bc
  rectangle "ビジネスユースケース" as buc
  rectangle "業務フロー" as bf
  rectangle "利用シーン" as us
}

package "システム境界" as sb {
  rectangle "ユースケース複合図" as ucc
  rectangle "画面・帳票モデル" as ui
  rectangle "イベントモデル" as em
}

package "システム" as sys {
  rectangle "情報モデル" as im
  rectangle "状態モデル" as sm
}

sp --> se : "価値を実現する\n環境を明確化"
se --> sb : "環境での\n接点を定義"
sb --> sys : "接点を実現する\nシステムを設計"

sc --> bc : "アクター"
rm --> buc : "要求"
buc --> ucc : "ユースケース"
bf --> ucc : "アクティビティ"
us --> ucc : "利用シーン"
ucc --> im : "情報"
ucc --> sm : "状態"

@enduml
```

要件定義の詳細は[要件定義ガイド](要件定義ガイド.md)を参照

### 機能要件

#### アーキテクチャ設計

アーキテクチャ設計の詳細は [アーキテクチャ設計ガイド](アーキテクチャ設計ガイド.md) を参照

#### データモデル設計

データモデル設計の詳細は [データモデル設計ガイド](データモデル設計ガイド.md) を参照

#### ドメインモデル設計

ドメインモデル設計の詳細は [ドメインモデル設計ガイド](ドメインモデル設計ガイド.md) を参照

#### UI設計

UI設計の詳細は [UI設計ガイド](UI設計ガイド.md) を参照

### 非機能要件

非機能要件の詳細は [非機能要件ガイド](非機能要件定義ガイド.md) を参照

#### テスト戦略

テスト戦略の詳細は [テスト戦略ガイド](テスト戦略ガイド.md) を参照

#### 非機能要件定義

非機能要件定義は [非機能要件定義ガイド](非機能要件定義ガイド.md) を参照

#### 運用要件定義

運用要件定義は [運用要件定義ガイド](運用要件定義ガイド.md) を参照

### ユースケース・ユーザーストーリー

ユースケース・ユーザーストーリーの詳細は[ユースケース作成ガイド](ユースケース作成ガイド.md)を参照

## 開発

### リリース計画

```plantuml
@startuml

[*] --> リリース

state リリース {
  満足条件1: （ユーザーストーリー、予算、スケジュール)
  満足条件1 -->リリースプランニング
  リリースプランニング --> 満足条件1 
}

state イテレーション {
  リリースプランニング --> 満足条件2
  満足条件2: （ユーザーストーリー、予算、スケジュール)
  満足条件2 --> イテレーションプランニング
  イテレーションプランニング --> 満足条件2
  イテレーションプランニング --> コーディングとテスト
  コーディングとテスト --> フィーチャが追加された状態
  フィーチャが追加された状態 --> 満足条件2 : フィードバック
  フィーチャが追加された状態 --> 満足条件1 : フィードバック
}

リリース --> [*]

@enduml
```

計画づくりの詳細は [リリース・イテレーション計画ガイド](リリース・イテレーション計画ガイド.md)	 を参照。

リリースの詳細は [リリースガイド](リリースガイド.md) を参照

### コーディングとテスト

```plantuml
@startuml

[*] --> イテレーション計画
イテレーション計画 --> ユースケース作成
ユースケース作成 --> ユーザーストーリー作成
ユーザーストーリー作成 --> コーディングとテスト
アーキテクチャ設計 --> コーディングとテスト
コーディングとテスト --> アーキテクチャ設計
データモデル設計 --> コーディングとテスト
コーディングとテスト --> データモデル設計
ドメインモデル設計 --> コーディングとテスト
コーディングとテスト --> ドメインモデル設計
コーディングとテスト --> ユーザーインターフェース設計
ユーザーインターフェース設計 --> コーディングとテスト
コーディングとテスト --> ユーザーストーリー作成
コーディングとテスト --> イテレーションレビュー
イテレーションレビュー --> イテレーション計画
イテレーションレビュー --> [*]

@enduml
```

開発の詳細は [コーディングとテストガイド](コーディングとテストガイド.md) を参照

## 運用

### 構築・配置

```plantuml
@startuml "Phase 1"
|構築|
start
:環境構築;
:プロビジョニング;
:CI/CD構築;

|配置|
:デプロイ設定;

|構築|
:ドキュメント更新;

stop

@enduml
```

```plantuml
@startuml

[*] --> 環境構築

state 環境構築 {
  アプリケーション開発環境セットアップ --> 開発環境セットアップ
  開発環境セットアップ --> ステージング環境セットアップ
  ステージング環境セットアップ --> 本番環境セットアップ 
}

環境構築 --> プロビジョニング

state プロビジョニング {
  インフラプロビジョニング --> インフラコード管理
  インフラコード管理 --> インフラプロビジョニング
}

プロビジョニング --> CICD構築

state CICD構築 {
  CICDパイプライン設計 --> CICDパイプライン実装
  CICDパイプライン実装 --> CICDパイプライン設計
}

CICD構築 --> デプロイ設定

state デプロイ設定 {
  デプロイ戦略設計 --> デプロイ戦略実装
  デプロイ戦略実装 --> デプロイ戦略設計
}


環境構築 --> ドキュメント更新
プロビジョニング --> ドキュメント更新
CICD構築  --> ドキュメント更新
デプロイ設定 --> ドキュメント更新

アプリケーション開発環境セットアップ --> 運用スクリプト作成
開発環境セットアップ --> 運用スクリプト作成
ステージング環境セットアップ --> 運用スクリプト作成
本番環境セットアップ --> 運用スクリプト作成
インフラコード管理 --> 運用スクリプト作成
CICDパイプライン実装 --> 運用スクリプト作成
デプロイ戦略実装 --> 運用スクリプト作成
運用スクリプト作成 --> ドキュメント更新
  
ドキュメント更新 --> [*]
@enduml
```

