2

私はソフトウェア プロジェクトに取り組んでおり、ソフトウェアの開発に費やした貢献全体に対する割合を見積もりたいと考えています。これを行うツールはありますか?このようなツールは、評価や交渉などに役立ちます。結局のところ、私たちはお金のために働いています(はい、お金だけでなく、要点は残ります)。最も重要なことには十分な手を振っていると思います。

見積もりは非常に主観的です (少なくとも私にとっては) が、主観的な見積もりを提供するツールを知りません。私は、開発者ごとではなく、コード行を使用して総作業量を綴る Sloccount を知っています。

この目的のための理想的なツールについての私の考えは次のとおりです。

  • コードの複雑さを測定します (複雑になるほど労力がかかりますが、労力が増えるほど貢献度が高まるとは限りません)。
  • ソフトウェアの分解性/柔軟性を測定する (分解性が高いほど良い)
  • ライブラリ コードの使用量 -- ライブラリ コードを使用すると、開発プロセスが高速化され、関連するリスクが増大し、開発者は以前からライブラリについて知っているか学習する必要があります。
  • 「誰がコードを書いたか」、「誰がコードをコピーしたか」、「誰がコードをインデントしたか」を区別できるほど知的であること。

実装の複雑さと問題の本質的な複雑さを区別することは困難です。おそらく、同等のオープンソースの対応物がある場合はそれと比較するか、サブモジュールごとに個別に比較することができます。

そのようなツールがない場合、そのようなツールを持つメリットはありませんか? それとも、「私は仕事をしているが、私は測定していない」と信じていますか? やっぱり時間がかかります。おそらく、プロジェクト マネージャーは、この見積もりを継続的に、たとえば毎週行う必要があります。基準はありますか?はい、プロジェクトごとに異なる目標があるため、標準化は困難ですが、標準がまったくないのではなく、複数の標準が必要であることを意味するはずです。これは、企業が市場でどのように評価されるかに似ています。

更新:いくつかの最初の回答を見た後:パーセンテージを出力するだけのツールを想像するのは意味がありません。人間 (特にマネージャー) がより良い意思決定を行うのに役立つツールはありますか? または、より良い意思決定を行うのに十分な統計は何ですか? これらの統計は利用できますか?

4

5 に答える 5

2

これは独自の研究テーマです。コードの所有権などの指標を定義しようとするツールがいくつかあります。コードの信頼性など、共同開発の他の側面に取り組むアプローチは他にもあります。

バグトラッカーからの情報を使用しようとしたいくつかの研究も行われています。たとえば、バグを導入する可能性が高い開発者を特定します。しかし、客観的であることは困難です (システムの最も重要な部分を割り当てられた優れた開発者でも、重大なバグを導入する可能性は高くなります)。

開発タスクを収益化するのは実際には困難です。バグのコストはいくらですか?リファクタリングの利点は何ですか?ただし、それは開発者の貢献を見積もる 1 つの方法です。

私が最後に目にしたこの種のクールなツールは、Hudson継続的インテグレーションシステムのゲーム プラグインでした。アクションに応じて各開発者にスコアが割り当てられます

  • -10 ビルドが壊れた場合
  • -1 テスト違反
  • テストを修正するための+1

これも、開発者の貢献を何らかの形で評価する方法です。

全体として、あなたが求めているものは存在するように感じますが、まだ非常に未熟です。

于 2010-03-13T10:29:03.770 に答える
0

プロジェクトのシェアを評価するためのツールを入手できるとは思いません。ソースのラインを測定することはすべて非常にうまくいきますが、そのソースの品質はどうですか?仕事が20で簡単にできたなら、誰かが200行のソースのクレジットを取得することを望まないでしょう...

また、私の雇用主のことを少し考えてみると、多くの人がコード以外の方法でプロジェクトに貢献しています。私が考えることができる直接の例は、プロジェクトマネージャーとテスターです。どちらも不可欠であり、どちらも当然のことながらある程度の信用に値します。

マーティン

于 2010-03-13T09:52:16.437 に答える
0

私が想像できる唯一のものは投票システムでしょう。それがあなたのチームやどこでもうまくいくかどうかはまったくわかりませんが、コードの品質を現実的に見積もるには人間が必要になると確信しています。

于 2010-03-13T10:04:02.283 に答える
0

Stroustrup の C++ に関する本で、「技術的な手段で社会問題を解決しようとしないでください」という言葉を読んだことがあります。

プログラム的に考えると、プログラマーの態度と能力は、一緒にコード レビューを行い、関連するトピックについて話し合うことで、非常に迅速に推定できます。

ここに画像の説明を入力

IT 愛好家および制御フリークとして考えると、バージョン管理、バグ データベースなどを使用し、それぞれのリアルタイム パフォーマンス データに優れた教育可能な機械学習ソフトウェアを実装することは、それほど難しいことではありません。寄稿者。たとえば、R、KNIME、または WEKA をこれに使用できます。

于 2015-08-14T08:32:01.280 に答える