「納期前は残業地獄」があたりまえだと思ってない?残業ゼロのIT企業が実践している納期管理術

こんにちは、ニュージーランドで働くプログラマのはっしーです。

僕は以前、日本のあるIT企業でシステムエンジニアとして働いていました。当時の職場はめちゃくちゃ残業が多く、とりわけ開発しているシステムの納期直前になると、終電にすら間に合わず会社で寝泊まりする事態が頻発していたんです。

そのとき僕は何度もこう思いました。

「どうしてもっと余裕をもって納期をむかえられないんだ?」と。

上司や先輩たちは、

「IT業界なんてそんなもんだよ」
「納期前は忙しくなるのがあたりまえ」

とばかり言ってましたが、その考えにはいつも疑問を感じていました。その後ニュージーランドのIT企業に転職し、納期前の残業がまったくない生活を手に入れて僕は確信しました。

いつも納期に追われて残業していたのには、実にシンプルな理由があったのです。

今回の記事では、

  • 残業ゼロの会社がどう納期を管理しているのか
  • 納期前の忙しさから抜け出すにはどう行動すればよいのか

について、詳しく解説していきます。では中身にいってみましょう!

厳しい納期など、作ってはいけない!

なぜ僕の会社には納期前の残業がないのか。

それは「厳しい納期がないから」にほかなりません。「いつまでに、これとこれとこれを完成させなければいけない」という詳細なスケジュールを作ってしまうからこそ、納期前のバタバタが発生するのです。これにはIT業界ならではの特徴が関係しています。

システム開発、特にソフトウェア開発プロジェクトは、正確な作業量を見積もるのがとても難しい仕事なのです。

まず、作業量の見積もりが簡単な仕事を考えてみましょう。たとえば「ダンボール100個分の荷物を、トラックで東京から大阪まで、5時間以内に運ぶ」という仕事があるとします。

この場合、トラック1台で運べる荷物の量と、東京から大阪までの所要時間がわかれば、簡単に作業時間が計算できます。

トラック1台でダンボール20個が運べて、東京から大阪までぴったり片道5時間だとすれば、100÷20=5台のトラックを用意すれば5時間でおさまることがわかりますね。

ではソフトウェア開発の場合はどうでしょう。

荷物運搬のたとえに合わせて「100個のプログラムを、半年以内に作る」と仮定します。どうすればこのプロジェクトを成功させられるのでしょうか?

まず、「100個のプログラム」といっても同じものは一つとしてありません。

1日で作れるものもあれば、2週間かかってやっと完成するものもあるでしょう。さらに、作るプログラマの力量も一人ひとり違います。

優秀なプログラマは平凡なプログラマと比べて生産性が100倍違う、なんて説もあるくらい。誰にどんな作業をやらせるかによってもスピードが大きく変わってしまうのです。

そして、作業ごとに依存性があるのも大きな特徴です。

家を建てるときに屋根より先に柱を作らなければならないように、ソフトウェア開発にも「このプログラムを作らないと次のプログラムが作れない」という制限があります。

このせいで、作業の工程管理そのものが非常に複雑になってしまうのです。

システム開発がとんでもなくややこしい仕事だということがおわかりいただけたでしょうか?

これだけ複雑なのだから、半年や1年先のことまで予見して納期を設定できると考えること自体おかしいのです。厳しい納期を作ってしまうと、ほぼ確実に失敗することがわかります。

「ゆるい納期」で作業をコントロールする

とはいえ、まったく納期がないビジネス案件はありません。僕の会社にも一応は「この機能をいつまでにリリースしよう」という期限は存在します。

ただし、それは「めちゃくちゃゆるい納期」なんです。めちゃくちゃゆるい納期とは、「どう考えても失敗しないほど余裕のある納期」と言い換えることができます。

たとえば、だいたい1週間あれば間に合いそうな案件に対して1ヶ月後の納期を設定してしまうんです。途中で想定外のトラブルがあっても、さすがに3週間も余裕があれば間に合うだろってわけです。ではプログラマはその間ダラダラ仕事をしてるのか? というとそんなことはありません。

