完成の定義(Definition of Done、DoD)とは、「この状態になったら完成と呼ぶ」という品質の基準を、チーム全員が同じ言葉で持つための取り決めです。受け入れ基準が1つのバックログ項目だけに当てはまる条件であるのに対し、完成の定義はすべての項目に共通して当てはまります。

この記事では、Web API・画面・バッチ・インフラ変更・ドキュメントの種類別DoDチェックリストを、プルリクエストテンプレートにそのまま貼れる Markdown のチェックボックスで用意しました。完成の定義・受け入れ基準・準備完了の定義(DoR)の違いは1枚の比較表にまとめ、同じバックログ項目を3つに書き分けた記入例と、初期版から段階的に厳しくするレベル別DoDも載せています。

確認環境:スクラムの記述はスクラムガイド2020(日本語版PDF)、プルリクエストテンプレートの置き場所は GitHub Docs を2026年10月に開いて確認。チェックボックスを数えるスクリプトは Ubuntu 24.04、Python 3.11.15 で実行。

完成の定義・受け入れ基準・準備完了の定義の違い早見表

比べる点 完成の定義(DoD) 受け入れ基準(AC) 準備完了の定義(DoR)
答える問い 完成と呼べる品質か この項目は求めた動きをするか 着手できる状態か
当てはまる範囲 すべての項目に共通 その項目だけ すべての項目に共通
確かめる時期 作業の終わり 作業の終わり 作業の始まり(スプリントに入れる前)
中身 レビュー、テスト、文書、デプロイなどの品質の条件 入力・操作・結果で表した振る舞いの条件 目的、受け入れ基準、大きさ、依存の整理
主に書く人 スクラムチーム全員 プロダクトオーナーと開発者 スクラムチーム全員
変わる頻度 ときどき(振り返りで見直す) 項目ごとに毎回書く ときどき
置き場所 チームの共有ページ、プルリクエストテンプレート バックログ項目の中 チームの共有ページ、バックログ項目のひな形
満たさないとき インクリメントに含めず、バックログに戻す 項目は未完成。直すか、条件を見直す スプリントに入れる前に整える
スクラムガイド2020 記載あり(インクリメントの確約) 語としては記載なし 語としては記載なし
例 「コードレビューで1名以上の承認を得た」 「利用開始の前なら、自分の予約を取り消せる」 「受け入れ基準が3つ以上書いてある」

項目が完成したと言えるのは、「その項目の受け入れ基準をすべて満たし、かつ、完成の定義をすべて満たしたとき」です。受け入れ基準と準備完了の定義はスクラムガイド2020に出てこない語で、多くのチームでよく使われるやり方として広まっているものです。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「完成の定義(DoD)の例とチェックリスト|受け入れ基準との違い」

スクラムガイド2020に書かれている完成の定義

完成の定義は、スクラムガイド2020でインクリメントに対する確約(コミットメント)として定められています。日本語版の記述と、そこから読み取れることを対応させます。

スクラムガイド2020の記述 読み取れること
「完成の定義とは、プロダクトの品質基準を満たすインクリメントの状態を示した正式な記述である。」 口頭の了解ではなく、書いて共有する
「プロダクトバックログアイテムが完成の定義を満たしたときにインクリメントが誕生する。」 満たすまでは、動いていても成果に数えない
「完成の定義により、作業が完了してインクリメントの一部となったことが全員の共通認識となり、透明性が生み出される。」 目的は「完成」という言葉の意味をそろえること
「プロダクトバックログアイテムが完成の定義を満たしていない場合、リリースすることはできない。」「そうした場合、あとで検討できるようにプロダクトバックログに戻しておく。」 9割できた項目も、未完成として戻す
「インクリメントの完成の定義が組織の標準の一部となっている場合、すべてのスクラムチームは最低限それに従う必要がある。」 組織の基準は下限。チームで上乗せしてよい
「組織の標準になっていない場合、そのスクラムチームはプロダクトに適した完成の定義を作成する必要がある。」 基準がなければ、チームが自分たちで作る
「プロダクトに関わるスクラムチームが複数ある場合、共通の完成の定義を作成して、それに準拠する必要がある。」 同じプロダクトなら、チームをまたいで1つにそろえる
「スクラムチームは、個人、相互作用、プロセス、ツール、完成の定義に関して、今回のスプリントがどのように進んだかを検査する。」(スプリントレトロスペクティブ) 完成の定義は振り返りで見直す対象
開発者の責任として「完成の定義を忠実に守ることにより品質を作り込む。」 守る主体は開発者

