見出し画像

エンジニアの目標設定って難しいよね、という話とOKRでなんとかできるのではという話

「目標設定、ニガテなんですよね」

組織に属するメンバーを育成し、評価する。そのための材料として「目標設定」を活用している組織は多い。MBOか、それに類する形を採用しているところが多いのではないか。(観測範囲での判断なので今は違うかもしれない)

そして、「目標設定」を行う組織は多いというのに、「私、目標設定得意なんですよ」というエンジニアの存在は寡聞にして存じ上げない。なぜなのだろう。

エンジニアの目標設定は難しい?

組織のレベルでは、「売上○○円」「ユーザー数○○人」「平均DAU○○」といった目標が設定されることが多い。財務に直結するものだ。翻って、エンジニアたちは組織にどう貢献するのか。エンジニアリングだ。直接売上がどうこうではなく、「どうすればビジネスに貢献するか」から立脚された仮説に基づいて行動をしていくことになる。

こうすれば画面遷移数が減って使いやすくなる、その事により利用率が向上するだろうという仮説。テストを整備し変更容易性の高い設計を保つ、その事により生産性が向上するだろうという仮説。まだどこも実現していない新機能を提供することで先進的なイメージがつくだろうという仮説。

しかし、これらは仮説だ。そして仮説のうち少なくないものが、売上にどのように寄与したかはわかりづらいものなのだ。 @katzchang がいうんだから間違いない。

エンジニア目線だと自分たちの営為がどのように事業貢献しているかわかりづらい、という意味で難しいし、評価する側としても同様にどのように事業貢献しているかわかりづらいので難しい。

難しい結果、わかりづらいエンジニアリングは後手に回る

機能単位でログを仕込むことで利用者数を明らかにする。ABテストにおける選択率により有用性を判断する。こういった形であれば、ある程度エンジニアリングをわかりやすく事業貢献と結びつけることができる。

新機能をつくる。その結果をもとにプレスを出す。これも成果が見えるため、貢献していると判断してもらいやすい。しかし、ともするとビルドトラップに直結する危険を孕んではいる。

リファクタリングする。テスト整備する。これらは、指標としてはサイクロマティック複雑度やカバレッジといったものがある。しかしエンジニア以外の人にこれらの指標の重要性をわかってもらうことは難しい。

畢竟するに、「わかりやすい」アクションが優先され分かりづらいものは後手に回る。しかし、これらを後手にまわしてしまうと将来の開発速度、そして現在のエンジニアたちの士気に深い影を落としてしまう。

そこでOKR。けれど・・・

ではどうすればよいのか。売上、ユーザー数、DAUなどから指標をブレイクダウンしている限り「わかりづらい」アクションは浮上してきづらい。

実は、目指すべき状態をObjectiveとして示し、その達成を定量的なKey Resultsで判断するOKRはこの問題を解消しうると考えている。階層をまたがるところで親KRと子Oの接続が行われるのだが、ここで事業目標のKRをエンジニアリング組織のOへ変換することになる。ここで対話を通してエンジニアリング組織としてのOが事業としてのKR達成に寄与する、ということを理解してもらえれば、「わかりづらい」アクションも目標として設定できることになる。

実際、今自分のチームでは「システムをモダナイズし開発効率が劇的に上がっている」というような名目でObjectiveを設定している。KRとしてはデッドコードの削除、テスト整備、リグレッション環境の整備・増強といった類のものが並んでいる。

ただ「テストを整備します」といっても理解は得づらいのだが、「これらを実施することで開発効率が向上するのですよ」というHowとWhatのつながりが可視化されるため、こういったエンジニアリングへの投資の理解が得られやすい。

とはいえ、やっぱりOKRは難しい。(半年くらい前にも同じような悩みをかかえてnoteを書いていた)

理解してもらえるか、というのがお悩みポイントだ。そしてそれは、上司に向けた説明をどうしようという話だけではない。関わるメンバーたちにもこういったエンジニアリングが重要である理由を理解してもらう必要がある。外部勉強会に足繁く通っていると、ほとんどの現場でCI・CD、TDDが当たり前に使われているような錯覚に陥る。しかしそうではない。「テスト大事だよね」と思ってくれるエンジニアは意外なほど少ない。

組織の目標をどうやってエンジニアリング目標に落とし込むかOKRで考えてみる

というわけで、絶賛悩み中である。個人的には、定性と定量の間を対話で紡ぎ、ある程度の短いスパンで見直しを行っていくOKRはエンジニアリングの目標設定と相性がいいと感じている。しかし果たしてそうなのか。そもそも最適解はなにか。そんなことを思い悩む日々。

なんて悩んでいたら、きょんさんがイベントまで立ててくれた。

目標設定に難しさやもどかしさを感じている人は、ぜひこちらのイベントに参加してもらいたい。私も答えを持ち合わせているわけではなく、参加された方々から意見をいただきながら「エンジニアリング目標へのうまい落とし込み方」を見出していきたいと考えている。

この記事が気に入ったらサポートをしてみませんか?