開発マネージャーは、「目標の傾向」をどのように処理する必要がありますか?


12

最初に用語を作成します:

コード目標の調整:午前中にコードをチェックアウトし、他の開発者が前日にファイルごとに行ったすべての変更(特に最初に開発したコードファイル)を静かにレビューし、フォーマット、ロジック、変数名の変更、リファクタリングを修正します長いメソッドなど。その後、VCSに変更をコミットします。

このプラクティスには、私が特定したいくつかの長所と短所がある傾向があります。

  • Pro:コードの品質/可読性/一貫性が維持されることが多い
  • Pro:他の開発者が元のコードにあまり慣れていないため、いくつかのバグが修正されています。
  • Con:多くの場合、目標を設定する開発者の時間の無駄です。
  • Con:前日、バグのないコードを書いたと考えていた開発者が、髪を引っ張る怒りを引き起こすバグをときどき紹介します。
  • コン:他の開発者は、過度つべこべで悪化し、目標入札のコードに貢献嫌いし始めます。

免責事項:公平を期すために、私は実際には開発マネージャーではなく、実際に「目標管理」を行っている開発者です。

私の防御では、これを正当な理由で行っていると思います(非常に大きなコードベースを油を塗ったマシンに保つため)。また、マネージャーがこの問題に対処する必要があることも間違いなく心配しています。

あなたがマネージャーだったら、この問題にどのように対処しますか?

更新:これがあまりにもローカライズされているという意味ではありませんが、一部の人は質問しているので、おそらくいくつかの背景が明らかになるでしょう。私は3年前に巨大なプロジェクト(200K LoC)を割り当てられましたが、最近(1年前)にプロジェクトに追加された開発者が追加されました。通常、製品の全体的な安定性について回答する必要があります。コードベースのコアアーキテクチャ部分に驚くほど変更が加えられると、特に緊張します。この習慣は、最初は他の開発者の貢献について楽観的だったために発生しましたが、数週間後までは発見されない深刻な問題を引き起こす過大なミスを引き起こしました。しばしばこれらの


3
どうやらあなたの開発者はタイヤを十分に汲み上げていないようです。FxCopのとあなたのゴールテンダーを交換するか、似たような、彼らはにチェックすることはできませんので、自動的にこれらの基準を適用する。
ジョンRaynor

2
短所: それはあなたの仕事ではありません。 これらの人々は、彼ら自身の目標設定を行うべきです。
ロバートハーベイ

10
開発者として、私はこれを他の開発者が私が加えたすべての変更でこれを行うのを
腹立たしく思い

4
@Ryathal:ショップはコード標準を実施する必要があります。コードは一般にチーム全体が所有しているため、人々がコードを変更したくない場合は、最初から正しいコードにする必要があります。
ロバートハーベイ

1
標準を強化する@RobertHarveyは1つのことであり、不正な開発者が「正しい」という考えを静かに強制することは別の問題であり、これは後者の場合のようです。
リャサル

回答:


52

開発者にフィードバックを提供するのではなく、コードレビューで提案するすべての変更を行っていることを除いて、あなたがやっていることは基本的にコードレビューと同じように思えます。あなた(または他の誰か)がコード品質の問題や明らかなバグについて元の開発者にフィードバックを提供し、それらを修正するように元の開発者に依頼する実際のコードレビューを行うことはほぼ間違いなく良いでしょう。これによりコードの品質が維持されますが、開発者が元のコードとその落とし穴に精通し、将来のコード変更の改善にも役立ちます。さらに、バグが静かに持ち込まれたり、他の開発者が自分の背後で話されていると考えるようになったときに、「髪を引っ張る怒り」を引き起こすという欠点はありません。


4
ビッグ+1。コードレビューは、チームの構築に役立ちますが、彼が説明する「目標の傾向」は、人々を間違った方法でこする可能性があるようです。
ダグT.

2
この。ここでは、実際のコードレビューの方がはるかに良い方法です。あなたが言ったように、2つの大きな利点は、開発者が問題を示しているため、アプリケーションアーキテクチャをよりすばやく学習できることです。2つ目は、作成中の新しいコードを完全に理解していないため、バグを導入しないことです。この質問に対する完璧な答え。
マイクチェリーニ

2
洞察に対する素晴らしい答えと感謝。この質問のコピーとマネージャーに対する謙虚な態度は、コードレビューがチームにとって有益であり、「目標管理」の必要性を減らすと確信させるかもしれないと思います。
ケビンマコーミック

1
同意した。尋ねずに他の人のコードをいじらないでください。そのようにしていくつかのひどいバグを取得できます。私は目標指向のバグを修正しましたが、それらは気持が良くありません。コードの堅牢性が心配な場合は、単体テストを作成してください。
ポールネイサン

2
「実際の」コードレビューに移行しない場合でも、単に他の人に話しかける-なぜ彼らが特定のことをしたのか、なぜそうしなかったのか(他の方法で)を尋ねるのは、同じことの多くを達成する素晴らしい方法です目標。+1
TehShrike

14

率直に言って、私見、これはひどい考えです。

士気がまだ溝に落ちていないのであれば、それを期待しています。

あなたに公平を期すために、あなたはこれを認めます。

ピアコードレビューは問題ありません。「彼ら対私たち」のシナリオではなく、開発者に1つのレベルで責任を負わせます。(管理者/リードの場合)。

一部の開発者は他の開発者よりも注目する必要があるかもしれませんが、すべてのコードを最初に強制的に通過させるのはばかげています。

そして、あなたがどれほど良いと思うにせよ、あなたが間違っている、または「ピッキング」する時があり、これは事態をさらに悪化させます。


それとマネージャーはおそらくコードを悪化させる可能性が高いです。
アンディ

5

私がマネージャーだった場合、この問題に対処するには:

  • チームでコード標準とプラクティスを確認し、コーディング標準のコピーを渡してください
  • 定期的にコードをピアレビューし、従うべき標準と実践を強化する
  • 開発者が標準に従うことを余儀なくされるように、自動化ツールを使用してnitpicking / formattingを実施する
  • 標準に従わない悪いチームメイトを排除する
  • ゴールテンダーになるのをやめる

あなたの意図は良いですが、実装はひどいものであり、他の人が指摘しているように、チームメンバーの間で士気と狙撃が貧弱になります。

プロジェクトに最初から標準がない場合は、スイッチを切り替えるだけでなく、新しい標準を段階的に緩和してください。


3

悪いジュジュ。

私は開発マネージャーではありませんが、もし私がいたら、自分の開発者が割り当てられた欠陥や機能の一部ではないコードに触れないようにしたいと思います。限目。あなたが他の誰かのコードに問題が表示された場合、すべての手段によって、責任、開発者(複数可)の注意にそれを持って、しかしないあなたは、他の開発者(と調和していない場合は特に、中だけでダイビングをし、それを自分で解決しますs)最初。

クリーンアップタスクは、チームによる正式なコードレビューの後、およびそれらのタスクが割り当てられている開発者によってのみ実行される必要があります。

イニシアチブは一般的には良いことですが、時にはお尻に噛みつくこともあります。あなたは何にどんなバグを導入した場合されたコードを働いて、あなたは急速にあなたが別のキャリアパスを選択したい希望することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.