Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エンジニアリングマネジメントでいかに事業をドライブするか?

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 エンジニアリングマネジメントでいかに事業をドライブするか?

エンジニアを一つの方向に束ねていく
エンジニアを正しいコンテキストに置く
相手が知らないということを知る
といったことについてお話します。

Avatar for yasudatoshiyuki

yasudatoshiyuki

May 19, 2021
Tweet

More Decks by yasudatoshiyuki

Other Decks in Business

Transcript

  1. ©iCARE Co., Ltd All rights reserved 自己紹介 3 安田俊之 Twitter:

    @TakataNoToshi iCAREにて2020年7月よりVPoE 関わってきた技術 Ruby on Rails, Vue.js, AngularJS PHP: Symfony, FuelPHP, CakePHP Java: Androidアプリ、Spring Perl: CGI DB: PostgreSQL, MySQL, Oracle, PL/SQL その他: Terraform, Ansible, Chef, Nginx, etc.
  2. ©iCARE Co., Ltd All rights reserved 今日のテーマ 5 今日のテーマは エンジニアリングマネジメントでいかに事業をドライブ

    するか? です。 まずは前提となるエンジニアリングマネジメントとは 何か?というお話からしたいと思います。
  3. ©iCARE Co., Ltd All rights reserved 組織による開発に落とし込む 7 一言で言うと、 事業の要求

    を 組織による開発に 落とし込むこと と言えるのではないかと思います。
  4. ©iCARE Co., Ltd All rights reserved 個人による開発ではスケールできない 8 事業の要求 を

    個人による開発に 落とし込む ではない。 なぜなら 自分の手を使っていては事業をスケールできない からです。
  5. ©iCARE Co., Ltd All rights reserved 好きなようにやってもらうでもない 9 組織の構成員が 好きなことを好きなように開発させること

    でもない。 これだとメンバーがバラバラに動き、事業を迅速に進 められなかったり、いいサービスを作れなかったりし て、競合他社に負けてしまい、組織が存在し続けるこ とができない。
  6. ©iCARE Co., Ltd All rights reserved 一つの方向に束ねる必要がある 10 当然ですが、事業の要求を組織による開発に落とし 込むためには、メンバーの作業を一つの方向に束ね

    る必要があります。それは 個人 < 少人数 < 大人数 といった感じで人数が増えていくほど、困難になって いきます。
  7. ©iCARE Co., Ltd All rights reserved 拡大の中で生じる問題 12 組織が拡大する中で、メンバーがバラバラに開発をし ているだけだと、開発速度が上がらないだけでなく、

    1. 各々の開発がうまく統合、適合しない 2. 複数人で同じ作業をするなど無駄が生じる 3. (結果)メンバー間に不満が生じる 4. (最悪)組織が立ち行かなくなる といった問題も生じます。
  8. ©iCARE Co., Ltd All rights reserved ここにタイトルが入ります 15 ここに本文が入ります ここに本文が入ります

    ここに本文が入ります 
 
 事業の方向性とあった行動を してもらうためには?
  9. ©iCARE Co., Ltd All rights reserved 優先度の低い作業をしてしまう例1 18 不適切なタイミングでの開発者体験の向上 開発者体験の向上は生産性を向上させるので、それ

    自体は非常にいいことだが、例えば多くの顧客が何 かの機能が急ぎ実装されることを待っているときに、 ここに時間・工数を費やしているとしたらそれは事業 的に適切ではない
  10. ©iCARE Co., Ltd All rights reserved 優先度の低い作業をしてしまう例2 19 顧客からは指摘がないがエンジニアが気づいたバグ の修正(方向性の誤った品質向上)

    • サービスの現在、未来にインパクトを持たないバ グ • エンジニアが美学的に気持ち悪いというだけのバ グ 上記のような場合、急いで修正したり、そこにむやみ に時間をかけたりすることは事業上、適切とは言えな い。
  11. ©iCARE Co., Ltd All rights reserved 優先度は指示やルールでは解決できない 20 こうした優先順位を誤ってしまう問題は、ルールや指 示でそれを防ぐことは難しい。

    「指示」はスケールさせることが難しいですし、優先順 位の判断ができるような「ルール」は管理が恐ろしく 大変になるからです。
  12. ©iCARE Co., Ltd All rights reserved 自律的に判断・行動できるようにする 21 そうなるとこの問題を解決するために は、事業的な優先度や組織の価値観

    をエンジニアが常に理解していて、そ こからどう行動するのが適切か自律 的に判断・行動できるようにする必要 がある。
  13. ©iCARE Co., Ltd All rights reserved Managing with Context, Not

    Control 22 これをシンプルな言葉で表現しているが Netflix Cultureで言われている Managing with Context, Not Control
  14. ©iCARE Co., Ltd All rights reserved Managing with Context, Not

    Control 23 https://www.slideshare.net/reed2001/culture-1798664/82-Context_not_ControlContext_embrace_Strategy
  15. ©iCARE Co., Ltd All rights reserved コンテキストにエンジニアをおく 24 指示・ルール(Control)でエンジニアの行動を規定せ ず、事業の

    • 戦略(Strategy) • 測定(Metrics) • 仮説(Assumptions) • 目的(Objectives) といったことが理解できるコンテキスト(文脈・状況)に エンジニアをおいて、エンジニアがそれに基づいて適 切に判断し、開発することができるようにする
  16. ©iCARE Co., Ltd All rights reserved より少ない管理コスト 25 Controlの場合、事業が拡大するとその管理も肥大化 していく一方で、Contextの場合は、判断をエンジニア

    の自律性に委ねることができるため、より少ない管理 コストで事業の方向性に合致した開発をすることがで きるようになる。
  17. ©iCARE Co., Ltd All rights reserved 次の話題 28 ここまでが「コンテキスト作り」のお話。 コンテキスト作りには、当然、コミュニケーションが必

    要です。 最後にコミュニケーションについてのお話をしたいと 思います。 ここではコミュニケーションの上で大切になる 相手が知らないということを知る というお話をしたいと思います。
  18. ©iCARE Co., Ltd All rights reserved 相手が知らないということを知る、とは? 30 人はどうしても自分が知っていることを、相手も知っ ているという前提に立って話をしてしまいがち。

    例えば、あるファイルを探していて、それを同僚に聞 いた時に「Google Driveにあるよ」なんて答えられた体 験はありませんか?
  19. ©iCARE Co., Ltd All rights reserved 相手が知らないということを知る、とは? 31 Google Driveにログインして、そこからある経路をたど

    れば、そこにファイルは見つかる。 回答した人からすれば、その経路は自明だから、答 える必要がない、と思う(んでしょうね)。 でも、聞いた側は「Google Driveのどこにあるのかわ からんわ!(怒、もしくは困惑)」ってなる。
  20. ©iCARE Co., Ltd All rights reserved 立場が異なればすれ違いのリスクも高まる 32 こういうすれ違いっていうのはよくある。 同僚ではなく、立場が異なる人とコミュニケーションす

    る場合は、相手と共有する情報はもっと少なくなって いくので、そうしたすれ違いのリスクは高まっていきま す。
  21. ©iCARE Co., Ltd All rights reserved どうしたらよいか1 34 コミュニケーションの機会を作る 当たり前といえば当たり前ですが、相手も自分と同じ

    情報を持ち、似たような価値観を持っているという前 提に立ってしまう(思い込んでしまう)と、これを怠りが ち。
  22. ©iCARE Co., Ltd All rights reserved どうしたらよいか2 35 相手が何を知っていて、何を知らないかを知る 当然ですが、適切にコミュニケーションするために

    は、まず「相手を知る」必要があります。相手の話を 聞いたり、行動を観察したりして、「相手が何を知って いて、何を知らないか」を掴む必要があります。
  23. ©iCARE Co., Ltd All rights reserved どうしたらよいか3 36 相手が何を知っていて、何を知らないかを知った上で 話しをする

    これができればコミュニケーションの基礎ができたこ とになります。 あとは「相手が何を聞きたいと思ってるか」とか「何を 望んでいるか」とかの「気持ち」面への配慮が更に必 要になってくる。
  24. ©iCARE Co., Ltd All rights reserved 基本的、原理的な話 37 ここまでの話は、エンジニアリングマネジメントの話と 言っておいたのに、

    • エンジニアを一つの方向に束ねていく • エンジニアを正しいコンテキストに置く • 相手が知らないということを知る といったようなエンジニアリング固有でない、非常に 基本的、原理的な話
  25. ©iCARE Co., Ltd All rights reserved 具体的な施策を底支えする 38 開発プロセスの改善とか開発者体験の向上といった 様々な技法的な話は今回ここに含めていません。

    もちろん、そうしたことが大事な話ではないという意味 ではありません。むしろ、そうした諸々の具体的な施 策で事業を加速化しつつ、今回お話したような基本 的、原理的な話でもって、それを底支えすることで、 事業を飛躍的にドライブさせることができると考えて います。
  26. ©iCARE Co., Ltd All rights reserved エンジニアリングマネジメントの核 39 そうした意味で •

    エンジニアを一つの方向に束ねていく • エンジニアを正しいコンテキストに置く • 相手が知らないということを知る といったことが、エンジニアリングマネジメントの核に なる、と考えています。