ガイドは完成の定義に何を入れるか(レビューやテストの種類)までは定めていません。この先のチェックリストは、ガイドの枠組みの上でよく使われる項目を整理したものです。

準備完了の定義については、ガイドに「1スプリント内でスクラムチームが完成できるプロダクトバックログアイテムは、スプリントプランニングのときには選択の準備ができている。」という一文があります。この「準備ができている」状態をチェックリストにしたものが、一般に DoR と呼ばれています。

同じバックログ項目を3つに書き分ける

架空の備品予約システムの項目「予約を取り消す」を例に、3つを並べます。同じ項目について、何をどこに書くかがわかります。

バックログ項目:

社員として、利用開始前の自分の予約を取り消したい。
予定が変わったときに、他の人がその備品を使えるようにするためだ。

準備完了の定義(着手の前に確かめる)

- [x] 誰の、何のための項目かが書いてある
- [x] 受け入れ基準が書いてあり、開発者が内容を質問し終えた
- [x] 1スプリントで完成できる大きさである(見積もり:3ポイント)
- [x] 画面の案がある(予約一覧に「取り消す」ボタンを追加)
- [x] 他の項目への依存がない、または順序が決まっている
- [x] 確かめるためのデータが用意できる(予約済みの備品が2件以上)

受け入れ基準(この項目だけの条件)

- [ ] 利用開始の前であれば、自分の予約を取り消せる
- [ ] 取り消した時間帯は、すぐに他の社員が予約できる
- [ ] 利用開始の時刻を過ぎた予約には「取り消す」ボタンを表示しない
- [ ] 他の社員の予約は取り消せない(APIを直接呼んでも 403 を返す)
- [ ] 承認待ちの予約を取り消すと、上長への承認依頼も取り下げられる
- [ ] 取り消しの前に確認の表示を出し、取り消した後に結果を表示する

完成の定義(すべての項目に共通の条件)

- [ ] コードレビューで1名以上の承認を得た
- [ ] 単体テストを追加し、すべて通っている
- [ ] 結合テストが通っている
- [ ] 静的解析とフォーマットの指摘が0件である
- [ ] API仕様書・画面仕様など、関係する文書を更新した
- [ ] 検証環境にデプロイして動作を確認した
- [ ] プロダクトオーナーが受け入れ基準を確認した

書く場所に迷ったときの判断表

書きたい内容 書く場所 理由
利用開始後は取り消せない 受け入れ基準 この項目だけの振る舞い
単体テストが通っている 完成の定義 どの項目にも当てはまる
一覧の表示は1,000件で2秒以内 受け入れ基準 その画面だけの数値
すべてのAPIは95%が500ミリ秒以内 完成の定義 全体に共通の品質の条件
画面の案がある 準備完了の定義 着手の前にそろえるもの
エラーメッセージの文言 受け入れ基準 項目ごとに違う
エラー時の応答の形式が共通ルールどおり 完成の定義 全APIに共通
見積もりが済んでいる 準備完了の定義 着手の前にそろえるもの

「次の項目でも同じことを書くか」と自分に問い、答えが「はい」なら完成の定義に移します。同じ条件を受け入れ基準に毎回書いているなら、完成の定義に入れる合図です。

段階的に厳しくするレベル別DoD(3段階)

最初から項目を多くすると、守りきれずに形だけになりがちです。いま毎回守れている項目から始め、振り返りで1〜2項目ずつ足すと定着します。3段階の例を示します。

観点 レベル1:はじめの版 レベル2:自動化を足す レベル3:いつでもリリースできる
レビュー 1名以上が承認 1名以上が承認し、指摘への対応を記録 設計に関わる変更は2名が承認
単体テスト 変更した処理にテストがある CIで毎回実行され、すべて通る カバレッジが基準(例:80%)以上
結合テスト 手で主要な流れを確認 主要な流れを自動テストで確認 回帰テスト一式がCIで通る
静的解析 手元で実行 CIで実行し、指摘0件 脆弱性の検査も指摘0件
受け入れ基準 開発者が確認 プロダクトオーナーが検証環境で確認 確認の記録が項目に残っている
文書 変更点をプルリクエストに書く API仕様書と手順書を更新 利用者向けの案内と変更履歴も更新
デプロイ 手元で動く 検証環境に自動でデプロイされる 本番に出せる状態で、戻す手順も確認済み
性能・監視 対象外 遅くなっていないことを確認 目標値を満たし、監視とアラートが設定済み
残した作業 チームに口頭で共有 バックログに項目として登録 残した作業がない
レベル 向いている時期 次へ進む目安
1 チームを組んだ直後、CIがこれから 3スプリント続けて、全項目を守れた
2 CIと検証環境がそろった 手で行う確認が減り、レビューの待ち時間が安定した
3 スプリントごと、またはそれより短い間隔でリリースしたい 残した作業が0のスプリントが続く

レベル1のDoD(最初の版としてそのまま使える形):

## 完成の定義(レベル1)
- [ ] 1名以上がコードレビューで承認した
- [ ] 変更した処理に単体テストがあり、通っている
- [ ] 主要な流れを手で動かして確認した
- [ ] 受け入れ基準をすべて満たしている
- [ ] 変更点と確認方法をプルリクエストに書いた
- [ ] 残した作業があれば、チームに共有した

完成の定義を厳しくすると、1項目にかかる作業は増えます。その分、スプリントの後に残る「完成していない作業」が減り、リリース前にまとめて行っていた確認が毎スプリントに分かれていきます。

種類別DoDチェックリスト

共通の項目に、変更の種類ごとの項目を足して使います。どれも Markdown のチェックボックスなので、課題管理ツールやプルリクエストにそのまま貼れます。当てはまらない項目は消さずに「(対象外:理由)」と書くと、見落としではないことが伝わります。

共通(すべての変更)

## 完成の定義:共通
- [ ] 受け入れ基準をすべて満たしている
- [ ] 1名以上がコードレビューで承認した
- [ ] 単体テストを追加・更新し、すべて通っている
- [ ] CI(ビルド、テスト、静的解析)が通っている
- [ ] 秘密情報(パスワード、APIキー)がコードとログに含まれていない
- [ ] 関係する文書を更新した
- [ ] 検証環境で動作を確認した
- [ ] 残した作業をバックログに登録した

Web API

## 完成の定義:Web API
- [ ] API仕様書(OpenAPI など)を更新し、実装と一致している
- [ ] 正常系と、入力エラー・権限なし・対象なしの応答をテストした
- [ ] ステータスコードとエラー応答の形式が共通ルールどおりである
- [ ] 入力値を検証している(必須、型、桁、範囲)
- [ ] 認証と権限の確認がある(他の利用者のデータを操作できない)
- [ ] 既存の利用側に影響する変更がない。ある場合は移行の方法を書いた
- [ ] 一覧を返すAPIに、件数の上限とページ分けがある
- [ ] 応答時間が目標値以内である(例:95%が500ミリ秒以内)
- [ ] ログに、追跡に必要な情報(リクエストID、利用者、結果)が出ている
- [ ] 同じリクエストを2回送ったときの動きを確かめた

画面

## 完成の定義:画面
- [ ] 画面の案(デザイン)と見比べて、差がない
- [ ] 対象のブラウザーと画面幅(PC・スマートフォン)で表示を確認した
- [ ] 読み込み中・0件・エラーのときの表示がある
- [ ] 入力エラーの文言が、項目のそばに表示される
- [ ] キーボードだけで操作でき、フォーカスの位置がわかる
- [ ] 画像に代替テキストがあり、入力欄にラベルがある
- [ ] ボタンを続けて押しても、処理が二重に行われない
- [ ] 画面の文言が用語集と一致している
- [ ] 権限のない利用者には、操作のボタンを表示しない
- [ ] 画面のテスト(コンポーネントのテスト、または主要な流れの自動テスト)がある

バッチ

## 完成の定義:バッチ
- [ ] 起動の条件(時刻、前の処理)と、想定する処理時間を書いた
- [ ] 0件、1件、想定する最大件数で動作を確認した
- [ ] 途中で止まった場合に、再実行して同じ結果になる
- [ ] 同じ処理が重なって起動しないようにしている
- [ ] 入力の不備がある行の扱い(とばす/止める)を決め、テストした
- [ ] 処理件数と、成功・エラーの件数をログに出している
- [ ] 異常終了を検知して通知する設定がある
- [ ] 再実行の手順と、データを元に戻す手順を書いた
- [ ] 想定する件数で、時間内に終わることを確認した
- [ ] 他の処理との実行順とロックの影響を確認した

インフラ変更

## 完成の定義:インフラ変更
- [ ] 変更がコード(構成管理のファイル)になっており、レビューを受けた
- [ ] 適用前の差分(追加・変更・削除されるもの)を確認した
- [ ] 検証環境に適用し、動作を確認した
- [ ] 元に戻す手順を書き、検証環境で確かめた
- [ ] 作業中のサービスへの影響(停止の有無と時間)を書いた
- [ ] 権限は必要な範囲だけにしている
- [ ] 秘密情報は、専用の保管場所から読み込んでいる
- [ ] 監視とアラートを追加・更新した
- [ ] 費用への影響を確認した
- [ ] 構成図と運用手順書を更新した
- [ ] 作業の日時と担当を関係者に伝えた

ドキュメント

## 完成の定義:ドキュメント
- [ ] 誰が、何のために読む文書かを冒頭に書いた
- [ ] 手順は、書いたとおりに別の人が実行して確かめた
- [ ] コマンドと設定例は、実際に動かしたものを貼った
- [ ] 画面の名前・用語が、製品と用語集に一致している
- [ ] リンクが開ける
- [ ] 版数と更新日、変更の要約を書いた
- [ ] 1名以上がレビューした
- [ ] 置き場所が決まっており、関連する文書から辿れる
- [ ] 以前の版の文書を、置き換えたか、案内を付けた

種類別の項目数と重点

種類 項目数 重点
共通 8 レビュー、テスト、CI、文書
Web API 10 仕様書との一致、エラー応答、権限、互換性
画面 10 表示の状態、操作のしやすさ、二重の実行
バッチ 10 再実行、件数、通知、手順
インフラ変更 11 差分の確認、元に戻す手順、監視
ドキュメント 9 手順の確かめ、用語、版の管理

プルリクエストテンプレートに入れる

完成の定義は、毎回の作業で目に入る場所に置くと守りやすくなります。GitHub では、リポジトリに次のいずれかのファイルを置くと、プルリクエストの本文にその内容が入ります(GitHub Docs の記載)。

置き場所 ファイル
リポジトリのルート pull_request_template.md
docs ディレクトリ docs/pull_request_template.md
.github ディレクトリ .github/pull_request_template.md
複数のテンプレートを使う場合 .github/PULL_REQUEST_TEMPLATE/ の中に、テンプレートごとのファイル

.github/pull_request_template.md の例:

## 変更内容
<!-- 何を、なぜ変えたか -->

## 対応するバックログ項目
<!-- 項目のURLまたは番号 -->

## 確認方法
<!-- レビューする人が動かして確かめる手順 -->

## 受け入れ基準
<!-- バックログ項目から貼り付けて、確認できたものにチェック -->
- [ ] 

## 完成の定義:共通
- [ ] 受け入れ基準をすべて満たしている
- [ ] 単体テストを追加・更新し、すべて通っている
- [ ] CI(ビルド、テスト、静的解析)が通っている
- [ ] 秘密情報(パスワード、APIキー)がコードとログに含まれていない
- [ ] 関係する文書を更新した
- [ ] 検証環境で動作を確認した
- [ ] 残した作業をバックログに登録した

## 完成の定義:変更の種類(当てはまるものを残す)
<!-- Web API・画面・バッチ・インフラ変更・ドキュメントのチェックリストを貼る -->

## レビューする人へ
<!-- 特に見てほしい点、迷った点 -->

種類ごとにテンプレートを分ける場合は、.github/PULL_REQUEST_TEMPLATE/ に api.md、batch.md のようにファイルを置きます。GitHub Docs では、プルリクエストを作るURLに template クエリパラメーターを付けて、使うテンプレートを指定する方法が案内されています。

「1名以上がコードレビューで承認した」はテンプレートから外しています。承認はプルリクエストの画面で確認できるため、チェックボックスにするより、仕組みの側で確かめるほうが確実です。機械で確かめられる項目はCIや設定に任せ、チェックリストには人が判断する項目を残すと、リストが短く保てます。

チェックの残りをスクリプトで数える

プルリクエストの本文から、チェックの付いていない項目を取り出すスクリプトです。「(対象外:理由)」と書いた項目は数えません。

"""プルリクエスト本文のチェックボックスを数え、残っている項目を表示する。"""
import re
import sys

ITEM = re.compile(r"^\s*[-*] \[( |x|X)\] (.+)$")


def check(text):
    done, todo, skipped = [], [], []
    for line in text.splitlines():
        m = ITEM.match(line)
        if not m:
            continue
        mark, label = m.group(1), m.group(2).strip()
        if "対象外" in label:            # 例: - [ ] 画面の確認(対象外:APIのみの変更)
            skipped.append(label)
        elif mark == " ":
            todo.append(label)
        else:
            done.append(label)
    return done, todo, skipped


if __name__ == "__main__":
    body = open(sys.argv[1], encoding="utf-8").read()
    done, todo, skipped = check(body)
    print(f"完了 {len(done)} 件 / 残り {len(todo)} 件 / 対象外 {len(skipped)} 件")
    for label in todo:
        print(f"  残り: {label}")
    sys.exit(1 if todo else 0)

確かめる本文(pr_body.md):

## 変更内容
予約の取り消しAPIを追加しました。

## 完成の定義
- [x] コードレビューで1名以上の承認を得た
- [x] 単体テストを追加し、すべて通っている
- [ ] 結合テストが通っている
- [x] API仕様書を更新した
- [ ] 画面の表示を確認した(対象外:APIのみの変更)
- [ ] 検証環境にデプロイして動作を確認した

実行結果(python3 dod_check.py pr_body.md の後に echo "終了コード: $?" を実行):

完了 3 件 / 残り 2 件 / 対象外 1 件
  残り: 結合テストが通っている
  残り: 検証環境にデプロイして動作を確認した
終了コード: 1

残りの2項目にチェックを付けて、もう一度実行した結果:

完了 5 件 / 残り 0 件 / 対象外 1 件
終了コード: 0

残りがあると終了コードが 1 になるので、CI のステップに組み込めば、チェックの残ったプルリクエストに気づけます。

完成の定義の作り方と見直し方

手順 行うこと ポイント
1 組織の基準があるか確かめる あれば、それを下限として取り込む
2 いま「完成」と言うときに行っていることを全員で書き出す 付箋や共有の文書で、1人ずつ出す
3 毎回守れている項目だけを残して、初期版にする 5〜8項目が目安
4 項目を「確かめられる文」に直す 下の対比表を参照
5 共有ページとプルリクエストテンプレートに置く 目に入る場所に
6 スプリントレトロスペクティブで見直す 守れなかった項目、足したい項目を1〜2個
7 機械で確かめられる項目をCIに移す リストを短く保つ

