📈

ビジネスに貢献するエンジニアが意識すべき生産性の話

2024/05/08に公開

生産性ってなに?

開発者が発する場合、「生産性」とはイコールで「開発生産性」を指していることが多い。
ここでいう開発生産性とは、ソフトウェア開発における作業効率と生産性を指す。

  1. 適切な開発プロセスとツール

    • 効率的な開発ワークフロー
    • 自動化されたビルド、テスト、デプロイ
    • 統合開発環境(IDE)の活用
    • コード共有やレビューの仕組み
  2. コードの質

    • 読みやすく保守性の高いコード
    • 適切な設計とアーキテクチャ
    • 十分なテストの実施
    • 技術的負債の最小化
  3. チームの効率性

    • 適切な役割分担と責任範囲の明確化
    • コミュニケーションの円滑化
    • 知識の共有と継続的な学習
    • 動機づけと生産性を阻害する要因の排除
  4. 継続的な改善

    • 定期的なレビューとフィードバック
    • ベストプラクティスの導入と改善
    • 新しい技術やツールの評価と導入

開発生産性が高ければ、よりスピーディーにソフトウェアを開発できる。
開発のリソースを効率的に活用でき、結果として高品質のソフトウェアを適切なコストと時間で提供することが可能になる。

これはあくまで「開発者による開発目線での生産性」でしかない。

ビジネス全体での生産性ってなんだろう?

  1. 仕事量
  2. 期待付加価値
  3. 実現付加価値

この3つに分解出来る

レベル1

仕事量

  • 早くやる
  • 多くやる
  • 長くやる
  • 要は「こなしたタスクの量」

レベル2

期待付加価値

  • 目標の指標に対し、どれだけ多くの期待値を見込むことを行ったか?

レベル3

実現付加価値

  • 結果として、目標の指標がどれだけ向上したのか?

どのステージを見て仕事をするのか?

  • メンバークラスのエンジニア
    • レベル1
    • 行動目標としてこなせるタスクを多くする
  • リーダークラスのエンジニア
    • レベル2
    • 施策を考えて、タスクに落とし込む
  • マネージャークラスのエンジニア
    • レベル3
    • 結果責任を負う
    • そのために出来ることは何でもする
  • 大きな仕事がしたければ、自分がレベル1つ上になったつもりで仕事をしよう
    • リーダーを目指すなら、施策を考える
    • タスクの分解を積極的に行う

ビジネスに貢献するエンジニアになるには?

  • レベル3の観点を持っている
  • ビジネスに貢献する = 利益を出す
    • 売上を伸ばす、費用を下げる
  • タスク1つが利益に繋がるロジックを理解できているか
    • Aのタスクを実行すると、施策Bが進行する、CのKPIに貢献する見込みである

Discussion