質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.04%

残業とプログラミングの効率について

受付中

回答 9

投稿 編集

  • 評価
  • クリップ 23
  • VIEW 13K+

sh1-tera

score 75

プログラマーの残業についての質問です。

人月の神話などの教訓もあると思うのですが、どのくらいやるとどのくらい一人のプログラマーのアウトプットが落ちるのかなどのグラフやデータはあるのでしょうか。
コーディングする文字数の低下や、工数などの単位で示されているグラフはあるのでしょうか。
この辺について、自分を実験台にするのは悲しいので、参考に知りたいです。

例えば、ちょっと違いますが睡眠時間はこういうのがありました。
http://laugh-raku.com/wp-content/uploads/2013/05/7ae61a6d2298f57c5a19f9a46b49e7531.png


こういうデータや考え方についてなにか知っている人いましたら、教えてください。
よろしくお願いします。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 9

+13

ちょっと探してみましたが、そういったデータは見つけることはできませんでした

ただ・・・時間外労働のプログラミングの生産性について書かれた本ならありますね

「人月の神話」をご存知なら、トム・デマルコ著「ゆとりの法則」(日経BP社)はご存知でしょうか?

その本にはこうありました(以下「」は同書からの引用です)

「短期集中労働(スプリント)と、だらだらとした時間外労働を続けること、の2つは区別が必要だ。」
「完成がコントロールされている場合に限り、たまにあるスプリントは意味がある。」
「フルマラソンの最後にダッシュすることは意味あるが、すべてをスプリントで走り切ろうとすることはまったく意味が無い。」

また、だらだらとした時間外労働がもたらす影響について

「品質の低下、人材の燃え尽き、離職率の上昇、通常の勤務時間における非効率的な時間の使い方」

の4つを挙げています

その他、生産性計算のからくり、管理者によるプレッシャーや脅しによる影響等、
いろいろと書かれていますがまとめるのが下手なのでこんなところで・・・

どのようなデータに基いているか等は書かれていませんでした(原書にはあるのかも?)が、
もしまだお読みでないようでしたら読み物としてもおもしろいのでお勧めします

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/12 09:01

    回答ありがとうございます
    > トム・デマルコ著「ゆとりの法則」

    これは読んだことがありませんでした。
    少し興味がでた+とても安価なので、通勤時間などで読んでみたいと思います。

    Amazonの「ゆとりの法則」
    http://goo.gl/H7JgCP

    これは余談(雑談)になってしまうのですが、ITの仕事はブラックうんぬんは、ネタを含めて日本では年中話題が尽きることなく、Twitterなので自虐している印象なんですが、意外とこうしたデータを試しでも取っている人は少ないのでしょうか……。なぜなのかは少し興味のあるところです。

    キャンセル

+6

このようなのですか?
http://laugh-raku.com/archives/2223

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/12 00:02

    残念ながら、上長の意見も正しいといえます。
    (ここだけの話)会社のコストを考えると残業をするほうが良いからです。
    効率、非効率の問題ではなく、残業多いとコストが下がるて間違った考えが
    しみこんでる企業ではどんなデータも無力です。
    上司がスケジューリングできないのであきらめるしかないです。
    なので、1、2年は修行と捉えて自分の実力を伸ばすために頑張るほうが良いです。
    これは私の個人の勝手な意見です・・・

    残業せずに、時間を作るのは新しい勉強をするためです。

    キャンセル

  • 2015/06/12 09:19

    やっぱりそういう感じになってしまうのですね。
    悲しいですが、現実的な問題なのでその点は仕方なしです。

    > 会社のコストを考えると残業をするほうが良い

    これも個人的愚痴なんでしょうが、この部分になにか納得のできる考え方が自分にもできれば、ある程度作業的なモチベーションを保てる気もします。
    なんにせよ、命令のある長期的な残業について、自分の中に納得のできる何かしら、もしくは、変な話ですが自分を自分で騙す心理的トリックだったり、精神安定剤的な何かしらの考え方でも知れれば良いのです。

    また、言うまでもない蛇足ですが、修行は新しい勉強をするほうを指しているのを希望したいですね。

    キャンセル

  • 2015/06/12 09:39

    会社のやり方に疑問を持ったときは、
    海外の企業に行くか、フリーランスになるか、自ら起業するの3拓ですね。

    >会社のコストを考えると残業をするほうが良い
    この裏を返せば、それだけ会社に貢献できる = 世界に貢献できるて事ですね。
    でも健康管理も自己責任なので、ほどほどに頑張りましょう。

    キャンセル

