パスワードを忘れた? アカウント作成
13551751 story
プログラミング

IPA曰く「ソフトウェア開発の生産性は年々低下傾向にある」 91

ストーリー by hylom
生産性を高めるために冗長な記述が求められる言語とフレームワークを導入すべきか 部門より
あるAnonymous Coward曰く、

独立行政法人情報処理推進機構ソフトウェア高信頼化センター (IPA/SEC) は3月6日、近年のソフトウェア開発の傾向を分析した「ソフトウェア開発データが語るメッセージ2017」という資料を公開し、ソフトウェア開発の生産性は年々低下傾向にあるとの警鐘を発した(プレスリリース)。

この資料は2018年のソフトウェア開発データ白書用に収集したデータを元に作成されたもの。IPA/SECでは、新規開発プロジェクト全体におけるソースコード行数の生産性が年々低下傾向にあることに着目し、ここからソフトウェア開発の生産性が低下していると主張している。

データのさらなる分析の結果、この要因として「品質要求レベルが上昇している」「要員のスキルに低下傾向がみられる」ことがあると推測し、この傾向を踏まえたプロジェクト運営を行うとともに、上流工程要員のスキルアップを図ることなどを提言している。

タレコミ子としては単にフレームワークの進歩などで無駄なコードが除去された結果に見える。スラド諸氏の見解は如何だろうか?

  • ほぇ (スコア:5, すばらしい洞察)

    by nnnhhh (47970) on 2018年03月15日 16時17分 (#3376963) 日記

    > ソースコード行数の生産性が年々低下傾向にあることに着目し、ここからソフトウェア開発の生産性が低下していると主張している。

    生産性っていうたら儲けで測るもんじゃないのかいな
    さすがにどーなんだ

    ここに返信
    • by epheal (32955) on 2018年03月15日 20時15分 (#3377082)

      行数で比較する文化、COBOLとかの名残だろうか

      • by hjmhjm (39921) on 2018年03月16日 12時49分 (#3377325)

        いやいや、プロジェクトの規模とかを簡単に比較する方法としては、行数カウントも悪くないだろ。
        過剰に絶対視/重要視して、単純に生産性とかコストとか言い始めるからおかしくなっていくだけで。

      • by Anonymous Coward on 2018年03月15日 21時44分 (#3377113)

        そっちの思想だと量が多いのが絶対正義ですね。

        コイツ等はシグマで目論んだソフトウェア工場が理想なんだよ!と吐き捨てるように言った人が居たけどその通りなんでしょう。

        どうも何かで関わったらしい(と濁しておく)が、IEEE,RFC等々覚えろ!お前の相手は海外で情報処理試験(会社方針)のようなモノに無駄時間使うヒマはない!と新人に叱ってたし。

        まあ海外のアチコチからスカウト受けてた人の言葉だけに新人君はショック受けてたな。

    • by nemui4 (20313) on 2018年03月15日 16時47分 (#3376991) 日記

      物価とかに連動して変わりそうだけど、儲けか売上で測るのが正しそうですね。

      「ソースコード行数」だけで生産性(出来高?)を測られるなら、無駄なコード入れて水増ししまくるようになりそうだし。

    • by Anonymous Coward on 2018年03月15日 19時00分 (#3377053)

      クラスとか、高機能フレームワークとか、メタプログラムとかで
      短くて済むようになった可能性は?

      • by Anonymous Coward

        フレームワーク自体の行数がカウントされないという暗黙の前提はなぜなのか?
        フレームワークは冗長なコードの塊だから、機能に対する記述量は多いよ。
        それとも、フレームワークは天から与えられるものなの?

    • by Driver (32138) on 2018年03月16日 9時23分 (#3377241) 日記

      つまり「単価が下がってるから生産性が落ちている」という評価ってことですね。
      まぁ、結果は似たようなものだと思いますが。

      仕様検討を細かく行って、開発メンバーに落とせるだけのスキルを持ったSEが減っているとも言えそうだし、要件が短期で変動する業界が増えたせいで使用が固まらない部分が多いとも言えるし・・・
      そのうえ単価も下がってIT業界のブラック加減が増している。

      IPAが現状評価するのもいいけど、「どうしていくべき」「どうあるべき」を広報する方の記事もセットで出してくれた方が良いかもね。
      方法論は人それぞれ考えが違うから、下手なこと言えばバッシングも受けるだろうけど、今のままじゃ幸せになれる人が減る一方だと思う。

    • by Anonymous Coward

      それは労働生産性とかの方でしょ。
      ソフトウェア開発の生産性を行数で測るのはどうかとは思うけど。
      ファンクションポイントとかはもう古いのかな。
      とにかくそういう抽象化された情報処理能力で測らないとね。

      • by Anonymous Coward

        知見
        > 1. ソフトウェア生産性は全体的に低下傾向にある
        > 2. ソフトウェアに対する品質要求は高まっている
        > 3. 生産性を低下させないポイントは上流工程強化
        >  新規開発プロジェクトの中では、上流工程での不具合摘出比率が70%以上と高いグループでの生産性が低下していないことが分かりました。同グループではSLOC不具合密
        度が低く、信頼性も高い状態が続いています。

        品質要求が高まっているのが生産性低下の一因とだ言っているようだ
        上流が出来る子だと2でも生産性が落ちていないと言っているようだ

        メッセージ
        > 2.定量的管理を推進し、品質要求レ

        • by Anonymous Coward

          昔は未定義動作?バッファーオーバーフロー?動けばいいんだよ!って感じだったんじゃないかと昔のソースコードを見てて思う。

      • by Anonymous Coward

        データベースから読んでちょっと加工して表示する、みたいな奴ならいい
        のかもしれないが、ファンクションポイントって全く役に立たないよね。

        数値計算屋

    • by Anonymous Coward

      > ソースコード行数の生産性が年々低下傾向にあることに着目し、ここからソフトウェア開発の生産性が低下していると主張している。

      ケンシロウ「お前は長く生き過ぎた」

    • by Anonymous Coward

      儲けというか、生産性は一人当たりGDPで測るのが経済の流儀なんじゃないでしょうか。

    • by Anonymous Coward

      最近のプログラムは、かつての言語に比べれば多くのことをプログラム言語側で面倒見てくれるので
      行数が少なくなると思います。すなわち、目的が少ない行数で実現できると。

      少ない行数で完了するということは、より短時間でものが作れるわけで
      空いたらどうするかというと、次のプロジェクトを行うだけです。
      すなわち、コード行数は一定時間働く限り、一定数はないとおかしいわけです。

      にもかかわらず、ソースコード行数が減り続けたら生産性は減っているという話はあながちおかしいとはいえないのでは。

      • by nnnhhh (47970) on 2018年03月16日 2時04分 (#3377175) 日記

        できることは同じなら情報量は変わらないんだから、
        ライブラリ含む言語が高度化すれば少ない行数でかける

        しかし情報量は同じなのだから結局のとこ考える量は変わらないので単位時間でできあがるプロジェクトの数はそこまで変わらない

        結果時間当たりの行数はへると思いますよ
        パンチャーじゃ無いんだから行数が生産速度を律してるってことは無いんじゃないかな
        テスト工数は減らせそうな気もしますが

        てかじつはディスプレイの高解像度化で行が長くなってるんだったりして

  • by ymasa (31598) on 2018年03月15日 23時08分 (#3377136) 日記

    昔は1日9時~27時まで18時間仕事していたけど、いまは8時間厳守になったから
    生産性は半分以下ですよね。

    ここに返信
  • by Anonymous Coward on 2018年03月15日 17時12分 (#3377003)

    要員のスキルに低下傾向がみられる

    ITパスポート試験から団体申込者の個人情報が漏洩、排他制御漏れが原因 [security.srad.jp]

    ここに返信
  • by Anonymous Coward on 2018年03月15日 17時36分 (#3377016)

    SESが横行してるから結果生産性が落ちる

    ここに返信
  • by Seth (1176) on 2018年03月15日 18時54分 (#3377047) 日記

     関数ライブラリーにまとめろ(走召糸色木亥火暴)
     まとめた横で類似なもの造るな(逝ってよし)

    --
    ------------------------------ "castigat ridendo mores"
    ここに返信
  • 今、仕事でITSSとかをちょっと参考にして教育カリキュラムとか作ってるんだけれど、
    なんというか、全体に漂う古臭さ、「そんなの今時……」ってのがところどころあって、
    そういう観点の人たちが作った基準でそういう観点で生産性だなんだを測ると、
    そりゃそうだよな……みたいな感じはある。

    漠然とした感想だけどね。

    ここに返信
  • by Anonymous Coward on 2018年03月15日 16時47分 (#3376992)

    なぜか流行ってた「無理矢理行数を増やすテクニック」なんて、カネにならなきゃ誰もやらんでしょう・・・
    読みにくいだけだし。

    ここに返信
    • by Anonymous Coward

      この案件なら何人月…とかと考えは同じですよね。

    • by Anonymous Coward

      ライブラリが充実したとかコピペ増殖が減ったとかもありそうですよね。

  • そのサイクルに同期して世界大戦が起きている

    ここに返信
  • by Anonymous Coward on 2018年03月15日 17時05分 (#3377001)

    DOSからWindowsに移行したときやゲームの3D化など特に顕著だったけど、必要な処理以外の実装が増えているからかな。

    ローカルでやれば済むものまでクラウドにしたがったり、プッシュ配信要らないよってものまでそうしたがる。話題のライブラリや技術、ソフトがあるとそれを導入したがる。
    それを「品質要求レベルが上昇」と表現してしまえば確かにそうだけど、無駄な実装が影響して必要な処理の品質が落ちてたりとちょっと違う方向に進んでる。

    ここに返信
  • by Anonymous Coward on 2018年03月15日 17時18分 (#3377010)

    >「品質要求レベルが上昇している」

    品質が上昇しているのに単価が上昇しないので、生産性が低く見えているという可能性

    生産効率が低下しているのではなく、価格競争に晒されているだけなのでは

    ここに返信
    • by Ryo.F (3896) on 2018年03月15日 23時02分 (#3377133) 日記

      品質が上昇しているのに単価が上昇しないので、生産性が低く見えているという可能性

      違うだろ。
      ここで言う生産性に、単価・金額は関係ない。

      IPA/SECでは、新規開発プロジェクト全体におけるソースコード行数の生産性が年々低下傾向にあることに着目し、ここからソフトウェア開発の生産性が低下していると主張している。

  • by Anonymous Coward on 2018年03月15日 17時39分 (#3377018)

    体壊したり年齢で解雇されたり嫌になって転職したり…

    ここに返信
  • 生産性は変わらないが、株価が2倍になっただけで大喜び

    過去25年ぐらい1倍なのが日本

    ここに返信
  • ソースコード行数で生産性測ってる時点で、
    それ以降の考察に何の意味もなくなってる。

    時代錯誤もいいとこでしょ。

    ここに返信
    • by Anonymous Coward

      SLOCはソフトウェアエンジニアリングの論文で普通に使われていますが、無意味だという指摘は画期的です

      • by Anonymous Coward

        SLOCに価値があるとしても、違う時期のものを比べてそれを根拠に生産性があがった下がったとやるのは無意味でしょう。
        言語やフレームワークが変われば、同じ機能を実装するのに必要な行数だって変わるんだから。

        • by Anonymous Coward

          論文読めない人なの?
          今回のIPAの発表は定性的なものなので、問題はありませんが?

          • by Anonymous Coward

            ん?論文どっかにアップされてる?プレスリリースにPDFがある以外は、特に見当たらないけど…?
            このPDFは問題のある使い方してるように見えるけど、もっと詳しく書いてある奴があるの???

      • by Anonymous Coward

        生産性を評価するために使っているのなら無意味ですね。

    • by Anonymous Coward

      scratchとかnode-redみたいなのって、どうやって測定することになるんだろう?

  • by Anonymous Coward on 2018年03月15日 19時55分 (#3377074)

    ソースコードの行数に対する機能・品質・価値の相関性を示した論文とかあるの?見せてほしいものだ。
    年々開発手法が変わってきているのに、20世紀の論文基準だと発表者の知性を疑うぞ。
    アセンブラで記述されたものを基準にして行数数えて見たらどうかね。

    フルスクラッチする必要性がなくなってきている分、オープンソース系のライブラリをリンクしていたりするんじゃないのかね。
    まぁ、オープンソースライセンスとうまく付き合っていかないと、人の作ったものをオレ、オレのとか言う奴がいっぱいいそうだ。

    # 次はバイナリサイズで生産性を決定してはどうかね。
    # Windowsはスタティックで気発領域領域確保したとしても、バイナリファイルには埋め込まれないけどな。

    ここに返信
  • by Anonymous Coward on 2018年03月15日 20時07分 (#3377079)

    そんなものやたら行数の大きくなるプロジェクトが減ったからだろ?
    産業家は賃金が上昇しないと生産性を上げるような固定資本に投資しないけど
    この場合はプログラマは一文字あたりの効用を最大にしたいだろうから
    必然的にPythonみたいに文字数の節約できる言語に移行するだろ
    JAVAの比率が下がったのが大きいと思う
    RADがいくら高機能でも文字数が大きいと見直したり修正するのが大変
    結果的に行数も節約されていったんじゃないか?
    効用面ではむしろ生産性が上がっている可能性が高いと思う

    ここに返信
  • by Anonymous Coward on 2018年03月15日 21時23分 (#3377100)

    ソースコード以外の成果物、例えば各種仕様書や計画書、テストレポートを含めるとどうなるんだろう?
    近年はこれらをしっかり書くよう要求されて、それに時間をとられr・・・いや、その結果無駄な手戻りをせずに済んでいるように思います。
    これら文書の量も含めると、むしろ昔よりも生産性が上がっているかも?
    #本音が漏れそうになった

    ここに返信
  • ってこととかね。

    ここに返信
typodupeerror

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

読み込み中...