3年間続かなかった運動が3ヶ月で習慣化|意志じゃなく仕組みを変えた話
毎年1月に挫折していたエンジニアが、行動科学とスプレッドシート自動化で運動習慣を確立。意志力に頼らない実装方法を公開します。
「意志が弱い」は幻想だった
正直、僕は運動習慣についてずっと誤解してた。3年前まで、毎年1月に「今年こそジムに通う」って決意するんだけど、2月には幽霊会員になってた。当時は自分の意志の問題だと思ってた。甘えだ、根性が足りないと。
でも去年の秋、あるプロジェクトで習慣化に関する論文を読む機会があって——実は習慣が続かないのは、ほぼ100%「仕組みの問題」らしい。意志力なんて、1日数回使い切るリソースに過ぎないんですよ。毎日「運動するぞ」と気合いで決める必要がないってわけ。
そこから実験を始めたんですよ。自分をモルモットにして、行動科学の知見をITエンジニアのやり方で実装してみた。結果、今は3ヶ月連続で週4回の運動が継続できてる。別に意志が強くなったわけじゃない。仕組みが強くなっただけ。
きっかけは「スタック可視化」だった
最初のステップは、ほんとに地味だった。Google SheetsとGASで簡易的な運動ログシステムを作ったんです。別にアプリなんて不要。毎朝「今日の運動予定」をスプレッドシートに手書きして、実績をリアルタイムで埋める。
// GAS: 毎日朝6時に前日の実績をSlackに通知
function notifyYesterdayWorkout() {
const sheet = SpreadsheetApp.getActiveSheet();
const yesterday = new Date(new Date().getTime() - 86400000);
const ymdKey = Utilities.formatDate(yesterday, 'JST', 'yyyy-MM-dd');
const data = sheet.getDataRange().getValues();
const row = data.find(r => r[0] === ymdKey);
if (!row) return;
const message = `昨日の運動: ${row[2]} | 達成: ${row[3] ? '✅' : '❌'}`;
UrlFetchApp.fetch('YOUR_WEBHOOK_URL', {
method: 'post',
payload: JSON.stringify({ text: message })
});
}
これだけで劇的に変わった。「今日運動しようかな」じゃなくて、スプレッドシートに「月曜は胸・背中」「水曜は脚」「木曜は肩」ってテンプレート化されてるんですよ。朝起きたら、その日のメニューはすでに決まってる。決定疲労がゼロになる。
そしてSlackへの毎朝通知。これが地味に効く。前日の結果が否応なく見える。「ああ、昨日できなかった」って記録が残る。人間って、記録を見るとやるようになるんですよ、不思議なことに。
「トリガー」を環境に埋め込む
2つ目の工夫は、トリガー設定。行動科学では「きっかけ」が超重要らしい。決意じゃなく、環境に「やらざるを得ない状況」を作る、ってやつですね。
僕の場合、これが効果的だった:
| 施策 | 効果 | 理由 |
|---|---|---|
| 朝の儀式化 | 起床→シャワー→運動着に着替え | 着替えた時点で脳が「今日は運動する日」と自動認識 |
| スポーツウォッチ通知 | 毎日17時に「本日の活動量は〇〇%」が到着 | 通知を見ると30分でも動かないといけない気分になる |
| 筋トレ動画の自動再生 | YouTubeの再生リスト自動再生設定 | 運動時間になったら次々動画が流れ、中断しづらくなる |
要は、「運動しようかな」って判断する瞬間をなくすんです。判断する前に、すでに動いてる状態を作る。着替えてたら、あとはもう動くしかない、ってわけですよ。
うちのチームで試したこと
実は去年末、会社の健康促進プロジェクトで、このやり方をチーム全体に試してもらったんですよ。10人のエンジニアに「習慣化テンプレート」を配布して、3ヶ月検証してみた。
xychart-beta
title "3ヶ月運動習慣チャレンジ結果"
x-axis [継続成功, 2ヶ月で転換, 挫折]
y-axis "人数" 0 --> 8
line [7, 2, 1]
継続率は70%。悪くない。個人差はあるけど、「完全に続いた人」が7人、「2ヶ月で別の形に転換」が2人、「挫折」が1人。失敗した人も「単に運動習慣が消えた」わけじゃなくて、ランニングとかヨガに転換してた。
ポイントは、テンプレートを共有すること。毎週月曜、Slackのチャネルで「今週のメニュー」を全員で貼り付けるんですよ。他の人がやってるのを見ると、「あ、自分も今週やらないと」ってプレッシャーになる。これは完全に社会的証明効果ってやつですね。
データ可視化で「続ける理由」を作る
3つ目が、データの可視化。
3ヶ月続けてると、Sheetsに自動的に実績データが溜まってく。そこからGoogle Data Studioで簡単なダッシュボードを作った。
pie title "ここ3ヶ月の週ごと実績率"
"80%以上" : 10
"60~79%" : 2
"未達成" : 1
ダッシュボードに入ってる項目はこんな感じ:
- 直近30日の実績率(目標: 80%以上)
- 週ごとのメニュー達成数(棒グラフで進捗把握)
- 運動時間の月ごと推移(累計時間を可視化)
- 最長連続達成日数(新記録を更新する快感)
毎週日曜に眺めるんですよ。「あ、8週連続で80%達成してる」「先月より運動時間20時間増えてる」って具体的な数字が見える。
これは意外だけど、運動そのものより、データを見ることが報酬になるんですよ。脳は数字が上がるのを見ると、ドーパミンが出るんですよね。筋肉のパンプアップより、データグラフの右肩上がりの方が、実感として気持ちいい。
「完璧を目指さない」が続く秘訣
正直、ここが一番大事だと思う。
はじめの2週間は「毎日・完璧に」をやろうとしてた。でも、それだと確実に3週目で挫折する。疲れてるときもある、出張もある、朝寝坊もある。そういう日に「あ、今月の記録が終わった」ってなるんですよ。完璧さを求めると、一度の失敗で心が折れちゃう。
で、目標を変えたんです。「週に3日以上」「月に12日以上」。これだけ。完璧さを捨てた途端、続きやすくなった。
GASのスクリプトも「完璧な運動管理」じゃなくて、「最小限の記録」に設計変更した。結果、維持コストがゼロに近くなったし、そもそも管理疲れがない。
まとめ
運動習慣が続かないのは、意志が弱いからじゃない。仕組みが弱いから。僕たちエンジニアは、この領域では無敵なはずなんですよ。
- テンプレート化: 毎日「何をやるか」を決める負荷を減らす。スプレッドシートで週単位のメニューを固定化する
- トリガー設定: 朝の儀式・スマートウォッチの通知・動画再生など、「判断なし」で動く環境を作る
- データ可視化: 続ける理由は健康じゃなく、グラフが右肩上がりする快感。GASとData Studioで自動集計する
- 完璧を捨てる: 「週に3日」「月に12日」くらいの目標に落とす。完全継続は、むしろ続かないんですよ
もし皆さんも運動習慣で迷ってるなら、「明日からやる」じゃなく「今日から仕組みを作る」をお勧めします。1週間で環境が整えば、あとは惰性で続く。そういう設計ができるのが、エンジニアの強みですよ。
関連記事として、ITエンジニア向け自宅筋トレメニューやエンジニアが運動習慣を続けるコツも参考になると思います。