+3

こんにちは。

結構な数が投稿されているので重複してしまったらすみません。
私も非常に興味がある議題です。

そもそもプログラマーの生産性を指標として示すのがひとつ課題ですよね。
ステップ数でしょうか?機能数?画面数?
統一した答えを出すのがなかなか難しいのが生産性だと思います。
ですので期待する資料が見つかりにくいのかもしれませんね。

私の個人的見解では、残業と生産性を結びつけるのは上記のほかにも色々と課題が多いと思います。
若干議題から逸れてしまいますが、資料で示す場合は、
「残業とバグ発生率」を結びつけるのが最も効果的かもしれません。
(既に品質について触れてらっしゃる方も数名いらっしゃいますが。)


残業とバグ発生率の図ならばあるだろう、と思っていたのですが見当たりませんでした。
代わりに以下のようなのを見つけたのでご紹介しておきますね。

http://www.stevemcconnell.com/rdvolot.htm

もちろんどこかの公式的なものではないと思いますが、
軽く見た感じでは「場合によって適度な残業は効率的なこともあるよ」ってことのようです。

※日本の企業文化に該当するのかは謎ですが。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/18 16:19

    回答ありがとうございます。とても面白かったです。

    モチベーションとプレッシャーの考え方は共感できる点が多く、こうなるこうなるという感じでした。さすがに、プログラマー寄りな意見にも思いましたが :)
    また、参考文献にDeMarcoさんが出てきましたが、ある程度背景のある人物を挙げてくれているのも、完全に著者の中ではな、って話に落ちていなそうでよかったです。個人的には、以下のあたりが面白かったです。
    > "Sure, motivation decreases as you crank up ……

    残業とバグ発生率で示すというのは、なるほどと思いました。
    ISOの取得で、品質管理は自分は資格を取ったり、会社に理解があります。このあたり品管役職と話してみたいと思います。

    ※部分はそのとおりですね。
    ちょっと意地悪く引用するなら、以下の部分でしょうか。私は研究職なのもあって職員の性格の癖が強くあり、その部分で理解が深いです。いつもより効率でてないね、と言われたときは、回答してみたいと思います。
    > In track and field events, distance ……

    キャンセル

+1

こんにちは。

従事していらっしゃるプロジェクトの工程表はご覧に
なってますか。
そして工程表に進捗を記載して開発状況をリーダー・
メンバー全員で把握できているでしょうか。

他社の開発作業ペースを気にしても隣の青芝です。

貴兄の他プロジェクトに属する同僚や腹を割った話が
できる先輩に進捗状況を記載した工程表を見せてもらう
のが1番だと思います。

それで、自分が同僚より劣っていれば頑張るしかないですし
自分の能力が優れていれば、今のプロジェクトが終了次第、
条件の良い会社に転職してみてはいかがでしょうか。

私の過去最悪記録は半年間、毎月家に帰ることができたのは
3日。1日15時間労働でした。
『これ失敗すると会社の次のボーナスが出せない』
って言われても...
そんな業界昔話です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/16 16:55

    回答ありがとうございます。

    質問の趣旨とは少しずれているかなと思いましたが、参考になりました。

    キャンセル

+1

確か、国の規程で、残業が70時間を超えると、健康に悪影響がでるので、
それ以上は控えるように、といったものがあったかと思います。

なので、70時間が1つの目安になると思います。

毎月の残業時間が70時間を越えて、さらに、何ヶ月も続いて、
その結果、その人が病気になったりしたら、会社側に非があると
みられると思います。
つまり、もし裁判になったら、会社が負ける可能性が高いと
思われます。

