【初心者必見】進捗を聞かれない仕事の原則
はじめに
新卒プログラマー、あるいは初心者プログラマーのあなたは上司あるいは先輩に以下のようなことを言われたことはないだろうか。
- 「進捗はどうなった?」
- 「なんでこの作業に時間がかかっているの?」
あるいは、作業の見積もりやタスクの分解を行わずに直接コードを書き始めているということはないだろうか?
そこで、今回の記事では進捗や作業の状況を上司や先輩に聞かれないための仕事の進め方を簡潔に解説する。本記事はプログラマー等のIT業界に従事している人向けに書かれているが、すべての仕事にも使えるような考え方であるので参考になれば幸いである。
進捗を聞かれないための仕事の原則
他者への思いやりを持つ
これは円滑に、かつWin-Winの関係で仕事を進める上では非常に重要な原則である。最初にやるべきことは他者への思いやりを持つことである。
例えば、主に次のようなことが他者への思いやりを持っていることになる。
- 自分であやしいと思っているコードに補足や自分の意見をプラスした状態でPull Requestを出すこと
- わからないことを質問するとき、わからないことやそれを聞いて実現したいことを明確にしてから質問すること
これはあくまで一例に過ぎないが、他者への思いやりを持って行動することは仕事でもプライベートでも非常に重要である。
仕様を把握したらタスクの分解と見積もりを行う
仕様を把握したあと、直接コードを書くのは絶対にやめるべきである。
仕様を把握したあとはタスクの分解と見積もりを細かく行うことが重要である。例えば、「ログイン機能を実装する」というタスクを以下のようにして分解・見積もりを行う。
- ログインに必要なデータのAPIを立ち上げる 20m
- ログインページのUIを作る 40m
- 認証機能について相談・決定する 40m
- 認証機能について上司と相談する 30m
- アプリで扱う認証機能を決める 10m
- 実際に認証機能を実装する 1h
- ダミーデータでテストする 10m
- エラーが出た場合、デバッグ作業をする 30m
このような形でタスクを詳細に分解する。はじめのうちはもっと細かく分解してみよう。重要なことは、1つのタスクを「これぐらいなら自分でもできる」レベルにまで分解し続けることである。
まだ未経験の分野でどのぐらい時間がかかるのかわからない場合は検討できないので、1時間調べる時間がほしいと書いておいてもかまわない。まずはこのような形でタスクを分解してみよう。
最初のうちは進捗を自分で報告する
最初は60~90分単位で進捗を報告しよう。ある程度の時間毎に進捗が見えていたほうが上司や先輩などからの確認の手間が大いに省ける。さらに、短い時間で自分の作業の抜けもれやミスに気付いて修正しやすくなる。
とは言えども、最初の頃は何をどのようにして進捗を報告すればいのかわからないことがあるだろう。
『シン・サラリーマン』では、効果的な進捗報告のやり方の1つに関して以下のように言及されている。
サラタメ・・ベストは、仕事の達成度が2割→5割→8割の段階で報連相するくらいですかね。
マモル・・けっこう多いですね。
(中略)
マモル・・...でも、まだ2割段階なのに進捗を連絡したら、仕事が未完成なので上司にチクチク指摘されそうな予感ですが...。
サラタメ・・残念ながら、その可能性が高いです。ただ、それでいいんです!その段階で指摘されたほうが、結局は得なんです。逆に、8割完成してから「全然違う!」と言われたら、全部台無しになっちゃうので。
上述のやり取りで言えることは、現時点での仕事の達成のレベルが2割、5割、8割の段階で進捗報告することをやり方の一つとして挙げられている。早い段階で、仕事や見積もりに不具合が出た場合にあれこれ指摘されたほうが得である。
要は、最初のうちは逐一仕事の完成度を報告することを念頭に行動しよう。
複数の選択肢がある場合、メリット・デメリットを説明して個人的に最善な選択肢を提案する
開発を進めると、複数の選択肢があってどれを選択すればいいのかわからなくなる状態に陥ることが少なくないだろう。そのときは、挙げられている複数の選択肢のメリット・デメリットを説明して選ぶ選択肢を明確にしよう。
# 質問(議論のテーマ)
# 採用する選択肢
## 理由
# X案
## メリット
## デメリット
# Y案
## メリット
## デメリット
このようなフォーマットで話せば(ドキュメント形式で発表するときにこのような形で書けば)、自然と結論から話すようになる。まだ慣れないうちはこのようなフォーマットで書き進めるといいだろう。
もっとも時間がかかりそうなところから実装を始める
タスクを始める際には、もっとも時間がかかりそうなものから始めていこう。見積もりの段階でもっとも時間がかかる、かつ重要だと思ったものから先に進めよう。この作業の優先順位を間違えてしまうと、締め切り間近にて精神的な余裕がなくなってしまう。
もっとも時間がかかりそうなところは、見積もりのブレが生じやすい部分なので先に進めておこう。
おわりに
今回の記事では、初心者プログラマー向けに進捗を聞かれないための原則を簡潔に解説した。
本記事の要点は以下の通りである。
- 他者への思いやりを持つ
- 仕様を把握したらタスクの分解と見積もりを行う
- 最初のうちは進捗を自分で報告する
- 複数の選択肢がある場合、メリット・デメリットを説明して個人的に最善な選択肢を提案する
- もっとも時間がかかりそうなところから実装を始める
今回の記事が、読者の仕事の生産性を向上させるきっかけになれば幸いである。
参考サイト
Discussion