パパエンジニアの時間確保術とアジャイルについて

エムティーアイ Advent Calendar 2016 13日目 の記事です。

テーマは自由と言われたし、子育てエンジニア Advent Calendar 2016 も埋まっているので、子持ちエンジニアの時間確保術について書きます。

私は3人の子どもを持つパパエンジニアです。  
育児や家事をしながらも、エンジニアとしての活動時間を確保するために、自分の考えや自分がやっていることについて書こうと思います。

同じ境遇にある子持ちエンジニアの参考になればいいな。  

独身や夫婦には現時点では関係性は薄いですが、「エンジニアのための時間管理術」や「SOFT SKILLS　ソフトウェア開発者の人生マニュアル」という本があるように、それのパパエンジニア版という立ち位置で、子持ちエンジニアからしたら共感できる、重要な課題かなと思います。


### 注意点

当然ながら環境は人それぞれなので、私の方法が万人に的確に一致するものではないことを先に言っておきます。

最終的には自分の環境に適した時間確保は、自分で組み立てる必要があります。

# Qiitaなので最初に少しエンジニア寄りなことを書いておく

記事の内容がちょっとエンジニアっぽくない内容になって怖くなったので、エンジニアよりな記事を最初に入れておきます。

## エンジニアが企画に話しかけられた時に気をつけること

- （気持ちは分かるけど）睨まない
- （きちんと回答できるために）相談か確認か報告か最初に聞く
- （情報に踊らされないために）決定事項なのか方針なのか、考えなのか確認する
- 仕様に関することであれば、次のことを確認する
  - （緊急度・情報経路が正常か知るために）要望元はどこかを確認する
  - （そもそも何が達成できればいいのか知るために）要求の目的を確認する
  - （要求とメリットがズレてないか知るために）誰のメリットになる仕様かを確認する
  - （認識合わせのために）要は何がしたいかこっちから確認する
  - （現スプリントに調整が必要か知るために）いつまでに必要かを確認する
  - （コスト削減と聞いた要求以外の要求が存在しないか知るために）代替案による代用不可かを確認する
  - （重要度を知るために）ない場合はプロダクトとして成り立たないかを確認する
  - （あったら話が早いので）仕様書は既にあるのかを確認する
  - （変更しそうな箇所でできたら見せるために）仕様で悩んだところはあるかを確認する

仕様に関しては、毎回全部確認すると逆にめんどくさがられるので、推測できそうなところは省いてもいいと思います。ただチームの成熟度が低い場合は、推測が外れやすいので注意が必要です。


## できるだけ存在価値を上げるKPTの使い方

- Problem は本質をそこから探り見つける
- Try は行動可能な粒度まで落とし込む
- Try 達成後は、Problemが解決したか確認する
- Keep は維持できているか確認する
- Problem の発動頻度が常時ではたまになら、条件付きとしてTryの横にTryのReadyを書いておく.


#### 次に 時間術について記載します。


# 独身時代と子持ちになってからの違い

### 独身のころ
当たり前ですが、 **朝から晩まで全てを自分の時間に使い** 好き勝手に生きていました。

- 夜遅くまでプログラムを弄ったり
- お風呂の中で設計に悩んだり
- 毎日300件以上のRSSを捌いたり

### 家庭をもってから
一人目が生まれてからは、**自分の時間は自分だけの時間ではなくなりました。**

- 必然的に独身時代と比べて **活動時間が激減**
- 独身の頃と同じやり方ではエンジニア活動がほぼできない
- このままではスキルプランを含む **将来に不安** が募るようになりました。


# 状況を受け入れ、やり方を広く考え直す

当初はライフサイクルの大きな変革にストレスでしたが、  
**自分のリソースは自分だけのものではない** という事実を受け入れなければ次に進めないです。

次に私は、時間や体力といったリソースを **個人から家族単位へ** 扱うように考え直しました。  
つまり **自分のリソースだけでなく、家族のリソースを管理することで自分の時間を確保する** 方向に考えました。

そして、得られた時間を使い、エンジニア活動が無駄にならないよう、優先度をきちんと決めるようにしました。



# 時間を確保するには

## エンジニアの活動の種類を知る

まず時間を確保する前に、「エンジニアって時間使って何してるんだろう？」を知っておかないと、時間を効果的に使えないと思います。

### エンジニアにとっての活動を３つに分類しました

|目的|状況|
|---|---|
|**コーディング**| 集中してコーディングできる環境で、まとまった時間|
|**思案、設計、構想**|ぼんやりと頭の中だけで、プログラムについて考える時間|
|**情報の吸収・収集**|本やWebなどを読む時間|

コーディング中に残り２つも降り混ざることもあるかと思いますが、大枠はこうじゃないかなと思います。

この３つをバランスよく日常に取り込むことができれば、土台はできあがるんじゃないかなと思います。


## 隙間時間を見つけるだけではダメ

エンジニアの時間確保とは、ただ隙間時間を見つけるだけではないと思います。  
例えば1日に5分の隙間を6個見つけることよりも、30分の隙間を1個見つけることが重要です。  
しかし30分1個だけでは、到底満足できないですし、30分の隙間時間はほとんどの場合、見つけられないと思います。


## 断片化した時間をコンパクションする

まとまった時間を見つけられないのなら、作るしかありません。  
ここで重要になるのが、隙間にばかり目をやるのではなく、  
**そもそも隙間を作っている時間※を見直すことも必要です。**  
（※ここではコア時間と呼びます。）  