ちなみに、私は、ソフト開発の仕事を17年ほどやっていますが、
最近は、もう若くはないので、月40~50時間の残業が自分の身体的
限界に近いと考えております。
ちなみに、残業代はでません。

入社してから、今まで、おそらく、30~100時間の残業を続けてきたと
思います。
そして、2,3年前、結構忙しい時期が長くつづいたのですが、
その頃は、頭痛がひどくなって、ヘルニアを患いました。
ガマンして続けていたら、昨年、突発性難聴と後遺症の耳鳴りを
発症しましたので、とても、後悔しております。
ヘルニアも耳鳴りも治りません。
一生付き合わないといけません。
また、耳の神経が調子悪くなっていると思われるので、
おそらくですが、歳をとるとともに、耳の聞こえが悪化する可能性も
高い気がしております。
現在は、耳閉感が少しありまして、たまに悪化するので
恐怖を感じておりますね。

なので、自分の体と精神が許容できる範囲で頑張るのが良いと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/16 17:09

    回答ありがとうございます。

    質問の趣旨とは少しずれているかなと思いましたが、参考になりました。
    持病になるとつらいですね。気を付けたいと思います。
    私は社会人になってから、運動不足がすぐに気になって、週1、2回程度ジムに通うようにしました。姿勢や各部の筋肉量などを隔月で管理して数年です。
    日常の仕事も、体力はあるほうが安定した効率の仕事ができている気がします。

    キャンセル

+1

質問されてる気持ちはわかります。
ですが、明確な答え(本人の納得出来る)が見つかった場合はどうなされるのでしょうか?

立場や見方によって残業の考え方が変わってくるのは他の方のコメントを見て感じているのではないでしょうか。

例えば、元々納期は1ヶ月しかなくて、でも仕事量は1.2人月ある場合はPMが納期をコントロールするか、SE•PGが残業して完成させる必要が出てきます。
人月単価が100万円だったとすれば120万円の売上になりますが、残業代を差し引いても会社としてはリスクが高くなければ受注するメリットがあります。
恐らくはパフォーマンスが1,2割落ちても採算が合うような見積もりになっているのではないでしょうか。


次はPGの目線から書いてみます。
この辺りが気になる頃には、新入社員とは違ってちょっと仕事が出来るようになっている段階だと思います。
しかしまだ1人でプロジェクトを任されたりというよりは上司の元でというケースが多い時期でしょう。

この時期は安定した見積もりや経験不足による危機回避がなかなか難しい方が多いのではないかと思います。

ここに関しては、大企業は分かりませんが中小企業では形式的な学習方法もなく経験を増やすことで成長することを期待されてるケースが多いのではないでしょうか。

その辺りが関係して若いうちはたくさん働くことを推奨されるような方がいるのだと思います。

話を元に戻します。
品質低下については、実は残業時間と比例してるとは感じません。
この場合の残業は、前提として計画されている残業のことです。
作業が終わらないから行う残業とは違うと考えて下さい。

もちろんトラブルなので、計画を超えた残業が必要になればケアレスミスが増えるのは必然です。

そのため、自分自身の作業量と実際に任された仕事量がどれぐらい差があってそれが1日辺り何時間程度になるのか、考えてみて下さい。
もし残業を平均2時間必要ならその時間内は期待されたパフォーマンスが発揮出来るように目指すことでケアレスミスも少なくなるのではないでしょう。

モチベーションは人間なので、上がったり下がったりはあると思いますが、極端な波が出ないようにコントロールするのもプロの仕事だと思いますよ。

せっかくなので、スケジュールに振り回されるのではなく、スケジュールをコントロールする側を目指して下さい。

