初めに
この記事はCommune Advent Calendar 2024シリーズ3、21日目の記事です。
QAチームの金丸が担当します。
今回は、エンジニアの生産性向上に直結する「腸活」について、技術的な視点と科学的根拠を交えながら解説します。
腸活とは
私たちの腸内には、善玉菌、悪玉菌、日和見菌など、多種多様な細菌が生息しており、その集合体を腸内細菌叢(腸内フローラ)と呼びます。これらの細菌は互いに影響し合いながら複雑な生態系を形成しており、そのバランスが私たちの健康に大きく影響します。腸活とは、食生活、生活習慣、サプリメントなどを通じて腸内細菌叢のバランスを整え、健康を維持・増進する活動です
エンジニアは全員腸活した方が良い
エンジニアの腸は弱っている
エンジニアは集中的にデスクワークをすることが多いため長時間椅子に座ることが常態化しています、長時間座ることが健康に害を及ぼすことについては様々な研究結果が出ており、中でも腸に関する悪影響が挙げられます。
加えて、2020年以降リモートワークするエンジニアが増えており各々が自由に仕事を行える時代に突入してきた反面、「通勤しないことによる運動量の低下」が問題視されてきています。
出典: ヤフーデータソリューション テレワークする人と出社する人の歩行距離の違い
私も思い返すと、2020年以前は毎朝近くの駅と家を歩いて往復することで運動不足を補っていたのかもしれません。リモートワークするようになり明らかに体重が増加してしまいました。更に、リモートワーク中は食生活が疎かになりがちなので以前と比べて「偏った食生活」になりがちです。
このように
-
長時間のデスクワーク:
長時間座り続けることは、血行不良や腸の蠕動運動の低下を引き起こし、便秘や消化不良の原因となります -
運動不足:
リモートワークの普及により、通勤などの日常的な運動量が減少し、腸の活動が低下する傾向にあります -
偏った食生活:
デリバリーサービスやコンビニ食の利用増加、不規則な食事時間などは、腸内細菌叢のバランスを崩し、悪玉菌の増殖を招く可能性があります
の三拍子が揃った現代のエンジニアのワークスタイルは腸にとってとても良くない環境にあります。
「仕事のやる気がない?」それ腸内環境が原因かも
業務をする中で「今日なんかやる気出ないなー」と考えたことないでしょうか?
実は、腸内環境とやる気には密接な関係性があることが最近の研究によってわかってきました。この経路は「脳腸相関」と呼ばれています。
出典: A microbiome-dependent gut–brain pathway regulates motivation for exercise
研究内では腸内細菌の活動は神経伝達物質の生産や吸収される栄養素の種類に影響を与えることが示唆されています。具体的に言うと、「腸内細菌はやる気や気分に影響を及ぼし、仕事に対するモチベーションやパフォーマンスに変動を引き起こす可能性がある」ということになります。
前述の通りエンジニアはリモートワーク時代を経て、腸内環境が以前より悪くなっている可能性が高いです。
そのため、もしリモートワークを契機に仕事のモチベーションが下がったのであれば一度腸内環境を疑ってみては如何でしょうか。
腸活の有用性
便通の改善による生産性向上
去年頃から私は昼夜問わずお腹を下すことが多くなりました。
生理現象なので咎められることはないのですがそれにしても長い時間トイレに籠ることが多々あります。例えば、トイレに篭る時間を$10分/日$と換算すると仮定します。
すると1年間で$36000分=約150時間$をトイレの中で過ごすことになります。
これを腸活によりトイレに篭る時間を1分/日することができると1年間で3285分=約136時間を捻出することができます。チームによっては136時間は一つのプロジェクトを完遂するのに十分な時間です。
腸が緩いチームと健康なチームの生産性シミュレーション
腸活が開発効率に与える影響を定量的に評価するために、シミュレーションを行いました。
シミュレーションの概要
- チーム人数:5人
- シミュレーション日数:100日
- 基本作業効率:各メンバーごとに1〜3の整数値の乱数で設定
- 体調不良確率(腸が緩いチーム):10%
- 作業効率低下率(体調不良時):50%
- 作業中断確率(体調不良時):20%
実行したプログラム
https://colab.research.google.com/drive/1zsF6-Anu8EcllJ9Io4hq5F31GutXC1kP?usp=sharing
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
def simulate_team_performance(team_size, days, base_productivity, p_sick, reduction_rate, interruption_prob, productivity_std=0):
"""チームのパフォーマンスをシミュレートする関数(改善版)"""
team_productivity = []
for day in range(days):
daily_productivity = 0
for base_prod in base_productivity: #各メンバーの基本作業効率を考慮
#健康なチームの場合、基本作業効率に変動を加える
if p_sick == 0:
base_prod += np.random.normal(0, productivity_std)
if base_prod < 0: #マイナスにならないようにする
base_prod = 0
sick = np.random.rand() < p_sick
if sick:
if np.random.rand() < interruption_prob:
productivity = 0
else:
productivity = base_prod * (1 - reduction_rate)
else:
productivity = base_prod
daily_productivity += productivity
team_productivity.append(daily_productivity)
return team_productivity
# パラメータ設定
team_size = 5
days = 260
#各メンバーの基本作業効率を個別に設定
healthy_base_productivity = np.random.randint(1, 4, team_size) #1~3の乱数
loose_base_productivity = np.random.randint(1, 4, team_size) #1~3の乱数
productivity_std = 0.5 #健康なチームの基本作業効率の標準偏差
# 腸が健康なチームのシミュレーション
healthy_team_productivity = simulate_team_performance(team_size, days, healthy_base_productivity, 0, 0, 0, productivity_std)
# 腸が緩いチームのシミュレーション
loose_team_productivity = simulate_team_performance(team_size, days, loose_base_productivity, 0.1, 0.5, 0.2)
# 結果の可視化
plt.figure(figsize=(10, 6))
plt.hist(healthy_team_productivity, alpha=0.5, label='Healthy Team', bins=20)
plt.hist(loose_team_productivity, alpha=0.5, label='Loose Team', bins=20)
plt.xlabel('Daily Team Productivity (Tasks)')
plt.ylabel('Frequency')
plt.title('Comparison of Team Productivity')
plt.legend(loc='upper right')
plt.show()
#平均値と標準偏差の出力
print(f"Healthy Team: Mean = {np.mean(healthy_team_productivity):.2f}, Std = {np.std(healthy_team_productivity):.2f}")
print(f"Loose Team: Mean = {np.mean(loose_team_productivity):.2f}, Std = {np.std(loose_team_productivity):.2f}")
#統計的検定(t検定)
t_statistic, p_value = stats.ttest_ind(healthy_team_productivity, loose_team_productivity)
print(f"T-statistic: {t_statistic:.2f}, P-value: {p_value:.3f}")
シミュレーション結果
チーム | 平均タスク完了数 | 標準偏差 |
---|---|---|
健康なチーム | 13.07 | 1.07 |
腸が緩いチーム | 5.62 | 0.58 |
T統計量:98.46、P値:0.000
シミュレーションの結果、腸が緩いチームは健康なチームに比べて平均タスク完了数が約57%低下するという結果が得られました。
シミュレーション結果の詳細
- Healthy Team (健康なチーム):
平均タスク完了数 (Mean): 13.07
標準偏差 (Std): 1.07
平均値が13を超え、標準偏差も1を超えていることから、個々のメンバーの能力差や日々のコンディションの変化が適切に反映されていることが分かります。前回のように標準偏差が0になるような不自然な結果は解消されています。
- Loose Team (腸が緩いチーム):
平均タスク完了数 (Mean): 5.62
標準偏差 (Std): 0.58
平均値が大幅に低下し、標準偏差も前回より小さくなっています。これは、体調不良による作業効率の低下や中断が、チーム全体のパフォーマンスに大きく影響していることを示しています。
つまり、健康なチームや腸が緩いチームに比べて倍以上の開発生産性を持っていることがわかりました。
- T-statistic (T統計量): 98.46
非常に大きな値です。これは、2つのグループの平均値の差が非常に大きく、偶然では起こり得ないことを強く示唆しています。
- P-value (P値): 0.000 (実際には非常に小さい値)
P値が0.000であることから、健康なチームと腸が緩いチームの間には、統計的に極めて有意な差があると言えます。
明日からできる腸活
先に記述しておきますと、腸内環境は人それぞれ異なっているので"これ"と言ったベストプラクティスは存在しません。ですので、自分の腸内にあった腸活をすることが大事になってきます。
そんな中でも、ひどくお腹を崩すことが多かった私が効果を実感できた方法を紹介したいと思います。
朝は白湯を飲む
私にとってシンプルかつ絶大的な効果が「白湯」でした。
特に、季節の変わり目で体が気温変化に適応しない時期+朝目覚める時間帯にお腹を下すことが多かったのですが、毎朝飲む「水」を「白湯」に変更するとピタリと収まりました。
冷たい水を飲むと腸の動きが活発になり(ぜん動運動)、消化が十分ではない状態で便を出すことに繋がります。そのため、朝いきなり冷たい水を飲むとその1日お腹を下しやすくなります。
「白湯」を飲むことでゆっくりと腸が活性化することで今では業務中にトイレに行く回数と時間が格段に減りました。
整腸剤を飲む
腸内環境を整えるためには善玉菌を増やすことが必要です。そのためには地道に食物繊維が豊富な食べ物や油っこくない食べ物を食べるのが一番良いとされていますが、追加で整腸剤を飲むことをお勧めします。日本の整腸剤は安価で手に入りやすく、かつ、市販されているため入手も容易です。そのため、初めやすく辞めやすい腸活になります。
整腸剤は個人差が強いので自分の腸に何が合うのかを都度試していくのが良いです。その中で私の腸にはアリナミン製薬社のビオスリーが適していました。今では必需品で毎日摂取しています。
納豆を食べる
腸活は食べ物と重要な関係性があり、無理なく毎日食べられるかつ、腸に効果的な食品が適しています。それが「納豆」でした。納豆は植物性乳酸菌を有しており植物性乳酸菌は胃酸に負けにくいため文字通り「生きて腸に届き」ます。また、食物繊維も豊富に含んでおりまさに腸活のための食品と言えます。
色々な発酵食品や食物繊維豊富な食品を食べてみましたが自分の腸に合うのが「納豆」でした。(正直自分は納豆が好きではないのですが健康のために適度に食しています)
その他、一般的に推薦されている腸活法
- 食物繊維を積極的に摂る: 野菜、果物、海藻、穀物などに含まれる食物繊維は、善玉菌のエサとなり、腸内環境を整えます
- 発酵食品を摂る: ヨーグルト、キムチ、味噌などの発酵食品には、乳酸菌などの善玉菌が含まれており、腸内環境改善に役立ちます
- 適度な運動をする: 運動は血行を促進し、腸の蠕動運動を活発にするため、便秘解消に効果的です。
- 十分な睡眠をとる: 睡眠不足は自律神経のバランスを崩し、腸の働きに影響を与える可能性があります。
最後に
腸活は健康のためだけではなくエンジニアの生産性の向上に繋がってきます。トイレに行くこと少なくなるだけで毎日が少しだけ華やかになります。この記事がお腹を下している / 業務の生産性に悩んでいるエンジニアに届くことができれば幸いです。