個人的な技術マネジメントの話

乙女電芸部、初めての展覧会『乙女電芸部と札幌の冬を考えよう!展』 が札幌の札幌文化芸術交流センターというところで開催(1/8-2/11)しています。

www.facebook.com

札幌の中高生と組んで作品を作り上げたのですが、4つのチームで5つの作品があり、1チーム2作品(『パルマフラー』というヒーターが内蔵されたマフラー)を僕の担当として技術部分を見ていました。僕の担当パートは比較的早く終わったので、他チーム・作品のお手伝いもしたのですが、最近自分がやっているマネジメントに近かったので、ちょっとその辺りの技術マネジメント的な話をまとめておきます。

f:id:miso_engine:20200106121155j:plainf:id:miso_engine:20200106121159j:plainf:id:miso_engine:20200106143703j:plain
パルマフラーの制作風景

CTO?テックリード?技術顧問?スクラムマスター?

肩書はともかくとして、大雑把に技術的に頼りがいがあるポジションとして乙電やその他の仕事で存在しています。全体を見渡して、ちょっと詰まってそうな人がいたらその人のところに話を聞きにいってました。これはこちらから行くこともあるし、本人から来て欲しいと言われることもあります。定例のミーティングで聞くスクラム的なやり方もするし、トイレ行くついでに聞きにいったりと色々です。

「話を聞く」の具体的な中身ですが、1on1といよりはペアプロもしくはテディベアプログラミングで、大体本人に話させると5割は解決します。残り5割の時は

  • 一緒にコードを見る
  • タスクの優先順位の整理
  • こちらが巻き取ってその人には別作業

という感じですね。

必要スキル

正直にいって難しいことをしていないつもりなのですが、かといってこれが5年前の自分に出来たかというと絶対に出来ないんです。リストにしてみると下記能力が必要。

  • メンバーからの信頼
  • タスクを見積もれる能力
  • 全体を見渡す視野
  • プロジェクトを完遂させることが出来るという自信

この中で最も重要なのは「メンバーからの信頼」で、この人に相談したら良いことがある、怒られないという雰囲気が作れたら勝ちですね。エンジニアとしては、あんまり技術そのものにこだわりがなく、マネジメントで解決するならそれでいいじゃんて方なので、こういうポジション向いてたっぽいです。

現状見えてないこと

自分自身のタスクの技術的見積もりはかなりの精度*1で出来るのですが、他の人のタスクでの見積もりが難しい状況があります。一応難しそうな時はどう?って聞いて気にしているよってシグナルは出しているのですが、それが功を奏さず、結局難しい状態のままってことが多いです。特にハードの案件だと「出来ているように見えるけど、実際は出来ていない状態」がままあって、これがスケジュール上で地雷になります。

これに関してはペアプロやモブプロがベストプラクティスだと思うのですが、リモートだとなかなかしづらいです。特に乙電のようなプロジェクトがアドホックすぎる上に固定の拠点もない場合では。もしかしたらいわゆる「作業イプ」をやるといいかもしれません。

もう一つのソリューションはレビューの改善です。レビューは「出来ているように見えるけど、実際は出来ていない状態」をあぶり出してくれるのですが、だいたいもっと早く見つけたかった!てことが多いことを踏まえると、早めのレビューを組み込みたいです。早めのレビューをする場合、全体の枠を作ってから肉付けしていく仕事のやり方を強制することになるので、丁寧な取り扱いが必要なのがネックですね。

*1:もちろん相対的な見積もりです