人材派遣会社において、勤務希望日のアンケート作成・回答集計・運用管理を仕組み化した案件。毎月の定型業務を人手に依存しない流れへ整え、回答データの蓄積、進捗確認、障害時の追跡まで含めて運用しやすい状態を設計した。
処理の進捗がわかり、安心して使える。
成功・失敗だけでなく診断情報まで残し、問い合わせ対応や障害解析の前提(時系列・runId・処理段階)を整備。
既存行があればそこへ、なければ新規行へ追記。
過去データ毀損リスクを構造から排除し、履歴を資産化。
Google Apps Script(GAS)で構築した「勤務希望管理の自動化システム」。
Googleフォームの回答を、年次ブック・月次シートへ一貫したパイプラインで連携し、
回答は追記(append-only)で蓄積。通知とOpsLogを組み合わせることで、運用漏れを防ぎつつ、
障害時も追跡できる“運用可能な自動化”を実現した。
自由記述を設けず、勤務可否を選択式で収集することで、不要な個人情報の混入を抑制。回答先スプレッドシートは管理者のみが閲覧できる構成とし、回答データは追記型で蓄積。処理状況をログで確認できるようにすることで、日常運用と障害時の確認を両立した。
月次の勤務希望フォームを継続運用するにあたり、単に「自動化できる」だけでは不十分であった。
必要だったのは、手作業依存を外す仕組み化、過去データを壊さないデータ設計、障害時に追えるログ、
そして非エンジニアでも状況が分かる進捗の可視化である。
毎月の質問項目作成に15分+回答の集計作業。
人手に依存し、抜けもれが起きやすい。
上書き更新が発生すると、過去データ消失や監査性低下につながる
運用フローを“人のスキル”ではなく“仕組み”に寄せ、継続運用の再現性を担保
ログにより「いつ・どこで・何が起きたか」を追跡可能
年次ブック管理・月次シート生成・転記・UI・共通関数・ログ基盤を責務単位で分離し、各処理の呼び出し関係と実行順をオーケストレーションとして整理することで、変更に強く、保守しやすい構造を実現。
設定値の参照を façade(getSetting_)に集約し、マスターブック正統派 → 年次ブック互換フォールバックの三層で吸収することで、設定差異や参照先変更があっても運用が崩れにくい構造を設計。
LOG_DETAIL の2モードで出力粒度を切り替え、要約 → 強制縮小(forceShrink)まで含めてログ書き込みを成立させることで、ログ自体が障害要因になりにくい可観測性重視の設計を採用。
日付列マップ構築、値整形、行決定、必要行作成、日付マーク更新、ログ記録までを分解し、単純な更新処理ではなく、履歴保持と例外耐性を前提とした整合性中心の転記フローとして設計。