生産性向上のために身に着けたい10のこと

# はじめに
こんにちは。
普段働いているとき「どうやったら生産性があがるんだろう？」と思うことが時々あります。
「生産性向上」といっても具体的にどうするのか、なかなかイメージがつきにくい方も多いと思います。

この度、最近色々なところで目にする[「世界一流エンジニアの思考法」](https://www.amazon.co.jp/%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%80%9D%E8%80%83%E6%B3%95-%E7%89%9B%E5%B0%BE-%E5%89%9B/dp/4163917683)という本を読みました。

この本では主に生産性を向上させるためにアメリカの一流エンジニアが行っている習慣や考え方について書かれており、
そこから個人的に身に着けたい10のことをピックアップしました。

# 内容について
筆者の牛尾さんはマイクロソフトの現役ソフトウェアエンジニアです。
そこで出会う一流エンジニアたちの考え方や、実践していることについて書かれている内容となっています。
アメリカでの内容なので日本では考え方のことなる部分もあるかもしれませんが、参考になる部分は多く
働き方や思考法について考えさせられる内容です。

# 個人的に身につけたい10のこと
## 1. 理解に時間をかける
業務に取り組んでいると、生産性を上げるために「どうやったら早くできるだろう」と焦燥感にかられ、
理解があいまいでも成果を優先するということはよくあることだと思います。
しかし本書では、「理解に時間をかける」ことが生産性の向上につながると言及されています。
理解が十分でないまま手を動かして努力しても、あやふやな試行錯誤は取り組んだことも忘れやすく頭に残りません。
それよりも理解に時間をかけることでものごとの本質をつかみ、他への応用につなげることが長い目で見たときに生産性の向上につながります。

## 2. 頭の中に「メンタルモデル」をつくる
メンタルモデルとは、自分の心の中のイメージや理論のことです。
例えばソフトウェアでいうと全体の関係性、動作をビジュアルとしてイメージします。
そうすることで頭の中で考えを整理したり、問題発見に至るプロセスが大幅に高速化するとのことです。
すぐに頭の中でイメージすることができなければ、一度紙に書いてからそれをイメージとして持ってみてもいいかもしれません。

## 3. 「Be Lazy」というマインドセット
「Be Lazy」は直訳すると「怠惰であれ」という意味になりますが、
これは「より少ない時間で価値を最大化する」という考え方です。
この「Be Lazy」という考え方の中でも私は特に「優先順位をつける」ということが重要だと感じました。
ここでいう優先順位とは、「いくつもあるタスクの中で重要なものの順位を決める」わけではなく、
「最初の1個をピックアップしたらほかはやらず、その1つにフォーカスする」という意味です。
あれもこれもと色々なことに手を出してしまいそうですが、
まずは一番重要だと思う1つにフォーカスしてそれを完遂させることを目指そうと思います。

## 4. Fail Fastの精神をもつ
Fail Fastとは「成功しようがしまいが、まずはやってみて、早くフィードバックを得て、早く間違いを修正していく」
という考え方のことです。
リスクを恐れるととにかく慎重になり、時間をかけてしまいますが、
生産性の面からみるとこれは良くないことで、時間をかけてじっくり用意するなら
失敗してもフィードバックから修正をして再度挑戦する方が良いということです。
私もなにかに挑戦するときは慎重になりがちなので、Fail Fastの精神は忘れず持っていたいです。

## 5. 「何もググらず即実装できる」レベルを増やす
本書では、開発の業務における難易度を大きく以下のように分類しています。
```
レベル1: 何もググらず即実装できる
レベル2: ググれば解決できる
レベル3: スパイクソリューションがあればなんとかなる
レベル4: 自分では無理
```
生産性を高めるとはいかに「レベル1」を増やしていくか、ということではないかと本書では言及されています。
レベル1を増やしていけるように日頃のキャッチアップを大切にしていきたいと感じました。

## 6. マルチタスクをやらない
本書ではマルチタスクは「生産性が最低」とされています。
差し込みの仕事などが入ってくるとどうしても同時並行でタスクをこなしたくなりますが、
ワシントン大学の研究によるとマルチタスクにより、
* 生産性が40%低下
* 仕事を終えるまでにかかる時間が50%増加
* ミスの発生が50%増加

するという結果が出ているようです。
やるべき業務が重なったときも、1つ1つに集中してこなしていくことを心がけたいです。

## 7. コミュニケーションの際は情報量を減らす
プレゼンや相談をする際、私はなるべく多くの情報を一度に渡したいと考え
前提や考えなど多くの情報を伝えがちです。
しかし、アメリカでは最初から全部説明せず、「情報量を減らす」コミュニケーションの仕方がすごく重要なのだそうです。
文化や環境の違いもあるので一概に情報をシンプルにすれば良いとは言えませんが、
必要ない情報はなるべく削り、シンプルに物事を伝えることを意識したいと思いました。

## 8. クイックコールを心がける
クイックコールとは、リモートワークにおける「予定されていないビデオ通話」のことです。
本書では、チャットよりも音声の方が、「100倍以上情報量があってフィードバックが早い」としています。
また、相手が忙しいかどうか考える必要はなく、先に自分である程度調べてから聞く必要もないとしています。
ただしこれはチームで共通認識として持っておく必要があると思います。
でないと、聞かれる側にとっては「もっと準備してから聞いてほしい」と感じる可能性もあるからです。
しかし、チームにいる全員がクイックコールを意識して取り組む事によって、チーム全体の生産性があがりそうだと感じました。

## 9. 知らないことを恥じない
私はミーティングなどをしている際、「的外れだったら嫌だな」と思い結局発言しなかったということがありました。
しかし、本書ではディスカッションの目的を「お互いが持っている意見を交換して、知識や考えを深めること」としています。
つまり的外れかどうかは関係なく、参加しているメンバーの意見を交換し、全員が理解を深めることが重要ということです。

間違えたら恥ずかしいという感覚は一切捨て、積極的なディスカッションへの参加を心がけることで
自分の考えを深めていきたいと思います。

## 10. 成果ではなく時間で仕事の区切りをつける
普段業務をしていると、どうしても「ここまでやったら終わろう」と、業務の進捗で区切りをつけることが多いです。
しかしこの方法を取っていると、ついだらだらと作業をしてしまったり、仕事以外の時間を有効に使えなくなりがちです。
「どんなに切りが悪くても◯時に終わる」と事前に決めておけば、その時間まで集中して仕事ができ、
他の時間を自己学習に充てることもできます。
もちろん業務の都合上時間の前後はあると思いますが、終わりの時間をあらかじめ決めることで
より生産性をもって仕事ができると思いました。

# まとめ
今回は10個だけピックアップしましたが本書ではそれ以外にも多くの思考法が書かれています。
非常に参考になる内容だったので、実際に思考法を変え、実践し、行動することで
生産性向上を目指していきたいと思います。