• Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
  • Mode: Critical (内容から推定・旧 README 一覧より移設)
  • Kruchten Type: Executive
  • Scope: product
  • Implementation Status: Done (Spreadsheet を DB として運用中)

Kruchten Type は ADR-0031 (2026-05-13) で遡及追加。分類根拠は ADR-0031 §決定セクションおよび docs/adr/README.md の Kruchten 3 分類ガイドを参照。 Status / Mode / Scope は 2026-06-11 に遡及追加 (ADR-0031 corrigendum パターン)。出典: Status = 旧形式「## ステータス」節の機械転記 / Mode = 旧 README §既存 ADR 一覧の推定値 (git 履歴) / Scope = ADR-0049 4 層分類の遡及付与 (PR レビューで確定)。

ステータス: 採用済み

コンテキスト

スタートアップ初期段階(従業員10名未満)において、データストアの選定で以下の選択肢があった:

  • 案A: 専用DB(Cloud SQL / Firestore等)を使用し、GASからJDBC等で接続する
  • 案B: Google Spreadsheetのタブをテーブルとして使用し、GAS標準APIで操作する

決定

案B を採用する。 Google Spreadsheetの各タブをテーブルとして使用する。列参照はヘッダー名ベース(indexOf / buildHeaderIndex_)で行い、列番号のハードコードは禁止する。

理由

  1. 専用DBの運用コスト・複雑性がスタートアップ初期段階では過剰
  2. ユーザーがスプレッドシートに慣れており、データの確認・修正が直接行える
  3. GAS標準APIとの統合が容易で、追加の認証設定やドライバが不要
  4. ヘッダー名ベースの列参照により、列の追加・並び替えに耐性がある

結果・影響

  • ポジティブ: 運用コスト実質ゼロ。ユーザーが直接データ確認・修正可能。GAS標準APIで操作が完結
  • ネガティブ: GAS 6分実行制限により大量データの一括処理に制約。同時編集の排他制御なし。トランザクション保証なし
  • 技術的負債: データ量増加時にCloud SQL等への移行が必要になる可能性。その際、ヘッダー名ベースのアクセスパターンをDAO層に抽象化する必要がある

Confirmation (準拠確認 / Fitness Function)

本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。

  • 検証手段: N/A — 要マッピング更新 (ADR-0036 遡及時点で未定義、月次レビューで確定)
  • 実行頻度: —
  • 違反時の対応: —