開発者の職務記述書で「エラーなし」を主要な出力として持つことは適切ですか?[閉まっている]


10

すべての職務記述のレビューの一環として、私の会社は以下を主要な出力として含めることにしました。

ウェブサイトの開発は仕様どおりに、エラーフリーで時間通りに完了しました

仕様が定期的に変更されることを考えると、正式な変更管理プロセスはなく、環境は少し予測不可能ですが、このKPIはどれほど現実的で妥当ですか?


20
完全に非現実的です。おそらく、あまりにも多くの悪い開発者と一緒に働いている誰かによって書かれたものでしょう。しかしそれは悪い経営のせいかもしれません。十分な情報が提供されていません。
Mark Canlas、2011

11
彼らの履歴書に「エラーのないコードを書く」と一緒にやってきた開発者は、その位置に一致するほど馬鹿げているでしょう。
P.Brian.Mackey 2011

12
バグがなく、その目標を達成できることが証明できる唯一のコードは、何もしないと主張する空のコードベースです。
unholysampler

8
pfft ...は、人々が簡単に扱えるスケープゴート句のように見えます。「申し訳ありませんが、あなたは雇用契約に従っていませんでした...予告なしに、または追加の理由なしに解雇します。トゥートルズ。」
Steven Evers

5
もちろんエラーはありません。コンパイラは言う:0エラー、0警告。それは仕事の要件を完全に満たします:-)
Ferruccio

回答:


21

「エラーフリー」はあまりにも主観的です。一人の男の「満たされていない機能要求」は別の男の「エラー」です。「実質的に設計仕様を満たすべき」のようなものがより適切でしょう。あなたが仕事の説明で何を説明しているのか、私は実際に見たことがありません。契約作業では見ましたが、従業員では見ていません。


9

私はほとんどの答えに反対の立場をとり、それは絶対に合理的かつ現実的であると言います。

すべての開発は予定どおりに完了しますか?もちろん、そうとは限りません。

すべての開発は仕様の範囲内で完了しますか?あなたはそう望んでいますが、時にはそれが単に不可能であり、不可能または自己矛盾する仕様からの逸脱を報告しなければならないことがあります。

そして、すべての開発にエラーはありませんか?決して

しかし、それがKPIの目的です。これは測定可能であり、パフォーマンスと進行状況を追跡できます。

仕様が定期的に変更される場合、正式な変更管理プロセスはなく、環境は予測できません。この数値を「エラーなし」に近づけるのは困難です。しかし、その課題はあなたの仕事であり、会社独自のカオスの特定のフレーバーを管理するための練習が増えるにつれて、うまくいけばかなりうまくいくでしょう。

反問:プログラマーにどんなKPI 提案しますか?難しいです。私たちの活動の多くは測定が困難です。


4
大きなサイズのコードベースは、「エラーがない」と保証することは事実上不可能です。なぜなら、あなたが単に見つけていないエラーが存在する可能性があるからです。また、エラーとは何ですか?バグ?これはどのように測定されますか?
フィロソダ

1
@philosodad-それはちょっと私のポイントです。エラーは発生しません。しかし、あなたが書いたコードで今年x個のエラーが見つかり、来年x-4個が見つかった場合、KPIは改善されています。エラーが何であるかについては、それはあなたの組織にとって本当に問題であり、間違いなく「エラー」対「文書化されていない要件」対「変更された要件」対「意見の相違」という議論を引き起こすものです。
Carson63000

3
@ Carson63000:それが私のポイントです!いくつかの議論を引き起こすことが保証され、当事者間の不一致が避けられず、主要なメトリックを漠然と定義しているKPIは、少なくとも問題があります。たとえば、「エラー」が主観的な尺度である場合、マネージャーがエラーを定義して見栄えをよくすることで、まったく同じパフォーマンスでエラー率が低くなることが予測できます。しかし、新しいマネージャーはそれを上に定義し、次に下に定義して、同じ正確な出力をどのように「改善」したかを示すことができます。
フィロソダ

3
重大なエラーのないターゲット(重大な定義)が望ましいです。または、エラー率を改善する。そしてさらに良いことに、これは職務記述の一部ではなく、年次業績評価のターゲットにする必要があります。
quick_now

