どのくらいのコードを担当する必要がありますか?


12

同僚と出口インタビューを通じて、私は私の小さな会社で、私が他の仕事にいるときよりも3〜10倍多くのコードに対して「責任がある」と聞いています。私は自分のワークロードを他の分野と比較するために使用できる、ある種のあいまいなメトリックを探しています。

「コードの責任」とは、「コードベースのエリアXを知っているのは私だけ」という意味ではありません(悲しいことに、スタートアップ環境ではよく当てはまります)。むしろ、「code_base_size / number_of_developers」。

コードの行を数えるだけでなく、作業負荷をより正確に測定するために使用できるリソースはありますか?


8
コード行は必ずしも複雑さや作業負荷を正確に測定するものではありません。

3
したがって、私の最後の文:)
マイケル

2
@ThorbjørnRavnAndersen:「正確」ですか?あなたは何か他のものを意味するかもしれないと思います。それは本当に正確な(そして正確な)唯一の尺度についてです。Barry Boehm(ソフトウェアエンジニアリングエコノミクス)は、それが唯一の賢明な手段であることを実証しました。これにより、プロジェクトの見積もりに役に立たなくなります。しかし、労力と期間を予測する遡及的な尺度として、他のどの方法よりもはるかに優れていました。
S.Lott

回答:


12

雇用されている開発者にとって唯一の具体的な尺度は、バグのコーディングと修正に費やした時間数と、それに対して支払われるお金です。1週間に6日間、夜遅くまで1年5万米ドルで滞在している場合、問題があります。上司が何行のコードを担当しても、もちろん特定のコード品質を考慮して、できる以上の処理は行いません。単体テストなしで低品質のコードを開発することは、より多くのコードを処理する良い方法ですが、大きな技術的負債の代価を支払う必要があります。

では、小さな企業の開発者はよりもはるかに多くのコードの責任になる傾向があり、大きな CORP。あなたが言及している要因3から10は、私にとって現実的なようです。


6

私は、150万行のコードベースを管理し、それにteamれていなかった3人のチームを知っています。重要な測定は、担当するコードの量ではなく、一定の時間内に変更する必要があるコードの量です。

リスク評価の角度もあります。あなたがコードを知っている唯一の人であれば、バスの下を歩くと失われる機会費用はいくらですか?中小企業は通常、そのようなリスク評価を行いませんが、これはビジネスの継続的な成功がチャンスに任されることを意味します。


3

コードベースのサイズ/開発者の数は、ワークロードとは関係ありません。巨大な安定したコードベースがある場合、そのメトリックは高くなります。まだ開発中の小さなコードベースがある場合、そのメトリックは低くなります。開発者ごとの時間単位ごとの線の変化は、ワークロードに関連しています。しかし、それでも、修正が1行だった微妙なバグを追跡するのに何日も費やしていました...


2

コードは、1人の開発者ではなくグループの責任である必要があります。サポートは毎週かなり委任する必要があります。他の方法で割り当てるのは愚かなことのようです。そうでない場合は、経営陣に相談することをお勧めします。

この状況では、他の開発者が働いているある分野からの膨大なサポートのために、1人の開発者を説明するのが期限に間に合わない場合があります。その非常に非効率的な管理構造。

また、コード行でワークロードを測定することから離れることをお勧めします。私が考えることができる唯一の賢明な指標は工数です

コードの行でプログラミングの進行状況を測定することは、航空機の建物の進行状況を重量で測定するようなものです-ビル・ゲイツ

NB。私は平等に言っているのではなく、公平に言っている。また、当然のことながら、コードベースの特定の側面に特化することは問題ありません。他の誰もそのコードに取り組んでいない場合、それは唯一の問題です。


私はもっ​​と明確にすべきだった-私は「このコードは私の責任です-私だけがそれを維持する」と言って回避することによって、私の仕事の負荷を測定する方法を見つけようとしていました。たとえば、Facebookに2人のプログラマーがいた場合、明らかに過労になりますが、どうやってその結論に達しますか?それが私が目指していたタイプの質問です。
マイケル

2

たとえば、Facebookに2人のプログラマーがいた場合、明らかに過労になりますが、どうやってその結論に達しますか?それが私が目指していたタイプの質問です。

これはプログラミングの問題ではなく、管理の問題です。
これに答えるいくつかの簡単な質問があり、それらはソフトウェアとは何の関係もありません。

  1. 何時間働いていますか?
  2. 何時間作業する必要がありますか?
  3. 期限は守られていますか?

次に、このロジックに従います。

  • 1> 2の場合、より多くの人またはより積極的な期限が必要です。
  • 1 <2の場合、必要な人員が少なくなるか、より多くのイニシアチブが必要になります。
  • 期限に間に合わず、1> = 2の場合、さらに多くの人が必要です。
  • 期限に間に合わず、1 <2の場合、誰かを解雇する必要があります。

これは、2つの明白な欠陥がある単純化です。

  • 人は平等に作られていません。
  • 人々の生産性を高める方法があります(コンピューターなどをアップグレードします)。

しかし、あなたはアイデアを得る。

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