開発者向けの主要業績評価指標を知っていますか?何を測定および監視する必要がありますか?
次の真実を考慮してください。測定および監視したものを正確に取得できます。それを念頭に置いて:
測定するひどいもの
コードの行-エレガントなコードには簡潔な性質があります。コード行は、コードのために、コードを膨らませたり、コピーして貼り付けたり、さらに悪いことに、コードを奨励します。
解決までの時間-迅速に行われたコードには、多くのバグが含まれています。
バグ修正-これは「解決までの時間」に伴います。傾斜したコードを書いたことに対してプログラマに報酬を与えないでください。特に、そもそも発生した問題を修正したことに対してプログラマに報酬を与えないでください。
何、私見、あなたが測定する必要があります
影響。重要なのは、開発者がdoすることだけです。効率を10%向上させるツールを書きましたか? 3時間かかっていたタスクを自動化するのはどうですか?その危険なライブラリをリファクタリングして、チームの全員が簡単に使えるようにしたらどうでしょうか?
コードを書き込んだ後に何が起こるかを測定し、ビジネス/会社の目標に対して貢献がどれだけ価値があるかを測定する必要があります。悪影響を与える可能性があることに注意してください。
コードを表すドアはどれですか?あなたのチームまたはあなたの会社を表すドアはどれですか?なぜ私たちはその部屋にいるのですか?これは単なる通常のコードレビューですか、それともライブ開始直後に恐ろしい問題のストリームを見つけましたか?私たちはパニックに陥ってデバッグを行っているのでしょうか?顧客は大騒ぎをし、マネージャーは私たちの首を呼吸していますか?.
(Robert C Martin、 クリーンコード -上記の画像で開く本)
あなたが誰かを賢く雇ったと仮定すると、彼らは物事を成し遂げるはずです。それを超えて、従業員(特にプログラマー)を測定すると、正確に測定対象が得られます。
つまり、プロジェクトがチームの標準の範囲内で行われていることを監視します。
効率(作業完了/時間)はどうですか?これは pomodoroテクニック で測定できます。 this presentation をご覧ください。
ポモドーロの見積もりとタスクごとに実際に実行されたポモドーロを追跡したら、このツールが pomodairoと呼んだリアリティファクターを測定できます。 はあなたのために行います。この現実の要因は、見積もりがどれほど優れているか、どれほど効率的であるかを要約できます。効率を評価するために、私は2つ以下のpomodoroタスクに固執します。
私はポモドロスの目的を(個人ベースで)見つけました。なぜなら、それぞれが集中した作業の固定された量を意味し、それらはあなたが改善するための良い尺度であり、IMHOは重要なこれらの種類のメトリックの実際の目的です。
私はこれを私の仕事でちょうど経験しました。 KPIがどうあるべきか、次にKPIがどうなるのかを把握しようとする(測定が難しいことが判明したため)。
KPIは、ビジネス要件をタイムリーに解決するための指標でなければなりません。誰かがこれを測定する良い方法を知っているなら、私に知らせてください。 :)
実装されている機能の数を使用することの決定を終了しました。私たちの顧客は、ユーザーが直面するすべての機能をサインオフし、それらは公に優先されます(そのため、人々は最初に彼らが勝つために戦うことができます)。これは、パフォーマンスが良好かどうかを測定する簡単な方法になると考えました。様子を見よう.....
使用できるビジネス指標はほとんどありません。プログラマーを数学者または科学者として扱う必要があります。そこで測定される唯一のものは、アイデア/コードの影響または潜在的な影響です。数学者が書いた証明の行数を数えますか?
測定を使用する場合でも、プログラマーは賃金を決定するかどうかによって、最適化問題として扱われます。もう1つのポイントは、プログラマーの生産性は日によって異なり、場合によっては、多数のコード行が記述されたり、新しいデザインのアイデアが考えられないこともあります。
エグゼクティブまたはマネージャーの主要業績評価指標にはどのようなものがありますか?私たちはアイデアや思想も扱っているので、プログラマーのためにそれらを使用してみてください。
産業プログラマーにとって、節約された(または稼がれた)時間あたりのコストは、私の意見では、唯一の意味のあるビジネス指標です。
ソフトウェアの種類は、ゲームの考え方(コンピュータゲーム、ペンと紙、パズルなど)を持つことで有名です。 しないでくださいビジネスニーズに沿っていないインセンティブ行動。
たとえば、kLOC /週を重要な指標と見なすと、同じ機能でkLOCがさらに増えることを確認します。
例:
int foo() {
return blah;
}
うまく変えることができます:
int
foo()
{
return
blah;
}
同じ機能について。これはLOCの2倍の増加です。主にLOCに基づいて私の生産性をランク付けする場合、その生産性ベースのボーナス/プロモーションを取得するかどうかを評価するつもりであると考える方がよいでしょう。
ビジネスユニットからプログラミングにメトリックを合わせる必要があると私は言うでしょう。プログラマは、ビジネスユニットが台無しになり、見栄えが悪くなるので、それを望みません。
私の答えは次のとおりです。Dude(またはDudette)は、ビジネスユーザーと協力して素晴らしいツールを作成し、ビジネスの生産性を向上させ、その成功をあなたの成功に導きます。