これは(もともと)どこにありますか?:「ソフトウェアのライフタイムコストの80%はメンテナンスに費やされます」[終了]


9

Sun Javaコーディング規約ドキュメント(ここ:http : //www.oracle.com/technetwork/java/codeconv-138413.html)には、次のように記載されています。

「ソフトウェアのライフタイムコストの80%はメンテナンスに費やされる」

この統計の出所を知っている人はいますか?アサーションを疑うことはありませんが、私は帰属なしで統計を作成することもできます。他のステートメントの基礎として使用し始める前に、これがどこから来たのかを知りたいのです。


6
すべての統計の76.3%はその場で作成されます
Steven A. Lowe

2
@ロウ、それは76.37%または3/5です。そして統計は嘘をつかない。
Christopher Mahan

回答:


6

最初に、メンテナンスの意味を定義する必要があります。通常、50%を超えるメンテナンスコストには、機能強化と欠陥の除去が含まれます。

80%の数字は特定の調査に直接起因するものではないようですが、このページで言及されている調査の50%を超える範囲にいくつかの信頼できる数字があります:https : //web.archive.org/web/ 20120313070806 / http://users.jyu.fi/~koskinen/smcosts.htm

応用ソフトウェア測定の表3-7 、第3版。調査した8200のプロジェクトのうち、新たに開発されたのは2410のみであることを示しています。1385年はメンテナンスプロジェクトで、残りは拡張プロジェクトでした。これは、既存のコードを維持しているプロジェクトの約70%に相当します。



2

80-20の経験則は、「大多数」というフレーズを表す具体的なサンプル数として、多くの状況で非常に一般的に呼び出されます。

これはまさにそのような呼びかけかもしれません。


-7

Java Code Conventionsから-1997年9月12日、Sun Microsystems。

この引用は、以下のドキュメントの紹介に表示されます。

1.1コード規約がある理由

  • ソフトウェアのライフタイムコストの80%はメンテナンスに費やされます
  • 最初の作者によって、ソフトウェアが一生維持されることはほとんどありません。
  • コード規約によりソフトウェアの可読性が向上し、エンジニアは新しいコードをより迅速かつ徹底的に理解できます
  • ソースコードを製品として出荷する場合は、作成した他の製品と同様にパッケージ化され、クリーンであることを確認する必要があります。

2011年までに、このドキュメントはかなり古くなります。ソフトウェアとシステムは、Javaを含む、およびJavaを除く多くの言語で開発されています。

ただし、Javaは非常に遅く、C / C ++に比べてメモリフットプリントが非常に大きくなります。一部のユーザーは、PHPやC / C ++などの他の言語と比較して、Javaの実際の実行速度が遅いことを経験すると、プログラムに問題があると思うことがよくあります。次に、パフォーマンスを改善しようとして無駄にお金が費やされます。このため、私はいつも、タイタニック号に飛び乗り出航する人々の動機に疑問を投げかけています。Javaで多くのプログラムを実装することは意味がないので、特にパフォーマンスやメモリフットプリントが問題になる場合はそうです。

LinuxやPythonやC ++でbashスクリプトと同じソフトウェアを実装するよりも、Java実装であるためにJavaで何かを実装するのに多くの時間を費やす人を実際に目にしました。

Javaを絶対に避けないように言っているわけではありませんが、適切な仕事に適したツールがあり、最近のJavaよりもはるかに多くのツールがあります。

ついにJavaを非推奨にしたAppleにおめでとう。


8
OPは、Javaについての怒りではなく、この引用の元のソースや統計的証拠を探しています。
ペーテルTörök

4
これは質問の答えにはならず、まったく役に立ちません。
KeesDijk、2011

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