3
KPIには、十分に満たすことができないだけでなく、超えることのできる目標も含まれます。これを使用して、KPIターゲットよりもパフォーマンスが悪いか良いかを測定します。どのようにして「エラーなし」を超えることができるのかわかりません。したがって、KPIとして意図されていても、欠陥があります。より良いKPIは、障害の数を測定することです、あなたが書いたコードに対して提出したテストレポートがあること等、実際のコードの変更をもたらした
マージャンVenema氏

4

それが仕事の説明であれば、エラーのないコードに向けて取り組むことは典型的なプログラマーの仕事の一部であるため(私たちがそれを達成できなくても)、私はそれについてあまり心配しません。

ただし、KPIとしては到達範囲が広すぎますが、プログラマーでない場合は、それを提案した人物を責めないでください。その声明が組織にとって望ましくないかもしれない目標を設定していることを説明してください。つまり、「エラーなし」は、ソフトウェアを実際に配信するにはかなりの費用がかかる非常に高い基準です。適切に稼働するソフトウェアプロジェクトでは、各欠陥が開発者の貴重な時間を費やす価値があるかどうかについて決定を下す必要があることを説明します。

ここでポイントをうまく説明する例を示します。
プログラマーは、私たちのソフトウェアに「3000年」のバグがあり、2999年12月31日をもって機能しなくなることを発見しました。問題の修正には6〜8か月かかります。KPIに基づいて、会社に真の価値がないにもかかわらず、このプロジェクトに取り組むことをお勧めします。

わかりましたので、その例は少し極端ですが、どのソフトウェアプロジェクトでも、文字通り何十もの小さな欠陥が発見され、同様にそれらを修正するために必要なROIを生成しません。代わりに、KPIがプログラマーが欠陥を最初から導入しないことを暗示することを意図していた場合、従業員が自分の仕事のパフォーマンスを決して失敗しないという基準に拘束されることは理にかなっていますか?


「経営陣によって問題ではなく、修正の必要がないと見なされた欠陥を修正する」をカバーするKPIがあるとは思えません。
Carson63000 2011

@Carson-私が知っている大企業ではない。愚かな目標は彼らのビジネスのやり方の一部です。
quick_now

3

番号

それは適切ではないだけでなく、滑稽です

テストではエラーの存在のみを証明でき、エラーがないことを証明できるため、この契約の下で作成されたすべてのプログラムには、正確性の厳密な証明 100%のテストカバレッジを含める必要があります。

「上のコードのバグに注意してください。私はそれが正しいことを証明しただけで、試したわけではありません。」-D.クヌース

KPIは、目標への成功と進捗の測定です。それらは、バイナリのトグルではありません。
Carson63000 2011

@Carson:「エラーなし」はKPIではなく、ファンタジーです。
スティーブンA.ロウ

1
ステッチアップのように聞こえます。JDにばかげたものを挿入すると、言い訳が必要なときはいつでも、JDが必要とするパフォーマンスを発揮できないため、その人は解雇される可能性があります。
quick_now 2011

3

もちろん、エラーのないコードを書くことは、すべてのプログラマの仕事と責任です。それは完全に合理的な期待です。機能しないコードをリリースした場合、どのようにしてプロのプログラマーになれますか?どのようにあなたはあなたがいないことをコードリリースする場合は、自分自身がプロのプログラマーであることを考慮することができます知っている作品?

あなたが画家を雇うなら、彼は彼の仕事をうまくやることを期待します。あなたは彼の仕事の結果に誤りがないと期待しています。エラーがある場合、あなたは彼がそれらのエラーに責任を持ち、無料でそれらを修正することを期待します。その上、エラーがあなたにお金を要するならば、あなたは彼があなたに返済することを期待します。なぜあなたはこれらの期待を持っていますか?画家はプロだから。

プログラマーはエラーを他のすべての人のせいにするのが大好きです。「要件、スケジュール、または月が8番目の家にあるため、私のプログラムにはバグがあります」しかし、他に責任のある人はいません。プログラムにエラーがある場合は、そこに配置します。

私たちの職業は、プログラマーがお金でやめることを理解するまで職業にはなりませ。その彼らは自分たちのプログラムの品質を担当しています。

企業がソフトウェアQA部門を作成した理由を知っていますか?プログラマーが仕事をしていないからです!プログラマーはあまりにもがらくたをリリースしていたので、企業はそれらをチェックするためにまったく新しい部門を形成しなければなりませんでした。

