二種類の仕事

仕事には、大きく分けて二種類あります。この二種類の仕事とその関係を理解することで、より効果的に仕事をすることができます。その二種類の仕事とは、計画内の仕事と、計画外の仕事です。

計画内の仕事には、新しい機能の追加や、ソフトウェアのリリース、デプロイなどが当てはまります。

計画外の仕事には、バグの修正や、問題の処理などが当てはまります。

そして、計画外の仕事が増えると、計画内の仕事をする時間が減るため、計画通りに仕事を進めることが難しくなってしまいます。これら二種類の仕事をこなしながらも、計画通りに仕事を進めるには、どうすればいいのでしょうか。

よく見られる方法は、仕事を計画通りに進めようとするために、計画外の仕事までも計画の内に入れてしまう方法です。「恐らくバグが発生するから、それを直す期間も計画に入れておこう」というような方法ですね。しかし、実はこの方法は、とても非効果的な仕事の進め方なのです。計画外の仕事は防げる仕事なので、それを防ぐことを計画の内に入れておいたほうが、不確定要素が少なくなり、効果的に仕事を進められるのです。

例えば、バグを直す期間を設けるより、バグを防ぎながら仕事を進めたほうが、効果的に仕事を進められます。バグの防ぎ方には色々な方法がありますが、どの方法も、早めにバグを見つけ出すことを目的としています。なぜ早めのほうがいいかと言えば、そのほうが早く安く簡単にバグを直せるためです。つまり、そのほうが計画が狂わないのです。

それでも計画外の仕事が発生してしまった場合には、その根本的原因を追求し、直すことで、今後同じ仕事が発生するのを防ぐことができます。

例えば、本番環境で問題が発生したとき、闇雲にアプリケーションを再起動するなどして、それを問題の「解決」としてしまっているようだと、いつまでも根本的な解決ができないため、今後も同じ問題が起き続てしまいます。問題が発生した際は必ずその根本的原因を追求し、それを直すことで、今後同じ問題が起きることを防ぐことができます。

仕事には、計画内の仕事と、計画外の仕事の二種類があります。計画外の仕事が増えると、計画内の仕事をする時間が減ってしまいます。そのため、仕事を計画通りに進行させるには、計画外の仕事を最小限に抑える必要があります。そのためには、計画外の仕事を防いだり、計画外の仕事が発生した根本的原因を調査し、それを直していく必要があります。

<関連書籍>

Shogo Wada

楽しさと実用性の両立が好き。プログラマー。