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

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

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

9回答

15786閲覧

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

sh1-tera

総合スコア85

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

3グッド

23クリップ

投稿2015/06/11 06:41

編集2015/06/17 05:55

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

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

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

こういうデータや考え方についてなにか知っている人いましたら、教えてください。
よろしくお願いします。

stereo_code, Gogetsu_azusa, afroscript👍を押しています

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答9

0

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

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

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

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

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

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

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

の4つを挙げています

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

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

投稿2015/06/11 15:42

takito

総合スコア3111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/12 00:01

回答ありがとうございます > トム・デマルコ著「ゆとりの法則」 これは読んだことがありませんでした。 少し興味がでた+とても安価なので、通勤時間などで読んでみたいと思います。 Amazonの「ゆとりの法則」 http://goo.gl/H7JgCP これは余談(雑談)になってしまうのですが、ITの仕事はブラックうんぬんは、ネタを含めて日本では年中話題が尽きることなく、Twitterなので自虐している印象なんですが、意外とこうしたデータを試しでも取っている人は少ないのでしょうか……。なぜなのかは少し興味のあるところです。
guest

0

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

投稿2015/06/11 09:10

MasaakiIrie

総合スコア1021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasaakiIrie

2015/06/11 09:32

私は残業は1秒でも非効率だと思ってます。 時間をお金と考えて、残業は貯金だと考えると 範囲内の時間に終えるのは、手持ちのお金で済ませることになりますが 範囲外の時間を使うのは、貯金を使うのと同じと考えると、1秒=1円でも減れば 貯金はいつかなくなります。
sh1-tera

2015/06/11 09:52

回答ありがとうございます。 たまたま自分が見たものと同じURLのデータでした。 コストの点からみた、上役っぽい意見ですね。 自分はまだまだプログラマなので、お金のコスト意識は低いです。 ただ、自社の上司はやはり、若いうちはたくさん残業をして~とか、開発が忙しいときは土日出てでも~とか、いっちゃう人で、目下の人には大体言ってます。 お前のたてたスケジュールがボロボロな点についてはどやねんと思いますが、それもあってそうした発言が地味にストレスです。 なので、ひとまず具体的にプログラマは残業によって一週間の仕事量が、残業しないときより下がる資料とかあるのかなーと気になっています。
MasaakiIrie

2015/06/11 15:02

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

2015/06/12 00:19

やっぱりそういう感じになってしまうのですね。 悲しいですが、現実的な問題なのでその点は仕方なしです。 > 会社のコストを考えると残業をするほうが良い これも個人的愚痴なんでしょうが、この部分になにか納得のできる考え方が自分にもできれば、ある程度作業的なモチベーションを保てる気もします。 なんにせよ、命令のある長期的な残業について、自分の中に納得のできる何かしら、もしくは、変な話ですが自分を自分で騙す心理的トリックだったり、精神安定剤的な何かしらの考え方でも知れれば良いのです。 また、言うまでもない蛇足ですが、修行は新しい勉強をするほうを指しているのを希望したいですね。
MasaakiIrie

2015/06/12 00:39

会社のやり方に疑問を持ったときは、 海外の企業に行くか、フリーランスになるか、自ら起業するの3拓ですね。 >会社のコストを考えると残業をするほうが良い この裏を返せば、それだけ会社に貢献できる = 世界に貢献できるて事ですね。 でも健康管理も自己責任なので、ほどほどに頑張りましょう。
guest

0

こんにちは。

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

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

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


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

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

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

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

投稿2015/06/18 05:33

編集2015/06/18 05:46
Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/18 07:19

回答ありがとうございます。とても面白かったです。 モチベーションとプレッシャーの考え方は共感できる点が多く、こうなるこうなるという感じでした。さすがに、プログラマー寄りな意見にも思いましたが :) また、参考文献にDeMarcoさんが出てきましたが、ある程度背景のある人物を挙げてくれているのも、完全に著者の中ではな、って話に落ちていなそうでよかったです。個人的には、以下のあたりが面白かったです。 > "Sure, motivation decreases as you crank up …… 残業とバグ発生率で示すというのは、なるほどと思いました。 ISOの取得で、品質管理は自分は資格を取ったり、会社に理解があります。このあたり品管役職と話してみたいと思います。 ※部分はそのとおりですね。 ちょっと意地悪く引用するなら、以下の部分でしょうか。私は研究職なのもあって職員の性格の癖が強くあり、その部分で理解が深いです。いつもより効率でてないね、と言われたときは、回答してみたいと思います。 > In track and field events, distance ……
guest

0

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