ゆるい納期は、最優先の案件に対して設定しているだけなんです。

1ヶ月後に、最優先の案件は必ず完成してリリースする。もし余裕があれば、次に優先すべき案件もリリースする。さらに余裕があれば、その次に優先すべき案件もリリースする、という感じです。

このようにすれば、絶対に守らなければいけない仕事はほぼ確実に終わるので、納期前の残業は発生しません。

しかしやるべきことは依然として残っていますから、プログラマもダラダラするわけにいかず、緊張感をもったまま仕事を続けられます。

さらに、もしリリース直前に深刻な問題が見つかったとしても、最優先の案件以外は先送りできるというメリットもあります。

実際に一度、僕が担当していたプログラムがどうしても次のリリースに間に合わない状態になったことがありました。

これはいよいよ残業しなきゃだめか……と青ざめながら上司に相談したところ

「最優先のものは終わってるんでしょ? じゃあ来週ゆっくり直して、次のリリースで出せばいいよ」とあっさり言われて、拍子抜けしちゃいました。

ゆる〜く納期を設定することが、残業のない職場を作るポイントだったのです。

ゆるい納期の世界で働くために必要なこと

はっきりいうと、会社が扱っている仕事によって「ゆるい納期」が使えるかどうかは決まってしまいます。

「ゆるい納期」で仕事ができるのは、システムを少しずつ開発しながら継続的にリリースできる職場に限られると言っていいでしょう。

たとえば自社開発のWebサービスやスマホアプリをメイン事業としている会社ですね。

僕がかつて残業に苦しんでいた職場では、クライアントからシステム開発の仕事を請け負うビジネスを主に行っていました(システムインテグレータ = SIerと呼ばれる業態です)。

こうした仕事だと、得てしてクライアント側の立場が強く、要求された内容をひとつ残らず期限までに納品しなければならなくなる場合が多いです。結果的に「厳しい納期」のもとで働かざるを得なくなります。

また大企業の下請けとしてコーディングを請け負っている会社でも、絶対に死守しなければいけない納期のもとで仕事をすることが多くなりますね。

こうした職場では、よほどのビジネスモデル転換が起きない限りは「ゆるい納期」で働くのは難しいです。

僕の以前の会社でもたくさんの下請け企業にコーディングを発注しており、それはそれは大変な残業をさせてしまいました。体調を崩してIT業界を去った人も多いと聞いており、今でも申し訳ない思いがあります。

もしあなたがいま「厳しい納期」のもとでいつも苦しい働き方を余儀なくされているのなら、それは自分ひとりでなんとかなる問題ではない可能性が高いです。

一刻も早く「ゆるい納期」の会社に転職することを強くおすすめします。

仕事の内容そのものは「厳しい納期」でも「ゆるい納期」であってもさほど変わりません。「厳しい納期」での業務経験があれば、同じ業界の「ゆるい納期」の会社に転職することはそこまで難しくはないでしょう。

また「ゆるい納期」の会社の方が、仕事に余裕があるのでさらなるプロセス改善に取り組んでいたり、業務時間内に勉強する時間が取れたりと、スキルアップする機会に恵まれている場合も多いです。

どうせなら少しでも待遇がよく、成長できる職場で働きたいですよね。

納期前の残業をあたりまえのものとして我慢するのではなく、もっと良い環境を求めて転職するのも、選択肢のひとつとして考えてみてください。

それではまた次回!

最新情報をチェックしよう!
>TeamHackで、タスク管理を驚くほどラクに。

TeamHackで、タスク管理を驚くほどラクに。

TeamHackは、タスク管理とチャットが同時にできる「業務コミュニケーションのしやすさ」に特化したオンラインワークスペースです。コミュニケーションツールとタスク管理ツールを行ったり来たりして、二重に管理の手間がかかる問題をスッキリ解決します。

CTR IMG