個別最適化では残業はなくならない

以下の昨日の日記にレスをいただいた、ありがとう!
残業を悪とするチームを作るだけでは全く足りない - Change The Worlds
置かれている環境によって考え方や感じ方は異なると思うので、自分の置かれていた環境を書くと

  • 残業すればしただけ残業代がでる(=サービス残業はない)
  • 従業員が多い(wikipediaの定義では大企業になる)

である。
また、こちらにも書いていた回避策を邪道→覇道→王道の順に実施し、残業のない状態にすることもできている。

SIerにてエンジニアの残業を無くす方法 - ledsunの日記

ここで考えるのはSIerにてエンジニアの残業を無くす方法です。残業を無くすには労働生産性を上げればよい。

までは分かる。が、ここから繋がる

労働時間が月184時間以内で売上が今と変わらなければ、給料を上げない限り残業は無くなる。

の部分に疑問符が浮かんだ。殆どの会社は売上を拡大(=右肩上がり)しようとする。その現実とは異なる前提での話になっているので、その後の話に腹落ちできなかった。題名にも書いているが、残業をなくすには、経営者視点、中間管理職視点、現場視点等の全ての立場、つまり全体最適化をしないと、最適化されていない立場の人に不満がたまり、うまくいかない。ただ、力関係上、現場の不満は経営者はある程度抑えることができるというか、従わざるを得ない立場に置かれ易い*1ので、その限りではないのが…。
ただ、現場視点だけでの最適化

労働時間が月184時間以内で売上が今と変わらなければ、給料を上げない限り残業は無くなる。

では、残業はなくならないのではないかと思う。

残業をなくすためにすべきこと - ひがやすを blog

他から仕事がまわされてくるというのは、その仕事は、時間をかければ誰でもできる付加価値を生み出さない仕事だということです。正直言って、付加価値を生み出さない仕事をしている限りは、残業を減らすことはできません。

自分の仕事が『時間をかければ誰でもできる付加価値を生み出さない仕事』かどうかを自分で判断して決めるというのは手前味噌になると思う。その為、どんな仕事をしていたのか以下に記載するので、そこから読み手に判断して欲しい。『時間をかければ誰でもできる付加価値を生み出さない仕事』だと思ったのなら、そっとブラウザを閉じてもらいたい。『時間をかければ誰でもできる付加価値を生み出さない仕事』ではない、つまり、『時間をかけても誰にでもできる仕事ではない、付加価値を生み出す仕事』だと思ったのなら、『時間をかければ誰でもできる付加価値を生み出さない仕事』をしてなくても残業を減らすには『残業を悪とするチームを作るだけでは全く足りない』と判断してもらえば幸いである。

自分のしていた仕事

デスマーチ(=火をふいた)プロジェクトに人海戦術チームの次の一手として送り込まれ、対応する仕事をしていた。固有の名称があるのかもしれないが、Aチームと呼ばれていた。具体的な作業としては、デスマーチプロジェクトのアーキテクチャやコアの障害を取り除き、取り除いた後はデスマーチプロジェクトの火が鎮火するまで、拙い部分を一つ一つカイゼンしてプロジェクトの立て直しをする仕事だった。
例えば、対応したデスマーチプロジェクトにはこんなのだった。

  • ユーザからのシステムのリリース条件として、『同時に○○件の購入要求が来ても、全て××秒以内に応答が返ること』と契約書に書いてある
  • しかし、リリースまで後数日なのに、条件を全く満たせていない。このままではユーザから損害賠償として、○億要求される

という条件で、リリース条件を満たす為にアーキテクチャやソースの問題点を見つけていた。
他にも

  • ユーザからの要望としてリリース時間を『○時間以内に抑えること』と言われている
  • しかし、リリースするサーバの台数が増えてきたので、○時間以内に抑えることはムリ(とそのチームの人たちは思っていた)

という状況下で、○時間以内にリリース作業を抑えられる様にカイゼン点を見つけて、自分の手でそれを証明していた。
前者の例、後者の例どちらもユーザ(と社長と役員)から*2お褒め&追加発注をいただくことができたので、ある意味付加価値を生み出している仕事だったと思う。
前者の例の場合、自分は2時間で問題点を見つけ、無事リリース条件を満たせたが、アーキテクチャ部分を一から全部見直しをかければいつかは問題点にたどり着けるので、時間をかければ誰でもできる仕事だったと思う。ただ、その場合は、次の日がユーザに約束していたリリースの日だったので、時間をかけて自分ではない誰かがやっていたら、会社は損害賠償をしていただろう。
後者の例の場合、そのチームにいた誰も思いつかなかった、というか皆勝手に暗黙のルールと思い込んでいて、その条件を壊して良いものと誰も思わなかったものなので、時間をかければ誰でもできる仕事ではなかったと思う。

この時は残業していたけど、残業代は時間分もらっていたし、ボーナスが同じグレードでは常に最上位に入っていた。

というわけで、私の仕事が『時間をかければ誰でもできる付加価値を生み出さない仕事』だと思ったのなら、そっとブラウザを閉じてもらいたい。『時間をかければ誰でもできる付加価値を生み出さない仕事』ではない、つまり、『時間をかけても誰にでもできる仕事ではない、付加価値を生み出す仕事』だと思ったのなら、『時間をかければ誰でもできる付加価値を生み出さない仕事』をしてなくても残業を減らすには『残業を悪とするチームを作るだけでは全く足りない』と判断してもらえば幸いである。

残業をさせるとそれだけ費用がかかるため、会社としては、できるだけ社員を効率的に働かせ、残業はさせないようにするのが経済的なはずなのに。

とひがやすをさんが書かれている通り、現場レベルではともかく、全体の残業を減らす為には、他の人より生産性の高い人に支援をしてもらった方が良いのだ。他の人より生産性の高い人の残業時間は増えるが、全体の残業時間は減るので、経営視点からすればそれは採用して当然の一手になる。

『時間をかければ誰でもできる仕事ではない』仕事がプロジェクトのデスマーチの原因になっている場合、『時間をかけても誰にでもできない付加価値を生み出す仕事』をしている人もそういったデスマーチプロジェクトを鎮火する為に投入されるので、『時間をかけても誰にでもできない付加価値を生み出す仕事』をしていても残業は必ずしもなくならない。

以下でgothedistanceさんや自分が書いている通り、
残業をしない会社を作るために - GoTheDistance

残業を減らしたいなら全社的な取り組みでなければ効果は出ないというのが、僕の基本的な考え。

残業を悪とするチームを作るだけでは全く足りない - Change The Worlds

これは王道とも言えるものだが、会社の文化を変革することだ。つまり、『残業を悪とする文化を会社の風土にする』ということだ。

だろう。

gothedistanceさんは

ボトムアップでは無理。トップダウンでしか成し遂げられない。

と書いているけど、ボトムアップでも可能。というかやった。ただ、最終的にはトップダウンをしてもらったので、厳密には最初からトップダウンにするか、ボトムアップでトップの考えを変えるの2つの方法があるのだろう。

*1:自分みたいに反発する人は少数だろう

*2:社長と役員とユーザ以外からはどうだったかって? 言わせんなよ、そんなこと。口にも憚れることなんだから