バグリストはどれくらいの長さですか?バグデータベースに何千ものバグを登録するのは専門家ですか?明らかにそうではありません。これは、悪い振る舞い、規律の悪さ、そして率直に言って、不名誉の反映です。

QAで何も見つからないことを確認するのが私たちの仕事であることがわかるまで、私たちは職業にはなりません。


+1ですが、私はエラーのないことを現実というより個人的な目標として考えたいです。私たちはすべてそれを実行する必要がありますが、無限のリソースが与えられない限り、そこに到達することはできません。少なくとも、現在のソフトウェアの開発方法が与えられていません。
rjnilsson 2011

ボブおじさんの感情にもっと強く同意することはできませんでした。それはプロ意識の問題です。
Johnsyweb

1
私の経営陣は、後でソフトウェアを修正するのではなく、バグのあるソフトウェアを提供することを好むことを私の経営陣が完全に明確にしているという事実により、この立場は少し複雑です。私はこの状況にいるのは私一人ではないと思います。
トムアンダーソン

3

悲しいことに、これは彼らが「すべての基盤をカバーする」方法のように聞こえ、明らかに推奨されておらず、開発者に幻滅を引き起こすだけの可能性があります。

とは言っても、レビュー期間中に彼らがそのテキストで何をしているかを見て初めて、これは本当に重要になります。そのため、過度に反応しすぎないようにしてください。トンネルの終わりにまだ正気がある可能性があります。


私の現在の作業環境を考えると、彼らがその表現をどのように適用するのか非常に疑わしいでしょう。
Phil.Wheeler

2

「完全?」のように「エラーなし」「人間ではなく、神と天使たちによって書かれた」のように。(ここでは、プログラムロジックエラーとハードウェアロジックエラーについて説明しています)

1行のコードについても、エラーがないとは言えません。私たち人間が否定的な仮説を立てることができないからです。

エラーの可能性は0から1の間の数値であると言えるでしょう。私は、ソフトウェアの開発とテストの原則を明確に、または十分に定義しておらず、十分に理解していないために、その数値に到達しています。問題のソースソフトウェア行の数。私の候補者である貧しいmuttが、これらのコード行を生成する際にこれらの原則をどれだけうまく適用するか、または十分に理解していないかを理解します。もっと。

そしてその理解は確率としてしか表現できません。したがって、「論理エラーなし」という用語は、ほとんど何もないことを意味します。

「エラーのない」コードを作成したソフトウェアエンジニアの広告を見た場合、すぐに適用するか、すぐに実行します。会社は、ソフトウェアの開発、テスト、および配信の方法についてあまり考えていません。 。ですから、それは素晴らしい機会になるか、無限の悪夢になるでしょう。

ただし、どのソフトウェアでも、私は簡単に(そして必ず)言っておく必要があります。コードには、面倒で曖昧で論理的な要素以外のエラーはありません。エラーや警告なしにコンパイルしてリンクするコード。それは「有効なhtml」または「有効なcss」です。説明されていないエラーメッセージやブラウザの障害を生成しないJavaScript(たとえば)。その部分を直接測定して、グラフ上に白黒でマークを付けることができます。

その部分はパイのように簡単です。誰もが行うことができますように

ねえ、検索で頑張ってください:-)


1

私は愚かですか、それとも「エラー」は「コンパイル不可能なコードに相当する致命的なコンパイラメッセージ」を意味していませんか?

その定義では、それは非常に合理的な要件です...


1
そうだね。ページフッターでテキストの位置がずれているとエラーになる可能性がありますが、ページの読み込みに失敗し、ランタイムエラーがユーザーに返されるのと同じエラーにはなりません。
FrustratedWithFormsDesigner

ウェブ開発では、「エラー」は多くのことを意味する可能性があります。すべての製品の誤った価格を表示することは大きなエラーと見なされる可能性がありますが、必ずしも実行が妨げられるわけではなく、サーバーログに問題が報告されない場合もあります。
Simon B

このコメントを書いてから4年間で、私はずっと多くのWeb開発を地獄で行い、完全に同意しました。 makeは、「エラー」の定義は任意であり、(非常に)選択した定義の場合合理的な要件です。
Chris Browne
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.