ソフトウェア開発者に測定可能な目標を設定することは機能しないと一般に認められています。目標に焦点を合わせすぎると、組織の目標に反する行動につながる可能性があるためです(いわゆる「測定機能障害」)。
しかし、私の会社では、すべてのスタッフに目標を設定する必要があり、人事部からSMARTにするように勧められています。過去に、私の仲間の第1レベルのマネージャー(チームリーダー)と私はいくつかのアプローチを試みました:
- 「テクノロジーXのトレーニングを行う」、「誰も理解できないコードYのドキュメントを作成する」など、通常の仕事に追加される測定可能な目標を設定します。年次業績評価に関しては、開発者を書面による目標ではなく、通常の仕事の測定不可能な価値についての私の意見に基づいて評価してください。それが実際に会社が関心を持っているからです。
- 「タスク管理システムによって記録された日数の作業」、「導入されたバグの数」、「発生した生産の数」など、非常に具体的な目標を設定します。これは、より良い「スコア」を達成するために、膨らんだ見積もりとバグの誤った分類につながりました。興味深いことに、このシステムで高得点を獲得した開発者でさえ、チーム内の本質的な信頼が損なわれ、常に高い地位に値するとは限らなかったため、それを気に入らなかった。
- 「通常の仕事を上手くやる」のバリエーションである漠然とした目標を設定します。年次評価に関しては、それらの評価は目標に対するパフォーマンスを反映していますが、目標自体は測定可能または達成可能ではなく、それは嫌われています。
これらのどれも理想的ではありません。ソフトウェア開発者にとって、その有効性に反する証拠があるにもかかわらず、意味のある測定可能な目標を作成しなければならないという同様の状況にあった場合、どのアプローチが最も効果的でしたか?
私が見つけた関連する質問は、同じ点に完全には対応していません。
- ソフトウェアエンジニアにとって良いパフォーマンス目標は何ですか?
- 開発者のパフォーマンス目標の設定
- プログラマーに適したパフォーマンス指標は何ですか?
- プログラマーにとって公正な生産性測定手法とは何ですか?
- 来年のキャリア「目標」が必要です
更新(2009年11月18日):私の質問には10の賛成票があり、最高評価の回答には4つの賛成票しかありません(私からの賛成票を1つずつ含む)。私は、これは私たちに何かを伝え思う:ジョエルと他の人が正しいかもしれないこと、およびstackoverflowのの組み合わせの知恵が思い付くことができないことをあらゆる悪の真(測定不能)値に影響を与えずにgamedすることができませんでした開発者にとって魅力的な、測定可能な目標彼ら作業。試してくれてありがとう!