![イメージ説明]WIDTH:600

投稿2015/06/26 13:43

omatsu

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/29 00:49

回答ありがとうございます。 気づくのが遅れてしまいました。 資料を読んだことがないのためにどういう時に出てきたグラフなのか、ちょっと良くわからないのが残念ですが参考になりました。 出典元は割と読まれている参考書のようですね。Kindle化もしているので、今読んでいるものが終わったら手を付けてみたいと思います。 デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか http://goo.gl/d1Ae7R (中古で1000円弱でした)
guest

0

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

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

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

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

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

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

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

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

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

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

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

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

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

投稿2015/06/16 13:03

YasuhiroMiyake

総合スコア1336

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/17 05:52

回答ありがとうございます。 どうも、データや書籍などの参考というよりも、各位から自分へのアドバイスの場になってしまったような気がします。 ざっくりすると、要領よくやれ、といった意見だと感じました。それが正しいと思います。ただ、やはりデータや実験結果があるならぜひ参考に一読したくもあります。 自分が書いた以下のところは余計だったと感じています。 個人的にはグラフや参考資料に繋がることを期待した状況だったのですが、あまり上手く繋がりませんでした。 >例えば、短期的に処理できるけど一日ではちょっとギリギリ無理な問題であれば、ちょっと残業すれば解決するし残業が有効だと思っています。 >一、二週間くらい頑張ってやれば終わるものも、そのあと有給を使うなら、大体の人ならやらなくもないと思います。 >しかし、長期的開発でも、慢性的に残業して解決するものが現実にあります。 >ただ、これは一週間二週間と時がたつにつれ、ささいなヒューマンエラーも起きるし、コードの品質も落ち、コードを書くスピードやモチベーションも明らかに低下してきます。 >明らかに休憩時間が増えてるけど、残業時間は変わらずで、結果的にこの開発はどうなのだ、と疑問に自分は感じます。
guest

0

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

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

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

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

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

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

投稿2015/06/16 06:46

aoshanghai

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/16 08:09

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

0

こんにちは。

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

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

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

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

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

投稿2015/06/16 06:11

1st_resolution

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/16 07:55

回答ありがとうございます。 質問の趣旨とは少しずれているかなと思いましたが、参考になりました。
guest

0

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

投稿2015/06/17 06:52

編集2015/06/18 05:21
NaokiImazu

総合スコア127

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2015/06/16 10:10

NaokiImazu

総合スコア127

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sh1-tera

2015/06/17 04:18

回答ありがとうございます。 個人のパフォーマンス推移は、その人に因ることが第一義だ、という意見だと思いました。 例えば以下。この40時間も、人によって違うから、個人で見ると意味のないものだよということでしょうか。または、長期労働者の健康ガイドの種々グラフも、個人で見ると、考え方は違うということでしょうか。 私は少し乱暴な意見に思いました。または、個人の主観からの意見だと感じました。常に100%のベストパフォーマンスを求めるわけでもないので、たぶん別の事柄への意見である気もします。 > 1900年代初めに、フォード自動車は労働生産性を高める労働時間について、何十もの検証をし、もっとも効率的な時間「Sweet Spot」が40時間であることを発見した。
NaokiImazu

2015/06/17 06:54

>個人のパフォーマンス推移は、その人に因ることが第一義だ、という意見だと思いました。 日本代表もそうですが、監督やリーダーシップは大事です。 >人月の神話などの教訓もあると思うのですが、どのくらいやるとどのくらい一人のプログラマーのアウトプットが落ちるのかなどのグラフやデータはあるのでしょうか。 >コーディングする文字数の低下や、工数などの単位で示されているグラフはあるのでしょうか。 コーディングの文字数がアウトプットって思っている事自体間違いですし、工数はもし増えれば工数の見積り間違いです。 要するに『ない』が答えだと思います。今までの回答にも明確なものはないですよね? フォード自動車はあくまでフォード自動車内部の話です。 10人チームでやるか、3人チームでやるか。 例えばゲームなら短期間でリリースなので、やらないといけないです。 その部分からすると失礼だけど『何を甘いことを言っているんだ』とも思いました。 自分を対象にするのはなぜ悲しい事なのでしょうか? 皆自分を対象にして頑張ってる事だと思います。 プログラマーのアウトプットって何か? クリエイティブに考えるのか、 単純作業と考えるのか。 単純作業なのだとすると答えはあると思います。 僕も知りたいのでこの後の回答にも期待したいですね。 最後にそれがもしわかったとしてどうするつもりでしょうか? 自分に当てはめるつもりなら僕はお勧めしません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問