チーム開発を円滑にするために「やるべきこと」とは
そんな添田氏が「ひとまずやるべきこと」としてあげたのは、「サブシステムの保守体制強化」「プログラマーとしての能力強化」だった。地道にやりたいが急いでやりたい、ただし工数に余裕はない状況下で、「効率よく」「着実に」「迷いなく」「一緒にやる」「コツコツやる」を掲げて取り組むことにした。そこで気づいたことが、「添田氏自身がエンジニアとして取り組んできたことが応用できるのではないか」ということだった。
「効率よく」行なう
「効率よく」行なうためには、「工数をしっかり計測し、ボトルネックや改善できる点を見つける」ことが必要だ。家計簿と同様、実際にどのような状態にあるのかを知らなければ、問題や改善点も見えてこない。そこで、Toggleを利用して日々の工数を詳細に測定し、APIでデータを抜き出して集計する。それによって自分の限界を把握し、業務ごとの工数やパフォーマンスのボトルネックなどを可視化していった。
これによって、1チケットあたりにどのくらいの工数がかかっているのか、問い合わせやミーティングにどれくらい時間がかかっているのかを把握することができた。さらに将来の見積もりの参考値としても活用できる。
「着実に」行なう
着実に業務に取り組むためには、モチベーションがキープされ、サポートを得たり提供されたりできるよう「進捗が見えること」が必須と考え、進捗の可視化に取り組んだ。
まずは仕事のゴールとして「何のために行なうのか」「誰がうれしいのか」などを理解し、さらにマネージャーの認識とすり合わせたり、キャリアと照らし合わせた意味付けをする必要もある。その上でゴールからTODOを逆算し、自分ならどのくらい時間がかかるのか見積もり、マイルストーンをおいていく。その際、できるだけ細かく刻み、自分がわかる、もしくは区切りがよいと思われる粒度とするのがコツだ。マイルストーンとともに自分なりのスモールゴールを設けて、日々少しでも進捗していることを可視化できればモチベーションを保つことにつながる。
なお、ゴールが曖昧で見積もれない場合は、期限設定が難しくなるため、見積もれるまで高速でタスクを作業を進めていくしかない。たとえば不具合調整の量がわからない場合、原因調査や修正方針までは高速で行なうと、調整すべき量と時間が見えてくる。2〜4時間で終わるレベルまでTODOを分解できるようになると、マネジメント側の進捗管理上も、自分のモチベーションの観点でも望ましい。
「迷いなく」行なう
日々の仕事に迷いなく集中して取り組むためには、自身のタスクを緊急度・重要度のマトリクスで整理し、優先順位をつけていくことが大切だ。そこでポイントになるのが「緊急でないけど重要」「緊急だけど重要度は高くない」の優先度だ。添田氏は、「個人的には『緊急でないけど重要』が優先されるべき」と語り、「ここにどれだけリソースを投下できるかで、将来の成長度が変わる」と理由を述べた。
こうした考えをもとに、具体的に1日のスケジュールに落とし込むと、次のようになる。まずは「翌日が期限」というものは当然早々に手をつけ、「緊急だけど重要度は高くない」ものに着手するが重視せず、調整も可能と考える。それよりも時間を決めて「緊急でないけど重要」という業務に集中し、その中で期限が早いものや中期計画など重要事項に絡むものなどを優先させて取り組む。そして、緊急度が高いものが割り込んでくることを想定して、「緊急だけど重要度は高くないもの」を予定しておきバッファーとしておく。
添田氏は「これが正解かどうかわからないが、少なくともそうした時間配分をあらかじめ行っておくことで、迷いなく集中して仕事を進められる」と語った。また、「重要で緊急度が高い」が大量にある場合は“危険”と考え、早々の離脱・調整を検討するべきである。
「一緒にやる」
モチベーションを保って仕事をする上で、添田氏にとって「一緒にやる」のはとても重要なことだ。1人で仕事をするだけでは、成長面でも「自分を超えること」が難しく、スケールもしにくい。そこで、添田氏が実践したのは、新しいプロジェクトでも勉強会でも紛れ込んで「2番目に踊る」ことだ。
たとえば、添田氏は先輩がつくった「JUnit部」というコミュニティに参加し、そこで得たマインドや知見を自ら他の組織向けに展開した。それがさらに複数のメンバーによって組織全体へと広げられ、結果として1人目の知見を組織に広げる活動に貢献することとなった。添田氏は「そうした活動は組織貢献であり、学びを得るレベルアップであり、文化醸成面でもプラスになる。さらに自分でコミュニティを立ち上げる知見・経験を得られたことも大きなメリットになった」と語った。
「コツコツやる」
できないことをできるようになる、日々一歩ずつ確実に成長するためには「コツコツやる」ことが大切なのは間違いない。添田氏は「一発大きな仕事」よりも「すべての仕事を長期間にわたって価値を出すこと」を重視しており、さらに生きたスキルを持ち続けるために「毎日何かしらのコードを書く」「毎日プロダクトのコードに触れる」「必要そうなコミュニティには突撃する」「個人開発で気になる技術に触れる」などを意識している。これらのアクションプランを毎日、継続して行なうこと、そして主体的に行なうことが重要だ。
とはいえ、練習時間が取りにくいのも現実であり、業務中や業務関連で経験とスキルをあげることを考え、その時間を最大化することが重要となる。添田氏は「学びのためより、業務で学んだことのほうが身につく。そこで、学んだことを即実践に投入し、日次で振り返ることが大切」と語る。
具体的には、インプットでは仕事やタスクごとにテーマを自分に課し、いわば「仕事の意味付け」をすること。そして24時間以内にアウトプットし、さらに仕事で実践に活用する。そして、その日できなかったことや苦戦したこと、誰かのサポートを受けたことを書き出し、さらにアクションプランとしてTODOリストを作り、消し込むという「日次振り返り」の方法も紹介された。