真面目な人ほど鬱などになりやすい業界ですので、ほどほどに。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/17 14:52

    回答ありがとうございます。
    どうも、データや書籍などの参考というよりも、各位から自分へのアドバイスの場になってしまったような気がします。

    ざっくりすると、要領よくやれ、といった意見だと感じました。それが正しいと思います。ただ、やはりデータや実験結果があるならぜひ参考に一読したくもあります。

    自分が書いた以下のところは余計だったと感じています。
    個人的にはグラフや参考資料に繋がることを期待した状況だったのですが、あまり上手く繋がりませんでした。

    >例えば、短期的に処理できるけど一日ではちょっとギリギリ無理な問題であれば、ちょっと残業すれば解決するし残業が有効だと思っています。
    >一、二週間くらい頑張ってやれば終わるものも、そのあと有給を使うなら、大体の人ならやらなくもないと思います。
    >しかし、長期的開発でも、慢性的に残業して解決するものが現実にあります。
    >ただ、これは一週間二週間と時がたつにつれ、ささいなヒューマンエラーも起きるし、コードの品質も落ち、コードを書くスピードやモチベーションも明らかに低下してきます。
    >明らかに休憩時間が増えてるけど、残業時間は変わらずで、結果的にこの開発はどうなのだ、と疑問に自分は感じます。

    キャンセル

+1

こういうのですか?ソフトウェア工学系のプレゼンの資料にあったのを思い出したので。
信憑性についてはなんとも言えませんが。まぁ程よく働きましょうということですね。

イメージ説明

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/29 09:49

    回答ありがとうございます。
    気づくのが遅れてしまいました。

    資料を読んだことがないのためにどういう時に出てきたグラフなのか、ちょっと良くわからないのが残念ですが参考になりました。
    出典元は割と読まれている参考書のようですね。Kindle化もしているので、今読んでいるものが終わったら手を付けてみたいと思います。

    デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
    http://goo.gl/d1Ae7R
    (中古で1000円弱でした)

    キャンセル

-2

間違えて投稿したので削除致します

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-6

これはちょうどサッカーと同じ事が言えると思います。
例えば日本代表とブラジル代表。
メッシぐらいにパフォーマンスを出す人と
走ってなんぼの人もいます。
開発手法などにも変わってきます。
高専の情報科の先生によれば100%出せればノーベル賞ものなんだそうです。
ちなみにインターネットのダウンロード速度も同じ事が言えるそうですよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/17 13:18

    回答ありがとうございます。

    個人のパフォーマンス推移は、その人に因ることが第一義だ、という意見だと思いました。
    例えば以下。この40時間も、人によって違うから、個人で見ると意味のないものだよということでしょうか。または、長期労働者の健康ガイドの種々グラフも、個人で見ると、考え方は違うということでしょうか。
    私は少し乱暴な意見に思いました。または、個人の主観からの意見だと感じました。常に100%のベストパフォーマンスを求めるわけでもないので、たぶん別の事柄への意見である気もします。

    > 1900年代初めに、フォード自動車は労働生産性を高める労働時間について、何十もの検証をし、もっとも効率的な時間「Sweet Spot」が40時間であることを発見した。

    キャンセル

  • 2015/06/17 15:54

    >個人のパフォーマンス推移は、その人に因ることが第一義だ、という意見だと思いました。

    日本代表もそうですが、監督やリーダーシップは大事です。

    >人月の神話などの教訓もあると思うのですが、どのくらいやるとどのくらい一人のプログラマーのアウトプットが落ちるのかなどのグラフやデータはあるのでしょうか。

    >コーディングする文字数の低下や、工数などの単位で示されているグラフはあるのでしょうか。

    コーディングの文字数がアウトプットって思っている事自体間違いですし、工数はもし増えれば工数の見積り間違いです。

    要するに『ない』が答えだと思います。今までの回答にも明確なものはないですよね?

    フォード自動車はあくまでフォード自動車内部の話です。

    10人チームでやるか、3人チームでやるか。

    例えばゲームなら短期間でリリースなので、やらないといけないです。

    その部分からすると失礼だけど『何を甘いことを言っているんだ』とも思いました。

    自分を対象にするのはなぜ悲しい事なのでしょうか?
    皆自分を対象にして頑張ってる事だと思います。

    プログラマーのアウトプットって何か?
    クリエイティブに考えるのか、
    単純作業と考えるのか。

    単純作業なのだとすると答えはあると思います。
    僕も知りたいのでこの後の回答にも期待したいですね。

    最後にそれがもしわかったとしてどうするつもりでしょうか?
    自分に当てはめるつもりなら僕はお勧めしません。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる