システム導入の超基本
システム導入は、製品を買って設定する作業ではありません。目的を決め、安全に切り替え、現場が使い続けられる状態を作る仕事です。
Minibank全体の地図、システム開発の基本、学び方の土台を作る。
先に学ぶ内容 — Prerequisite: なし学ぶこと — LEARNING GOALS
このページで学ぶこと
- 導入前から運用までの全体像
- 要件・費用・製品選定の考え方
- 移行・教育・切替で失敗しない方法
体験12 · INTRODUCTION(システム導入の超基本)
「稼働初日」で導入は成功と言えるか確かめよう
まずは予想をひと言。本文を読んだ後、教材内の参照元で実際の判断例を確認します。
- 01まず予想する — PREDICT
まずここだけ:思ったことをひと言書く
新しいシステムを導入した「稼働初日」に、それは成功したと言えるでしょうか?
正解でなくて大丈夫です。「〜だと思う」から始めてみましょう。
ヒント1を見る
「動くこと」と「使い続けられること」は、同じ条件で確かめられるでしょうか?
ヒント2を見る
稼働開始日の前と後で、必要な準備は同じでしょうか?
もっと詳しく:この問いで使う専門用語
- As-Is / To-Beは、現在の仕事と導入後に実現したい仕事を分けて考える方法です。
- UAT(受入test)は、実際の利用者が本当の業務を完了できるか確かめるtestです。
- Cutoverは、旧systemから新systemへ業務を切り替える計画と作業です。
- Hypercareは、稼働直後に人員と監視を増やす期間限定の強化支援です。
日常語で理解する — PLAIN LANGUAGE
まず、ここだけつかむ
システム導入は、softwareを設置する作業ではありません。現在の仕事を理解し、目的を決め、業務・data・人を新しい仕組みへ安全に移す活動です。
本番稼働日はゴールではありません。利用者教育、問い合わせ、監視、障害復旧、継続改善まで動いて初めて導入成功です。
非エンジニアの重要な役割は、技術を全部実装することではなく、利用者の問題、業務上の正しさ、優先順位、受け入れられるriskを明確にすることです。
順番に理解する — DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
As-Is / To-Be
As-Isは現在の仕事、To-Beは導入後に実現したい仕事です。
現状を知らずに作ると必要な例外を落とし、現状をそのまま写すと非効率まで固定するからです。
現在のKYC・口座・振込手順を整理し、誰がどこで確認する将来像かを設計します。
要件
新しい仕組みが満たすべき条件です。機能だけでなく速度・安全性・復旧も含みます。
『良い感じに』では完成判断ができず、関係者ごとに期待がずれるためです。
振込可能という機能に加え、二重処理防止、権限、処理時間、監査、復旧条件を定めます。
TCO
購入費だけでなく、導入から終了までにかかる総費用です。
安い製品でも移行・連携・教育・保守・解約が高ければ、全体では高くなるからです。
開発費、Supabase/Vercel、監視、保守、security対応、data exportまで考えます。
UAT
実際の利用者が、本当の業務を完了できるか確かめる受入testです。
開発者のtestが通っても、現場の例外や操作手順に合うとは限りません。
operatorがKYC審査、freeze、例外確認を業務scenarioどおり行えるか確認します。
Cutover
旧systemから新systemへ業務を切り替える計画と作業です。
移行途中のdataや取引を曖昧にすると、二重処理や記録欠落が起きるからです。
切替時刻、停止範囲、go/no-go、取引の扱い、照合を事前に決めます。
Rollback
新systemに問題があったとき、安全な旧状態へ戻すことです。
開始後に重大問題が見つかっても、被害を拡大させず業務を再開するためです。
appだけでなく、切替中の取引・DB migration・監査をどう扱うかまで計画します。
Runbook
特定の運用・障害時に、誰が何をどの順で行うか書いた手順書です。
担当者の記憶と勘だけでは、夜間や緊急時に安全で再現可能な対応ができません。
整合性issue、送金障害、管理者lockoutなどの確認・連絡・復旧手順を用意します。
Hypercare
稼働直後に人員と監視を増やす、期間限定の強化支援です。
本番で初めて分かる利用方法・問い合わせ・性能問題が集中するからです。
初期の振込失敗、KYC操作、照合issueを毎日reviewし、通常運用へ引き継ぎます。
発展 — ADVANCEDもっと詳しく確認する最初の学習では読まなくても問題ありません。仕組みをもっと深く理解したい場合に開いてください。
システム導入とは何をすること?
システム導入とは、現在の仕事を理解し、解決したい問題を決め、仕組みを選び、データと業務を移し、利用者が安全に使える状態へ変える活動です。稼働開始日はゴールではなく、運用のスタートです。
良いシステムでも、目的が曖昧、現場の手順と合わない、教育がない、障害時の連絡先がない場合は定着しません。技術・業務・人・運用の4つを同時に設計します。
| 領域 | 決めること | 失敗すると |
|---|---|---|
| 業務 | 何をどう変えるか | 以前より手間が増える |
| 技術 | 機能・性能・安全性 | 遅い、止まる、情報が漏れる |
| 人 | 責任者・利用者・教育 | 誰も判断・操作できない |
| 運用 | 監視・問い合わせ・復旧 | 稼働後の問題を放置する |
最初に、導入目的を1文で決める
『DXしたい』『新しいシステムが欲しい』は目的ではありません。誰の、どの問題を、いつまでに、どう改善するかを1文にします。機能一覧より先に、成功の定義を置きます。
| 曖昧な目的 | 判断に使える目的 |
|---|---|
| 業務を効率化する | 振込申請から承認までの平均時間を2日から2時間へ短縮する |
| ミスを減らす | 二重入力をなくし、月次の残高差異を0件にする |
| セキュリティを高める | 共有管理者を廃止し、重要操作を個人単位で監査できるようにする |
| 安定させる | 営業時間中の利用可能率と復旧時間の目標を定める |
現状と将来像:As-Is / To-Be
As-Isは現在の仕事、To-Beは導入後の理想的な仕事です。現在の不満だけでなく、実際の手順、例外、担当者、利用データ、締切、手作業を観察します。
現状を理解せず理想だけ描くと、現場で必要な例外処理や承認を落とします。一方、現在の紙手順をそのまま画面化すると、非効率までシステムへ固定します。
- 01実際の利用者へ聞く・作業を見る
- 02開始から完了までの業務を図にする
- 03待ち時間・二重入力・属人作業・riskを見つける
- 04残す手順・変える手順・やめる手順を決める
- 05導入後の業務と責任分担を描く
関係者と責任を明確にする
利用者、業務責任者、経営、情報システム、セキュリティ、法務・監査、開発会社では、見ているriskが異なります。全員の意見を同じ重さで並べるのではなく、誰が相談され、誰が最終決定するかを決めます。
| 役割 | 主な責任 | Minibankの例 |
|---|---|---|
| Sponsor | 予算・優先順位・最終支援 | なぜ導入するかを事業として決める |
| Product / Business Owner | 業務要件と受入判断 | 口座・KYC・振込ルールを決める |
| System Owner | 技術・運用の全体責任 | architectureと運用境界を管理する |
| Security / Risk | 脅威・権限・規制risk | RLS、admin権限、監査を確認する |
| Operator | 日常運用と障害対応 | KYC審査、freeze、照合を実行する |
| End User | 実際の利用とfeedback | 顧客画面で残高・振込を利用する |
要件は、機能と非機能に分ける
機能要件は『何ができるか』、非機能要件は『どの程度安全・高速・安定してできるか』です。導入失敗では、画面と機能は完成していても、性能・復旧・監査・保守性が決まっていないことがよくあります。
| 種類 | 問い | Minibankの例 |
|---|---|---|
| 機能 | 利用者は何ができるか | 口座開設、振込、freeze、KYC承認 |
| 性能 | 何件・何秒まで必要か | 同時振込件数、p95応答時間 |
| 可用性 | いつ、どの程度使えるか | 営業時間、計画停止、SLO |
| セキュリティ | 誰が何へアクセスできるか | 顧客・operator・managerの権限 |
| データ | 何をどれだけ保存するか | 取引・台帳・監査の保持 |
| 復旧 | 何分で、どこまで戻すか | RTO・RPO、backup復元、照合 |
| 運用 | 誰が監視・対応するか | alert、runbook、連絡体制 |
| 保守 | どう安全に変更するか | migration、回帰test、rollback |
作る・買う・SaaSを使う
すべて自社開発する必要はありません。標準的な業務ならpackageやSaaS、競争力や金融不変条件に直結する領域なら自社制御を強めるなど、領域ごとに選びます。初期費用だけでなく、5年間の変更・運用・契約・移行費用を含むTCOで比較します。
| 選択肢 | 強み | 注意点 |
|---|---|---|
| 自社開発 | 業務へ細かく適合し制御しやすい | 開発・保守・採用・運用を自社で負担 |
| Package | 実績ある標準機能を利用できる | customizeしすぎるとupgradeが難しい |
| SaaS | 短期間で開始し運用を委託できる | 料金・仕様・障害・data exportをvendorへ依存 |
| 組合せ | 領域ごとに最適な方式を選べる | 連携、責任境界、障害切分けが複雑 |
見積りと予算:導入後の費用を忘れない
見積りには不確実性があります。1つの確定数字に見せるより、前提・対象外・幅・riskを示します。特に古いデータの品質と外部連携は、後から費用が増えやすい領域です。
| 費用 | 具体例 |
|---|---|
| 初期 | 企画、設計、license、開発、機器、data移行 |
| 導入 | test環境、利用者教育、manual、切替支援 |
| 継続 | subscription、cloud、監視、support、保守担当 |
| 変更 | 法改正、業務変更、version up、security対応 |
| 障害 | 復旧、顧客対応、調査、補償、信用低下 |
| 終了 | data export、保管、次system移行、契約解除 |
データ移行は、小さな引越しではない
データ移行では、古い項目を新しい項目へコピーするだけでなく、意味・形式・重複・欠損・履歴・残高を合わせます。金融データは1円の差異も説明できる必要があるため、移行前後の件数と金額を照合します。
- 01移すdataと移さないdataを決める
- 02旧新の項目と意味を対応付ける
- 03欠損・重複・不正値を洗い出す
- 04本番と同条件で移行rehearsalを行う
- 05件数・合計・sample・台帳を照合する
- 06本番切替後の訂正方法と証跡を決める
テストと受入:動くかではなく、使えるか
開発者のtestは実装が仕様どおりかを確認し、UAT(利用者受入test)は実際の業務を完了できるかを確認します。正常系だけでなく、取消、権限不足、通信切断、二重click、大量処理、障害復旧も対象です。
| 確認 | 目的 | 例 |
|---|---|---|
| Functional Test | 機能が仕様どおりか | 振込が正しい口座へ反映される |
| Security Test | 権限を突破できないか | 顧客が他人の口座を読めない |
| Performance Test | 想定量で動くか | 大量振込時の遅延とlock待ち |
| Recovery Test | 障害後に戻せるか | backup復元後の台帳照合 |
| UAT | 現場が仕事を完了できるか | operatorがKYC審査と例外対応を行う |
| Operational Readiness | 運用準備が揃ったか | alert、runbook、連絡先、権限申請 |
本番切替:一番緊張する日を設計する
Cutoverは旧systemから新systemへ業務を切り替える作業です。日時、停止範囲、責任者、go/no-go条件、確認項目、連絡方法、rollback条件を分単位で決めます。
一斉切替だけでなく、少人数から始めるpilot、旧新を並行運用する方式、機能ごとの段階移行もあります。riskとdata整合性を見て選択します。
| 方式 | 特徴 | 注意点 |
|---|---|---|
| 一斉切替 | 短期間で完全移行 | 失敗時の影響が大きい |
| 段階移行 | 部署・機能・利用者ごとに移す | 旧新の共存とdata同期が必要 |
| 並行運用 | 旧新双方で同じ業務を確認 | 安全だが二重作業と差異対応が増える |
| Pilot | 限定範囲で実運用を試す | pilot結果を全体へ反映する手順が必要 |
教育と定着:manualを置くだけでは使われない
利用者は画面操作だけでなく、『何が変わるか』『困ったときどうするか』『自分が判断してよい範囲』を知る必要があります。role別のtraining、実際の業務scenario、FAQ、問い合わせ窓口、操作できる練習環境を用意します。
| 対象 | 必要な教育 |
|---|---|
| 一般利用者 | 基本操作、禁止事項、問い合わせ方法 |
| 管理者 | 権限の意味、重要操作、二人承認、監査 |
| 運用担当 | 監視、alert、runbook、escalation、復旧 |
| 問い合わせ担当 | 既知問題、本人確認、回答範囲、記録 |
| 経営・責任者 | SLO、risk、incident判断、継続投資 |
稼働開始後のHypercareと通常運用
稼働直後は問い合わせ・想定外操作・性能問題が集中するため、Hypercareという強化支援期間を設けます。担当者を増やし、判断を速くし、毎日状況を確認します。落ち着いたら通常の運用体制へ移します。
- 01利用者影響と問い合わせを集約
- 02error・遅延・data差異を監視
- 03重大度に応じて担当へescalation
- 04暫定対応と恒久対応を分けて管理
- 05照合と利用者確認で解決を判定
- 06SLO・費用・業務効果を定期review
導入判定のチェックリスト
| 観点 | Goの条件 |
|---|---|
| 目的 | 成功指標と対象範囲が合意されている |
| 業務 | 新手順、例外、責任者が決まっている |
| 機能 | 必須要件とUATが完了している |
| Security | 権限、秘密情報、監査、退職者対応を確認済み |
| Data | 移行結果を件数・金額・sampleで照合済み |
| Performance | 想定量とpeak条件で検証済み |
| Recovery | backupではなく復元を訓練済み |
| Operation | 監視、alert、runbook、連絡先、当番が有効 |
| Cutover | go/no-go、rollback、顧客連絡が決まっている |
| People | role別教育と問い合わせ窓口が準備済み |
Minibankを導入案件として見ると
Minibankは学習用systemであり、実在する銀行サービスではありません。導入教材として見る場合、機能実装済みと本番運用可能を分けて評価します。
| 確認できる土台 | 本番導入前に別途必要なもの |
|---|---|
| 顧客・口座・KYC・振込 | 実業務要件、法令、外部決済網、例外処理 |
| 台帳・監査・照合 | 保持policy、外部監査、移行照合、訂正運用 |
| RLS・RPC・権限制御 | 脅威分析、侵入test、秘密管理、緊急権限 |
| 回帰test・E2E | 負荷test、復旧訓練、production readiness review |
| 管理画面 | 二人承認、職務分離、問い合わせ・incident手順 |
| observabilityの土台 | 正式SLI/SLO、on-call、alert品質、capacity計画 |
体験学習の続き · LEARNING LOOP
ここまで読めましたか?続けて確認してみましょう
システム導入の全体像を読んだところで、教材内の参照元で実際の判断例を確認し、自分の言葉で説明してみます。
- 02仕組みを確かめる — CONCEPT CHECK
画面操作なしで、仕組みを確かめる
この仕組みは、Mini Bankの画面には現れません。次のEvidenceとCode Trail、教材本文だけで理解を進めます。
- 03証拠を確認する — EVIDENCE
何を見たか、1つずつ確かめる
Evidence(判断の根拠となる記録)を確認したらチェックします。各項目の「何を見るか」を手がかりにしてください。
画面を開けない項目は、Source Trail(教材の参照元)と教材の説明で確認できます。失敗を実際に起こす必要はありません。
- 04コードの処理経路を追う — CODE TRAIL
コードを書く必要はありません
ここでは「説明されている仕組みが、実際のMini Bankのどこに実装されているか」を確認します。まずは日本語の役割説明を読み、入力した依頼がどこへ渡るかをつかみましょう。コードの全文を読む必要はありません。
基本の順序は、画面 → API Route(依頼を受ける窓口)→ TransferService(処理をつなぐサービス)→ DB / RPC(記録の保存場所と、その処理の呼び出し)です。まず最初の2つを見て、続くサービスは「もっと詳しく」で確認します。
教材の参照元を確認する — Source Trail ↓システム全体像を示す教材コンポーネント。要件・設計判断がどう1つの絵にまとまっているかを探します。
src/components/docs/ArchitectureMap.tsx利用者視点の一連操作を確認するE2E test。UATに近い確認がどう自動化されているかを探します。
e2e/full-journey.spec.ts - 05自分の言葉で説明する — EXPLAIN
LEVEL 1 — やさしい説明(まずここだけ)
なぜ「本番稼働した日」がゴールではなく、システム導入の始まりだと言えるのでしょうか? 短い2文を目安に説明してください。
日常語だけで完了できます。専門用語の数や正誤を自動採点するものではありません。
ヒント1を見る
「稼働開始」と「運用」という2つの言葉を使って書いてみましょう。
ヒント2を見る
稼働初日の後、まだ何が終わっていないか考えてみましょう。
もっと詳しく:LEVEL 2 — 専門用語を使った説明(任意)
As-Is/To-Be、UAT、Cutover、Hypercareの4つを使って、稼働開始前後で何をすべきか説明してみましょう。
挑戦する場合は、上の説明欄に追記できます。追加しなくても完了できます。
説明の確認ポイント — Checkpoint- 稼働開始日がゴールではないと説明できる
- 要件や受入条件が実際の実装と結び付いていると説明できる
理解を確かめる — CHECK YOUR UNDERSTANDING
5問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1システムが本番公開されたら、導入は成功ですか?
まだです。業務効果、利用定着、問い合わせ、監視、復旧、継続運用まで機能して成功と判断します。
Q2機能要件が完成していれば本番へ出せますか?
十分ではありません。性能、security、data移行、監査、復旧、運用体制など非機能要件も必要です。
Q3データ移行programがエラーなしなら、移行成功ですか?
違います。旧新で件数・金額・所有者・状態・履歴の意味が一致したか、業務側の照合と受入が必要です。
Q4Rollback計画には『元へ戻せる』と書けば十分ですか?
不十分です。判断者、制限時間、dataと取引の扱い、具体手順、戻した後の照合まで試す必要があります。
Q5非エンジニアは導入で何を決めますか?
目的、業務上の正しさ、優先順位、受け入れるrisk、受入条件、責任者を明確にし、技術側と共同で判断します。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
教材の参照元 — SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
- 現在の実装 — CURRENT IMPLEMENTATION
src/components/docs/ArchitectureMap.tsxsystem全体、容量、信用、運用境界 - 関連教材 — RELATED LESSON/docs/architecture関連教材の入口。導入時に読む各教材の入口
- 現在の実装 — CURRENT IMPLEMENTATION
scripts/regression/変更前後の契約を確認する回帰test - 現在の実装 — CURRENT IMPLEMENTATION
e2e/full-journey.spec.ts利用者視点の一連操作を確認するE2E - 過去の実装 — HISTORICAL IMPLEMENTATION
supabase/migrations/DB変更を順序付きで管理する履歴