ゴールを勝手に 20%くらいは高く見積もった上で Issue に取り組むといいよ、という話。
みんなは当たり前にやっていることかもしれないけど、最近、意識して取り組んでいるのでメモ。できないときもありますが。
今の職場では GitHub の Issue 上で様々なタスクやそれにまつわるコミュニケーションを行なっている。自分をアサインした(あるいは誰かにアサインされた) Issue に取り組み、アウトプットを出して、最終的に Close することが、日々の基本的には仕事の流れになる。
日々の取り組んでいる Issue には達成したいゴールが設定されている。どうすればこの Issue が Close できるのかという完了条件。Issue にゴールや完了条件が明示的に書いてある時もそうでない時もある。ただ、どちらにせよ Issue に取り掛かかるときは、達成したいゴールをしっかり認識することが、誰にとっても最初にやるべきことになる。
仕事をし始めたばかりの、もう少し若い頃は、Issue のゴールを達成できただけで、やりきった感や達成感があった。評価もされた。でも、少しずつ時間が経って、経験も積んでくると、それだけじゃ物足りなくなってくる。達成感も小さくなるし
もっと自分はできる、もっと成長できる、もっと貢献できる、もっと価値を発揮できる、みたいな気持ち。同じところにずっと居続けるだけで、何も変わってないけど、それでいいのか?みたいな、焦りみたいな気持ちも含んでいるような。
じゃあどうすればいいか。
いろいろやり方はあるんだろうけど、目の前にもし積み上がった Issue があるのであれば、それをうまく使うのが手っ取り早くていい。
何をするかというと、Issue のゴールを 20% でいいから、実際のゴールより大きく見積もってみる。つまり、目標を高く設定する。目標を高く設定するタイミングは、Issue に取り掛かる時でも、元々のゴールを達成できた時でもいつでもいいと思う。
普通に Issue をこなして、ゴールが達成できる状況になったとする。そこで Issue を Close する前に、一回立ち止まって考える。
- 今までの成果が 100 点だったとして、これを 120 点にするにはどうすればいいだろう。
- 今まで 100 の労力をかけてきたとして、あと 20 だけ労力をかけると何が実現できるだろう。
Issue の元々のゴールには、大抵の場合欠けている観点やポイントがある。もう少し長期的に考えたら?もう少し視野を広げたら?別の視点からみたらどうだろう。未来の自分はどう思うだろう。未来のチームメンバーはどう思うだろう。未来のお客さんはどう思うだろう。
自分はソフトウェアエンジニアなので、開発が伴う Issue にとりくむことが必然的に多くなる。
- 他の人がもう少し簡単にメンテナンスできる設計・実装はないか。
- 将来のテスト工数がさがるように、自動テストを足せないか。
- Pull Request と本質的には関係ないけど、ついでにリファクタしちゃえるところはないか。(このタイミングでしか触らないだろうし)
- コードレビューで相手のためになりそうなコメントをもう少しとうこうできないか。
- もう少しユーザーにとってわかりやすい UI・価値の高い機能にできないか。
こんなこと(順不同)を Issue を Close する前に立ち止まって考えて、元々のゴールを 20% だけでもいいから超えていくようにしていけば、プロダクトもチームも自分も、毎日着実に成長していけるし、達成感を感じながら仕事ができるんじゃないかと。
20% という数字には具体的な意味はなくて、40% でも 100% でも何でもいいんだけど、自分の中ではそれぐらいの感覚がちょうどいい感じがするので、そう書いてみただけ。延々と高いところを目指し続けて、いつまでたっても着地しないのはそれはそれでどうかと思うので、20%くらいがいい感じのバランスだとは思う。が、人それぞれ。
おしまい。