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エンジニア向け自宅筋トレメニューエンジニアが運動習慣を続けるコツも参考になると思います。

U

Untanbaby

ソフトウェアエンジニア|AWS / クラウドアーキテクチャ / DevOps

10年以上のIT実務経験をもとに、現場で使える技術情報を発信しています。 記事の誤りや改善点があればお問い合わせからお気軽にご連絡ください。

関連記事