開発生産性と組織

フロントエンドの開発生産性〜Online Conference〜

開発生産性と組織 by @1000ch

Shogo SENSUI (shogosensui.com)

SIer での受託開発を経て、2012 年に株式会社サイバーエージェントに入社。プロダクト開発の傍ら、エンジニア組織のマネジメントに従事。2018 年に株式会社メルカリに入社後は、株式会社メルペイの Frontend チームの立ち上げWeb 版の「メルカリ」の刷新メルカリアプリのコードベース刷新を牽引した後に、執行役員 VP of Engineering としてメルペイのエンジニアリング部門を管掌。2023 年 4 月にデジタル庁入庁。2023 年 7 月に株式会社ハウテレビジョン入社、執行役員プロダクト本部長に就任。mond 認定回答者TechFeed 公認エキスパート (Web 標準技術 • JavaScript)。

開発生産性と組織 by @1000ch

開発生産性と組織 by @1000ch

🤔

  • 私達を取り巻く組織(会社、チーム、コミュニティ、etc)とは一体何なのか
  • 我々の職能にとって重要なテーマである開発生産性に、組織がどう影響するのか
  • Frontend という切り口でそれらを俯瞰したときの要因分析と課題設定
開発生産性と組織 by @1000ch

開発生産性とは?

経済学における労働生産性なので、ソフトウェアを生産するということは

ソフトウェア開発の現場は必ずしも営利事業を営む会社ではないが、「ソフトウェアを生産する」ために「開発リソースを投資する」 が原理として根底にある。

開発生産性と組織 by @1000ch

組織とは?

生物学における組織とは、形態及び機能を同じくする細胞の集合体。via 組織 (生物学) Wikipedia

社会科学における組織は、共通の目標を有し、目標達成のために協働を行う、何らかの手段で統制された複数の人々の行為やコミュニケーションによって構成されるシステムのことである。via 組織 (社会科学) Wikipedia

ある目的を達成するために、分化した役割を持つ個人や下位集団から構成される集団。 via 広辞苑

開発生産性と組織 by @1000ch
良い組織は良い生産性を体現する

開発生産性と組織の関係

「モノづくりに関わる人」と「個々の能力や技術力」の掛け算 だけでなく、組織はシステムとして開発リソースという資源を統率管理する。

開発生産性と組織 by @1000ch

よくある組織の営み

graph TD; A(報酬) --> |対価としての報酬が動機になる| B B(労働) --> |成果や自己実現のために挑戦する| C C(評価) --> |評価と称賛により承認される| A

組織は大きい単位では会社かもしれないし、小さい単位ではチームかもしれない。サイズの大小はあれど、集合体であれば端的には組織。労働の対価として金銭を得る場合もあれば自己実現のためにボランティアとして奉仕する場合もあり、動機は色々。

開発生産性と組織 by @1000ch

動機は行動の源泉

組織と個人、双方の期待値ベクトルを揃える

開発生産性と組織 by @1000ch

組織の期待値

組織の目標に対する、報酬に見合った貢献

組織に説明責任があり、個人に遂行責任がある。これらを接続するのがマネジメントの仕事であり、レポートラインにおけるピープルマネジメントやプロジェクトにおけるプロジェクトマネジメント。

開発生産性と組織 by @1000ch

個人の期待値

組織の目標に対する、貢献に見合った報酬

目標設定は双方の期待値を擦り合わせるプロセス、期待値と現状のギャップを埋めるのが組織のマネジメントと各自の努力。

組織の営みを通じた自己実現や承認

多面的で人それぞれ。金銭的報酬(≒生理的欲求・安全の欲求)だけではなく、組織内外の協調(≒社会的欲求・承認欲求)や、内発的動機の実現(≒自己実現欲求)に及ぶ。

開発生産性と組織 by @1000ch

納得は全てに優先する

納得は動機の源泉 であり、「組織の期待値」と「個人の期待値」の一致の度合いが働く上での納得に強く影響する。

開発生産性と組織 by @1000ch

組織統治の仕組み

仕組み=事をうまく運ぶために工夫された計画・構造・機構

開発生産性と組織 by @1000ch

ガバナンスの存在目的

ガバナンスは体制

組織の所有者が組織行動を制御するためのシステムや体制。例えば、組織の制度やポリシーを定めて、管理で執行し、監査で妥当性を評価する。

マネジメントは実行

ヒエラルキー型のように階級や役職などが存在する管理体制があれば、ホラクラシー型のように階層構造を設けない組織形態もある。

開発生産性と組織 by @1000ch

組織の統治機構

日本国や株式会社のガバナンス

日本国で言えば司法・立法・行政の三権を基底にした、複雑な制度や機構が機能している。株式会社なら、株主総会をはじめ多層化されたマネジメント、職務権限規定や就業規則といったルールやポリシーがある。

開発生産性と組織 by @1000ch

Frontend の責務と納得

組織の期待値と、我々の納得と、あなたと私

開発生産性と組織 by @1000ch

広がり続ける Frontend の責務

サーバーサイドエンジニアが Backend を実装してマークアップエンジニアが HTML/CSS を実装する時代から、Node.js が成すエコシステムの普及と成熟によって Software Engineer (Frontend) が Web アプリケーション全域をカバーしつつある。

開発生産性と組織 by @1000ch
Frontend とは何なのか

ユーザーとサービスを UI で繋ぐために HTML 生成処理を整える技能領域

AND/OR

システムとデザインの境界で責任を持ちユーザーに届ける品質を司る職能

via Webフロントエンドと アーキテクチャ事情の持論を喋る by @ahomu

開発生産性と組織 by @1000ch

Frontend の納得はどこにあるか

組織の Frontend という領域への期待値

事業価値をユーザーに提供するために、ブラウザ上の UI を実現する HTML 生成を担う専門性を以て、デザインとシステムの境界の品質を担保すること。

Frontend を取り巻く要因

開発現場では、変化し続ける Frontend の職務範囲、意思決定を含む開発プロセスにおける裁量、技術的挑戦の余地など。管理体制で言えば、従業員に対して認めるワークスタイル、エンジニアリングの評価、職域の組織内ヒエラルキーなど。

開発生産性と組織 by @1000ch

モノづくりに於いて意思決定に手が届く

自分の意志が合意形成のプロセスに含まれ、専門領域内外で最適化を施す余地がある

journey section Plan Feature Plan: 5: Product Management User Interface: 4: Design section Development Development: 3: Frontend, Backend Test: 2: QA Release: 3: Frontend, Backend section Evaluation User Feedback: 5: Product Management, QA
開発生産性と組織 by @1000ch

その組織における承認

自らの専門性が組織で必要とされ、より高次の欲求に近づける

journey section Expectation Company Mission: 5: Executive Team Direction: 4: Engineering Manager Goal Setting: 4: Software Engineer section Daily Work Development: 3: Engineering Manager, Software Engineer section Evaluation Look Back: 4: Software Engineer Feedback: 3: Engineering Manager
開発生産性と組織 by @1000ch

取り巻く要因と付随する課題例

Frontend という責務への主体性

役割や職責は組織それぞれ、自己実現欲求の究極系があるとすればコミュニティや会社のためではなく自分のために開発すること。組織というコンテキストは制限を作る。

協調するにあたってのマインドセット

専門性によるポジショントークをしてはいけない。事業目標の達成に向けた課題を、異なる専門性をかけ合わせてどう解くのかが肝要

開発生産性と組織 by @1000ch

Frontend としての問の在処を探そう

開発生産性と組織 by @1000ch