なぜなら、コア時間は **独身時代に構築した時間** であり、**現在の価値観や環境に適用できないレガシー** な可能性があるためです。

実際に時間を確保するために必要な観点は以下３つです。

- コア時間を圧縮する
- 隙間時間を見つける
- 隙間時間を集める（＝コア時間を詰める）

## コア時間を圧縮する

いきなりですが、パワーワードは **時短** と **集中** と **分散** です。

### 時短
これは特に説明のいらないワードだと思います。  
四の五の言わずに、日常のルーチンを時短できるものは取り入れましょう。

エンジニアの冷静沈着な心で目的だけが達成されるように削ぎ落としましょう。

## 隙間時間を見つける
これも特に説明不要ですね。日々の生活を思い出して、何やってたかよく思い出せないつまらない時間を過ごしていたら、それが隙間です。

#### 家族の隙間時間について
私のばあいは妻になるのですが、妻の家事を一緒に手伝い、やり方や段取りに効率化できそうであれば、提案して試しにやってもらっています。  
却下されたら理由聞いて、また考えます。

後ろからドラクエのように手伝うとよく見えます。現地現物って言うんですかね。私の下着を丁寧に畳んでいたので、全部鷲掴みして、タンスにダンクしました。


## 隙間時間を集める（＝コア時間を詰める）

- 土日の作業を平日に分散することで、土日に時間を確保してます
- 平日の数分の隙間で情報収集して、土日はコーディングに集中してます
- 平日は帰宅は１駅分歩いて、土日は自発的な運動を一切しない※

※エンジニアにとって運動の重要性は今回は省きます。

# 私がやったこと

大きく分けると３つになります。

- 家事の効率化
- 育児の濃度を向上
- 情報の選定

え、なぜ？と思うかもしれませんが、先に述べたように自分のリソースではなく家族のリソースを効率化することで、家庭のルーチンが早く回り、結果的に早く自分の時間を確保できるようにするためです。

つまり自分だけでなく **妻（夫）の協力をする／してもらい** 家庭のルーチンの優先度を上げたほうが、自分らの時間を確保するうえで重要になります。

その上で私が考えた観点は次の項目になります。

- 平日、子どもを保育園から迎え〜子どもの就寝にかかる時間をいかに短くできるか
- 平日、子ども起床〜子どもを保育園に送るにかかる時間をいかに短くできるか
- 土日、子どもをいかに疲れさせ、寝るまでのグズりタイムをなくすか
- 子どもとのコミュニケーションをいかに分散し、いかに集中させるか
- 家事をいかに自動化、時短するか
- 日常に分散した家事を集中することでいかにオーバーヘッドをなくすか
- 多量に流れ出る情報から、いかに流れになる情報を選ぶか
- そんななかで、いかに育児の質を維持するか

いくつか抜粋できそうなものを下記に分類してみました。

## 家事の効率化

あまりにも細かいものは書いていないです。

|内容|やったこと|
|---|---|
|床掃除|ルンバに丸投げ|
|その他掃除|平日5分|
|食事|多めに作ってタッパー|
|食器|食洗機|
|洗濯干し|乾燥機|
|子どもの自立|子どもが着やすい服／準備しやすい収納箱／子どもが集中できる物|
|その他|妻のルーチン分解と協力|

一部を下記に補足しました。

#### 妻のルーチン分解と協力

- 妻の毎日のルーチンを全て分解して、カンバンのようにタスクを張り出しておく
- 帰宅後のルーチン（着替え、うがい、５分掃除など）後に続けて妻の残りのタスクを手伝い

#### 自動化できるものは全て自動化させる

ルンバ、食洗機、乾燥機は、自動化と同時に他の作業に手を付けれるので、効率よく作業を進められます。渋らずさっさと買ったほうが便利です。
今狙っているのは、ホットクックです。

## 情報の選定

独身の頃と比べて時間の絶対量は少ないです。  
そのため、同じ感覚で時間を浪費すると、効率が悪いです。  
私が心に止めているのは、

- 流行り物にうかつに流されない
- 流行り物はまずは自分ではなく誰かが調べた良し悪しを知る

になります。何にでも手を出せる準備はしているのですが、すぐに手を出さずに一旦寝かせ、時期が来たら手を出すようにしています。

手を出せる準備というのは、アンテナでキャッチした情報をまとめておくことです。

## 細かい隙間時間にしていること

細かい隙間時間は、プログラムのことを考えているか、   RSS/SmartNews/Hatena/Qiita/Twitter で情報収集しています。  
気になる記事を見つけたら、PushBullet か Chrome にどんどん投げます。  
PushBullet か Chrome に投げておけば、スマホでもPCでも見れるようになるからです。  
スマホ/PCで見た時に、あとでじっくり見ようとか、自分でも手を動かしてみよう系だったら、ブクマにしてます。

集中力がある場合は Kindle で技術書を読んでます。

## 育児の濃度を向上

特に目新しものはやっていないです、そもそも育児に時短も何もできないです。  
ただ、１点していることは、 **子どもに話しかける、子どもに構うと決めたらとことん徹底する** になります。  
ときにはしつこいぐらいで、子どもから怒られるぐらいです。

その方が飽きられるのが早いですし、疲れるのも早いです。

## その他

勉強会、飲み会、連日遅い帰りはハーゲンダッツをランダムで買って、冷凍庫にこっそり入れておく