確かめられる文に直す

直す前 直した後 足したもの
テスト済み 単体テストと結合テストがCIで通っている 種類、確かめ方
レビュー済み 1名以上がプルリクエストを承認した 人数、記録の場所
ドキュメントを整備 API仕様書と運用手順書を更新した 対象の文書
品質に問題なし 静的解析の指摘が0件で、既知の不具合はバックログに登録済み 数値、扱い
デプロイできる 検証環境に自動でデプロイされ、主要な流れを確認した 環境、確認の内容
性能を確認 一覧のAPIは1,000件で95%が500ミリ秒以内 条件、数値

つまずきやすい点と直し方

起きること 理由 直し方
チェックを付けるだけの作業になる 項目が多い、または判断のいらない項目ばかり 機械で確かめられる項目をCIへ移し、人が見る項目を絞る
「ほぼ完成」がスプリントをまたぐ 満たしていない項目を完成として数えている 満たさない項目はバックログに戻し、残りを見積もり直す
受け入れ基準と内容が重なる 共通の条件を項目ごとに書いている 判断表に沿って、共通のものを完成の定義へ移す
人によって解釈が違う 「テスト済み」のような広い言葉 種類・数値・確かめ方を足す
種類に合わない項目が並ぶ 1つのリストですべてを賄っている 共通+種類別に分け、当てはまらない項目は「対象外:理由」
決めたきり変わらない 見直す場がない スプリントレトロスペクティブの議題に入れる
厳しくしすぎて進まない 一度に引き上げた レベルを1つずつ、1回に1〜2項目だけ足す

よくある質問

Q. 完成の定義は誰が決めますか? A. スクラムガイド2020では、組織の標準になっている場合はすべてのスクラムチームが最低限それに従い、標準になっていない場合はスクラムチームがプロダクトに適した完成の定義を作る、とされています。開発者だけでなく、プロダクトオーナーも含めたチーム全員で合意するのがよく使われるやり方です。

Q. 受け入れ基準を満たしていれば、完成と言えますか? A. 受け入れ基準に加えて、完成の定義も満たしたときに完成と言えます。受け入れ基準は「求めた動きをするか」、完成の定義は「品質の基準を満たすか」を確かめるもので、役割が違います。

Q. スクラムを採用していないチームでも使えますか? A. 使えます。「レビュー済み」「テストが通っている」「文書を更新した」といった共通の条件を書いて共有するだけで、作業の終わりの認識がそろいます。プルリクエストテンプレートへのチェックリストの追加から始めると取り入れやすくなります。

Q. 項目はいくつくらいが適切ですか? A. 共通の項目は5〜8個から始めるのが目安です。種類別を足しても、1回のプルリクエストで人が確かめる項目は15個前後に収めると、毎回読まれるリストになります。

まとめ

  • 完成の定義(DoD)は、すべての項目に共通する品質の基準です。スクラムガイド2020ではインクリメントの確約として定められています。
  • 受け入れ基準はその項目だけの条件、準備完了の定義は着手の前の条件です。この2つの語はスクラムガイド2020にはなく、よく使われるやり方として広まっています。
  • 完成と言えるのは、受け入れ基準と完成の定義の両方を満たしたときです。
  • 書く場所に迷ったら、「次の項目でも同じことを書くか」で判断します。
  • 完成の定義は守れる項目から始め、振り返りで1〜2項目ずつ足して3段階で厳しくします。
  • チェックリストは共通+種類別(Web API・画面・バッチ・インフラ変更・ドキュメント)に分け、プルリクエストテンプレートに置きます。
  • 機械で確かめられる項目はCIへ移し、人が判断する項目だけをリストに残します。

参考・出典

  • スクラムガイド2020 日本語版(Ken Schwaber、Jeff Sutherland):https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf
  • GitHub Docs「リポジトリ用のプルリクエストテンプレートの作成」:https://docs.github.com/ja/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「完成の定義(DoD)の例とチェックリスト|受け入れ基準との違い」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?