経緯
チームに新しいメンバーが増え、運用作業や障害が起こったときの対応を誰でもできるようにしたいね、という話になり、チームで利用するRedmineのWikiテンプレートを作成することになりました。
作成方法
ChatGPTに大まかなテンプレートを出力してもらい、自チームの開発用Wikiとして必要なものとそうでないものを考え、項目の追加・削除を行いました。
作成したテンプレート
## プロジェクト概要
### プロジェクトの目的
本プロジェクトの目的、プロダクトゴールを記載します。
### システム概要
本システムの簡単な概要を説明します。
## 使用技術
### プログラミング言語
使用しているプログラミング言語と、バージョンを記載します
* 例: Python、Java、Ruby など
### フレームワーク・ライブラリ
使用しているフレームワークとライブラリ、そのバージョンを記載します。
* フロントエンド:例: React、Vue.js、Angular
* バックエンド:例: Node.js、Django、Spring
### 開発ツール
使用している開発ツールと、バージョンを記載します。
* バージョン管理:例: Git, Github, Gitlab
* ビルドツール:例: Webpack、Gulp
* テストツール:例: Jest、Mocha
* CI/CDツール:例: Jenkins、GitHub Actions
### その他の技術
その他に使用している技術を記載します。
* データベース:例: MySQL、PostgreSQL、MongoDB
* クラウドサービス:例: AWS、Azure、Google Cloud
* APIサービス:例: Google Maps API、Stripe
## 環境情報
### 環境URL・認証情報・鍵情報
各環境のURLと認証情報、鍵の情報を記載します。
### AWSアカウント情報
AWSアカウント情報を記載します。
他のクラウドサービスを使う場合は、その情報を記載します。
## セットアップガイド
### 必要なソフトウェアやツール
* 必要なツール1
* 必要なツール2
### 開発環境の構築手順
開発環境の構築手順を記述します
### 環境変数の設定方法
環境変数の設定方法と例を記載します。
### データベースの設定(必要な場合)
データベースの設定方法を記載します。
## システム仕様
### システム仕様書
システム仕様書を記載します。
### 環境構成図
アーキテクチャ構成図を記載します。
### 設計のポイントやアプローチ
主要な設計決定とその理由を示します。
## 画面仕様
### 画面仕様書
画面仕様書を記載します。
### 画面遷移図
各画面間の遷移関係を示します。
### 各画面要素の説明
各UIコンポーネントの詳細を記述します。
## データベース設計
### データベース設計書
データベース設計書を示します。
### ER図(エンティティ・リレーションシップ図)
エンティティとそのリレーションシップを示します。
### 各テーブルとカラム、インデックスやキーの詳細
各テーブルとそのカラムの詳細を記述します。
アプリケーションコードのリンクでも可(schemaなど)
## コード規約
### 命名規則
* 変数名:キャメルケース(例: myVariable)
* 関数名:キャメルケース(例: myFunction)
* クラス名:パスカルケース(例: MyClass)
### インデントやスペーシング
インデントのスタイルやスペーシングのルールを記述します。
### コメントのスタイル
コメントの規則を記載します。
### 使用するリンターやフォーマッター
使用するツールを記載します。
## GitLabルール
### ブランチ戦略
ブランチ戦略を記載します。
* 例
* production:プロダクション用。
* main:次のリリースに向けたベースライン。開発環境用。
* フィーチャーブランチ: feature/Redmineチケット番号 形式(例: feature/000000)。
### コードレビューとプルリクエストのプロセス
コードレビューのプロセスを記載します。
### CI/CDの設定と運用
CI/CDの設定方法と運用ガイドを記します。
## テスト
### テスト環境のセットアップ方法
テスト環境の構築手順を示します。
### テストケースの作成と実行
テストの作成方法と実行手順を記載します。
### 自動テスト
自動テストの設定および実行方法を記載します。
* テストフレームワーク
* 継続的インテグレーション(CI)との統合
## 開発ガイドライン
### 新機能追加の手順
新機能追加の手順を説明します。
### バグ修正の手順
バグ修正の手順を説明します。
### パフォーマンスチューニングの手順
パフォーマンスを向上させる改修の手順を説明します。
## 運用フロー
### 保守・運用作業の手順
運用作業の手順を説明します。
## リリース
### リリースの前に確認すべき事項
リリース前に確認すべき事項を示します。
### 本番環境へのリリース手順
リリース手順を記載します。
### ロールバック手順
ロールバック手順を記載します。
## リリースノート
### リリースノートの更新方法
リリースノートの更新手順を説明します。
## APIドキュメント
### API仕様書
API仕様書を記載します。
## 外部ツール
### 使用している外部ツール
外部ツールのリストを記載します。
### 外部ツールの更新方法
依存関係の更新方法を記載します。
## 障害対応
### 障害の種類と優先度別の対応方法
障害の種類とその優先度別対応方法を記載します。
### 対応手順
対応の手順を示します。
## 請求管理
### 見積もり書
見積もり書を記載します。
### プロジェクト関連のコストや請求先
主要なコスト項目と請求先を記載します。
### コスト監視および報告
コストの監視方法と報告のフォーマットを記載します。
## プロジェクトメンバー
### 主要メンバー
主要メンバーの役割と、社内外かを記載します。
### コミュニケーションツール
使用するコミュニケーションツールを記載します。
### 緊急連絡先
必要があれば、緊急連絡先も記載します。
## プロジェクト管理
### タスク管理ツールやその使用方法
タスク管理ツールとその使用方法を説明します。
### 開発スケジュールと進捗管理
開発スケジュールと進捗管理の方法を記載します。
## マニュアル
### 更新手順
マニュアルの更新手順を説明します。
### 保管場所
マニュアルの保管場所を記載します。
実際に運用してみての所感
後ほど追記します!
最後に
このテンプレートを他の開発チームでそのまま使うのは難しいかもしれませんが、参考程度になれると幸いです