仕事をする上で、1つのプロジェクトを複数人のチームで進めていくことはよくあると思います。
その時に、あなたは周りの人が今何をしているかをどれくらい把握していますか?
リーダー等の他の人を管理する役職の人であれば、周りの人の動きはある程度把握できていると思います。
ただ、他の人を管理する必要がない人は、周りの人が何をしているかふんわりとしか把握できてない人も多いのではないでしょうか?
特に、自分の担当機能と直接関係ない機能を担当している人であれば、何をしているか全く把握していなかったりしませんか?
僕は、他の人を管理する役職ではありませんが、周りの人が何をしているかを常に把握するようにしています。
と言っても、「あの人は○○の機能の××部分を実装中で、進捗は△%くらいであと□日で終わる見込み」みたいな詳細な把握ではなく、「あの人は○○の機能を実装中」くらいのざっくりとした把握です。
(流石に管理職でもないのに全員の動きを詳細に把握するのは大変ですからね…)
そんなわけで今回は、周りの人の動きを把握していることで得られるメリットを紹介していこうと思います。
ちなみに周りの人の動きの把握の仕方ですが、僕の場合は以下のようなことをしています。
- 朝会、夕会等の進捗共有ミーティングを真面目に聞く
- (タスク管理ツールを使っているのであれば)他人のタスクも目を通す
- チャットで自分とは関係なさそうなやり取りにも目を通しておく
- 周りの会話に聞き耳を立てる
自分に割り振られる仕事が予想しやすい
周りの人達が何をしているか把握することで、ある機能が実装済みか実装中か、あるいは未着手かがわかります。
未着手の機能がある場合、今のあなたの仕事がひと段落したらその未着手の機能をあなたが担当する可能性は十分あり得ます。
特に、あなた以外の人が忙しそうな場合は、その未着手の機能があなたの担当になる確率は跳ね上がります。
あなたがその機能の仕様等をあまり把握できていないのであれば、あらかじめ目を通しておくことでスムーズにその機能の開発に取り掛かれるでしょう。
もしかすると、予想がはずれてあなたがその機能を担当することはないかもしれませんが、その機能について把握しておくことが後々役立つこともあるので全くの無駄足にはなりません。
また別の例として、ある人が実装中の機能開発に苦戦していたとします。
その場合、あなたのスキルや仕事の進捗度合いによってはその人のヘルプを任されることもあり得ます。
急にヘルプを任されてびっくりするよりは、「ヘルプを任されるかも?」と思っていた上でヘルプを任される方が精神衛生上よろしいでしょう。
その人のヘルプができる確信があるのであれば、「僕がヘルプに入ります!」と進んでヘルプに入るのも素敵だと思います。
開発中の機能がなぜ必要なのか理解しやすい
当たり前ですが、機能を開発するのには理由があります。
ざっと思いつくだけでも以下のような理由があったりします。
- ゲーム性の向上のため
- ユーザーの利便性向上のため
- 不具合を解消するため
- 売り上げを上げるため
- (受託開発の場合に)顧客の要望をかなえるため
例えば、「カードゲームなので、デッキ編成機能が必要」みたいな感じにその機能が必要な理由が明確なものがある一方で、「今後様々なコラボを見据えているので、かなり多機能なカード観賞機能が必要」みたいな感じに背景を理解していないとなぜその機能が必要なのかわかりにくいものもあったりします。
そこで、周りの人の動きややり取りをチェックすることが重要になってきます。
その機能の開発が決まるまでに、必ず何かしらのやり取りや会議があります。
それらを追うことで、なぜその機能が必要かが理解しやすくなるでしょう。
※もちろん理由を知っている人に聞くのもアリですが、場合によっては説明に時間が難しいor時間がかかることがあるので、質問するタイミングは見極めてください
その機能がなぜ必要なのかを理解できれば、機能自体の改善案や細かい挙動の修正案といったものを提案できたりもします。
また、他の機能の意図や目的と競合を起こしていないかも判断できるようになるはずです。
それらができるようになれば、よりプロジェクトに貢献できるようになるのは言うまでもありません。
誰が頼りになるか(orならないか)がわかる
誰かが他の人に何かを聞いたり教えたりしている場面に出くわした経験があると思います。
それらの様子をしっかり観察していると、誰が頼りになるか(orならないか)がわかってきます。
そのうち、誰が何が得意か(不得意か)もわかるようになってきます。
あなたがエンジニアリーダー等で他の人に仕事を割り振る立場なのであれば、上記の情報を元に適切な割り振りができると思います。
実装が難しい機能であれば、頼りになる人を担当にするとよいでしょう。
もしくは工数に余裕があれば、まだ頼りにならない人をメイン担当、頼りになる人をサブ担当として、成長を促す采配もアリかもしれません。
あなたがエンジニアリーダーでなくても上記の情報を役立てることはできます。
実装につまずいたのであれば、頼りになる人にサポートしてもらうなりアドバイスをもらうなりするとよいでしょう。
まだ頼りにならない人がある機能を担当しているのであれば、さりげなく様子をうかがうことで適切なタイミングであなたがサポートできることもあるでしょう。
手助けできる(orしてもらえる)可能性が上がる
先ほど紹介したケースと少し似ていますが、周りの状況を把握しておくことでトラブル対応の効率が上がることがあります。
システム開発にトラブルはつきものです。
トラブルが起こった際は、あなたの担当箇所と関係がなくても、チャットなり何なりで状況把握や対応検討しているのであれば様子をうかがってみましょう。
※会議やボイスチャット等、クローズドな環境でやり取りしている時にお邪魔するのは、流石に迷惑なので止めときましょう
もし、あなたが過去に似たようなトラブルに出くわしているのであれば、適切なアドバイスができるかもしれません。
仮にドンピシャなアドバイスにはならなくとも、ヒントにはなりえます。
まだ検討されてなさそうな切り口をあなたが知っているのであれば、ぜひとも発言してみてください。
そのトラブルにあなたが全く貢献できそうになくとも、トラブルの内容や対応を把握しておくのは重要です。
将来あなたや別の人が似たようなトラブルに出くわした時にとても役立つ情報となり得るからです。
何なら、あなたが今後関わるであろう色々な会社・プロジェクトのトラブル事例をまとめてあなた専用のドキュメントにしてみるのも面白いかもしれません。
知見が溜まる
周りの状況を把握していると、あなたの知らない技術や知識についてやりとりしている場面に出くわすこともあるでしょう。
例えば以下のようなものがあります。
- 新しい技術についての議論
- 技術系のニュースに関する共有
- 難しい機能の実装に対するアプローチの様子
- ツールに関する質問
やりとりの様子がそのままあなたの知見となる場合もありますし、技術やツールの名前だけといった断片的な情報でも後であなた自身で調べてみて知見となりうる場合もあります。
特に、あなたがあまり経験のない分野のプロジェクトに参加しているのであれば、そこは新しい知見を得るチャンスの宝庫です。
結構な頻度で見慣れない単語に出くわすと思うので、片っ端から調べてあなたの知見を広げましょう。
あなたの知見となりうるのは、何も技術的なものだけに限りません。
プロジェクトマネージャーがよく使うビジネス用語、デザイナーがよく使うツールやデザイン知識といったものもあなたの糧になり得ます。
「ビジネス的な文脈を読み取って動けるエンジニア」「簡単な画像修正なら自分でできるエンジニア」となると、とても付加価値の高いエンジニアに見えてきませんか?(笑)
まとめ
周りの人の動きを把握することは、あなたの仕事の効率化に貢献することはもちろん、プロジェクト全体の効率化にも貢献するのがおわかりいただけたでしょうか。
今まで僕が関わってきたエンジニアで、これらのことができている人は半分もいませんでした。
したがって、周りの状況に合わせて動けるようになることで、あなた自身の市場価値も相対的に高まります。
色々なことに注意を払う必要があるため、慣れないうちは少し大変だと思います。
ですが、得られるメリットは保証します。
今まで周りの人の動きをあまり気にしていなかった人は、ぜひとも挑戦してみてください。
コメント