スキルマップで見つけたチームの穴とは
エンジニア歴8年目のWorks Human Intelligenceの添田 雅規 氏。同社製品の「COMPANY Web Service (CWS)」の開発に加え、CWS導入コンサルや「COMPANY人事・給与(CJK)」のプロダクト開発などを経験し、新規の“キラキラ開発”よりも、粘り強く改善し続ける“泥臭い仕事”を好んでいる。
そんな添田氏がマネージャーになったのは突然のこと。2021年10月に添田氏が所属するProduct Div.の大規模な組織改変に伴い、現在の上長から依頼されて「断る理由がない」と引き受けた。メンバーはほぼ顔見知りとはいえハードモードな予感があった。また、突然の話であったことからマネージャー業務に対してあまりピンときておらず、2カ月ほどの準備期間は本を読んで過ごした。
その中で、マネージャーとしての指針を持つ必要があるとわかり、「どういうチームにすべきか」「どういう組織にしたいか」などのイメージトレーニングを行って、マインドやモチベーションを高めていった。そして2022年1月、CWS Dept.Payrollグループの発足と同時にマネージャーとして着任した。
CWS Dept. は、企業の従業員の方々が日々利用する人事関連の申請・照会システム「CWS」の開発保守を行う。Payroll グループは、そのうち給与に関する領域の機能強化や不具合修正、リファクタ、問い合わせ対応などの広範囲を担当することになった。しかしながら、添田氏自身、その領域で経験のある機能やサブシステムは数える程度で、「やばい!」というのが率直な印象だった。
さらに、スキルマップでメンバーの経験を確認したところ、多くの項目において「自信を持って対応できる」人が1人ずつしかおらず、中には「誰も経験がない」という項目も。誰かが病欠や退職で欠ければ一気に問題化することが明らかになった。さらにプログラミング経験については3人に2人がテストコードを書いたことがないことが判明。そうしたことからスキルの土台を固める必要性を強く感じながらも、既にコミットした案件が走り出していて切迫した状況だった。
添田氏は当時について、「いろいろとヤバいと感じたが、焦ってもテンパっても良いことはないので、地道に、計画的に、戦略的にやろうと開き直った」と振り返った。
チーム開発を円滑にするために「やるべきこと」とは
そんな添田氏が「ひとまずやるべきこと」としてあげたのは、「サブシステムの保守体制強化」「プログラマーとしての能力強化」だった。地道にやりたいが急いでやりたい、ただし工数に余裕はない状況下で、「効率よく」「着実に」「迷いなく」「一緒にやる」「コツコツやる」を掲げて取り組むことにした。そこで気づいたことが、「添田氏自身がエンジニアとして取り組んできたことが応用できるのではないか」ということだった。
「効率よく」行なう
「効率よく」行なうためには、「工数をしっかり計測し、ボトルネックや改善できる点を見つける」ことが必要だ。家計簿と同様、実際にどのような状態にあるのかを知らなければ、問題や改善点も見えてこない。そこで、Toggleを利用して日々の工数を詳細に測定し、APIでデータを抜き出して集計する。それによって自分の限界を把握し、業務ごとの工数やパフォーマンスのボトルネックなどを可視化していった。
これによって、1チケットあたりにどのくらいの工数がかかっているのか、問い合わせやミーティングにどれくらい時間がかかっているのかを把握することができた。さらに将来の見積もりの参考値としても活用できる。
「着実に」行なう
着実に業務に取り組むためには、モチベーションがキープされ、サポートを得たり提供されたりできるよう「進捗が見えること」が必須と考え、進捗の可視化に取り組んだ。
まずは仕事のゴールとして「何のために行なうのか」「誰がうれしいのか」などを理解し、さらにマネージャーの認識とすり合わせたり、キャリアと照らし合わせた意味付けをする必要もある。その上でゴールからTODOを逆算し、自分ならどのくらい時間がかかるのか見積もり、マイルストーンをおいていく。その際、できるだけ細かく刻み、自分がわかる、もしくは区切りがよいと思われる粒度とするのがコツだ。マイルストーンとともに自分なりのスモールゴールを設けて、日々少しでも進捗していることを可視化できればモチベーションを保つことにつながる。
なお、ゴールが曖昧で見積もれない場合は、期限設定が難しくなるため、見積もれるまで高速でタスクを作業を進めていくしかない。たとえば不具合調整の量がわからない場合、原因調査や修正方針までは高速で行なうと、調整すべき量と時間が見えてくる。2〜4時間で終わるレベルまでTODOを分解できるようになると、マネジメント側の進捗管理上も、自分のモチベーションの観点でも望ましい。
「迷いなく」行なう
日々の仕事に迷いなく集中して取り組むためには、自身のタスクを緊急度・重要度のマトリクスで整理し、優先順位をつけていくことが大切だ。そこでポイントになるのが「緊急でないけど重要」「緊急だけど重要度は高くない」の優先度だ。添田氏は、「個人的には『緊急でないけど重要』が優先されるべき」と語り、「ここにどれだけリソースを投下できるかで、将来の成長度が変わる」と理由を述べた。
こうした考えをもとに、具体的に1日のスケジュールに落とし込むと、次のようになる。まずは「翌日が期限」というものは当然早々に手をつけ、「緊急だけど重要度は高くない」ものに着手するが重視せず、調整も可能と考える。それよりも時間を決めて「緊急でないけど重要」という業務に集中し、その中で期限が早いものや中期計画など重要事項に絡むものなどを優先させて取り組む。そして、緊急度が高いものが割り込んでくることを想定して、「緊急だけど重要度は高くないもの」を予定しておきバッファーとしておく。
添田氏は「これが正解かどうかわからないが、少なくともそうした時間配分をあらかじめ行っておくことで、迷いなく集中して仕事を進められる」と語った。また、「重要で緊急度が高い」が大量にある場合は“危険”と考え、早々の離脱・調整を検討するべきである。
「一緒にやる」
モチベーションを保って仕事をする上で、添田氏にとって「一緒にやる」のはとても重要なことだ。1人で仕事をするだけでは、成長面でも「自分を超えること」が難しく、スケールもしにくい。そこで、添田氏が実践したのは、新しいプロジェクトでも勉強会でも紛れ込んで「2番目に踊る」ことだ。
たとえば、添田氏は先輩がつくった「JUnit部」というコミュニティに参加し、そこで得たマインドや知見を自ら他の組織向けに展開した。それがさらに複数のメンバーによって組織全体へと広げられ、結果として1人目の知見を組織に広げる活動に貢献することとなった。添田氏は「そうした活動は組織貢献であり、学びを得るレベルアップであり、文化醸成面でもプラスになる。さらに自分でコミュニティを立ち上げる知見・経験を得られたことも大きなメリットになった」と語った。
「コツコツやる」
できないことをできるようになる、日々一歩ずつ確実に成長するためには「コツコツやる」ことが大切なのは間違いない。添田氏は「一発大きな仕事」よりも「すべての仕事を長期間にわたって価値を出すこと」を重視しており、さらに生きたスキルを持ち続けるために「毎日何かしらのコードを書く」「毎日プロダクトのコードに触れる」「必要そうなコミュニティには突撃する」「個人開発で気になる技術に触れる」などを意識している。これらのアクションプランを毎日、継続して行なうこと、そして主体的に行なうことが重要だ。
とはいえ、練習時間が取りにくいのも現実であり、業務中や業務関連で経験とスキルをあげることを考え、その時間を最大化することが重要となる。添田氏は「学びのためより、業務で学んだことのほうが身につく。そこで、学んだことを即実践に投入し、日次で振り返ることが大切」と語る。
具体的には、インプットでは仕事やタスクごとにテーマを自分に課し、いわば「仕事の意味付け」をすること。そして24時間以内にアウトプットし、さらに仕事で実践に活用する。そして、その日できなかったことや苦戦したこと、誰かのサポートを受けたことを書き出し、さらにアクションプランとしてTODOリストを作り、消し込むという「日次振り返り」の方法も紹介された。
エンジニアとしてやってきたことをマネージャー業務に応用するには
こうしたエンジニアとして行なってきたことを、チームマネジメントに応用できないか。その気付きのもと、添田氏が1年間にわたり、マネージャーとして実践してきたことが紹介された。
見積もりや振り返りのためデータ収集をする
チーム全員の工数を集計し、アウトプットの実績と突き合わせることによって、チームおよび個人の生産性やアウトプットが可視化され、目標設定やリソース配分などの適正化に活かされている。これを繰り返すことで、チームを成長サイクルに乗せることができる。
TODO分解で着実にゴールに迫る
ゴールから逆算してTODOを分解することを一人ひとりに徹底。さまざまな仕組みに乗せることで、進めるべきものを進め、着実にゴールに到達することができるようになった。
緊急度・重要度を見極め迷いなく
チケットや年間計画の優先順位を決めて迷わない状態を作り、確実にすべきことを明確化した。その結果、急な割り込みが入っても、的確な判断ができるようになった。また、仕組み化しておくことで、無駄なメンテナンス作業が減り、共有が楽になった。
さらにマネージャーとして取り組むべき「本題」として、冒頭で述べた「サブシステムの保守体制強化」と「プログラマーとしての能力強化」をあげ、チームの知識・技術の底上げのために行なっていることが紹介された。
モブワーク
リモートワークが当たり前になり、ちょっと質問することも難しくなり、突発的に数人が集まって仕事をすることも難しくなった。スクラム、アジャイルなどチームで成果をあげることが重要となる中で、週に1回意図的に「モブワーク(みんなで何かをやる時間)」を行なうこととした。約1年間で51回以上実施しており、基本的に企画者は挙手制・指名制で、モブプロ、ハンズオン、打鍵、あつ読み、サブ勉強会、雑談会などさまざまなことを行なっている。
ノーガードサブ対策
守備範囲の網羅性を高めるために、ノウハウや知識をチーム内の共有知とし、メンバー同士で助け合うこと、新入者のキャッチアップ速度を高めて即戦力化することを意図する。それまで不足していたストックドキュメントや自習課題・育成コンテンツなどを拡充するために、週3回30分ずつ、年間60回以上サブキャッチアップの時間を確保した。
他にも、個人的に誰かと毎日ペアプロや1on1を行なっており、またメンバー同士でのペアプロも実施されるようになってきている。
その成果として、不具合修正は1件あたりの工数が減少傾向にあり、バージョン単位の対応件数も右肩上がりとなっている。また、ベテランが1人抜けて新人2人が合流したものの、対応領域の網羅性も高まってきている。
添田氏はマネージャーとしての1年間にわたる施策や取り組みを振り返り、「チームとして成長サイクルに乗せることができたと思う。その仕組みづくりとアクションプランは以前から行なってきたことの応用。そのスキルがピンチのときの支えになった」と述べ、「これはと思うものがあれば、ぜひとりいれてほしい」と語った。
そして、マネージャーとして変わらず考えてきたこととして、「チームの成果を最大化・最速化したい」「隣のチームに負けたくない」「自分を追い越していく、匹敵するメンバーと仕事したい「今までの自分の成果×人数以上の成果を常に出したい」の4つをあげ、「チームが成長し続けられるよう、メンバーが成長し活躍できる機会を作り出すことが最重要。そのためにさまざまなアクションプランや仕組みづくりを行い、今後も試行錯誤しながら進めていく」と意欲を見せた。
最後に「マネージャーとして、メンバー時代の延長線上のスキルでやれることも多い。一方で、『成果を出す』ことから『成果を出させる』ことに役割が変わるので、スキルの使い方も変わる。他者の成長・成果のために自分のスキルを使える人が、マネージャーにふさわしい。才能や天性の素質ではなく、愚直に戦略を練り、逆算思考や仮説検証で問題と対峙できれば、誰にでもチャンスがある」と熱く語り、セッションを終えた。