システムエンジニアのデスマーチという言葉を聞いたことはありますか?
そもそもシステムエンジニアの主な仕事は、クライアントからソフトウェアのシステム要件をヒアリング、仕様の決定や設計図の作成、システム開発の工程管理など行いプロジェクトを進行していきます。しかし、日々発展するICT社会においてはITエンジニアが慢性的に不足し、人員が確保できずにプロジェクトメンバーの稼働時間が激増したり、リソースが限られる中でシステム要件が刻々と変化してしまうなど、さまざまな理由でプロジェクトは炎上していくのです。
結果、炎上したプロジェクトは「デスマーチ」と呼ばれることになります。今回はシステムエンジニアを悩ますデスマーチの原因や、防止方法について紹介していきます。
システムエンジニアが直面するデスマーチとは?
デスマーチとはソフトウェア開発などの現場において、納期が近づいているのに完成の見込みがなく激務が続く過酷な労働環境のことを表す言葉として用いられています。ここでは、デスマーチについて詳しく解説していきます。
デスマーチと化す案件の特徴
デスマーチになるプロジェクトにはいくつか特徴があります。
(1)ITエンジニアの人手不足
デスマーチになっているプロジェクトでは、ITエンジニアの数が必要な人数の半分以下になっていることがあります。ITエンジニア人材の需要高騰にも影響され、IT業界は重度の人手不足に陥っています。そもそも人手が足りていないため、ITエンジニアひとりひとりには膨大な作業量が割り当てられることが多く、デスマーチへと変化するのです。
(2)極端な短納期
ソフトウェア開発などの現場では、開発に与えられている期間が常識的な開発期間の半分以下というケースも珍しくありません。複雑化するシステムを短い納期で開発することは、もちろん簡単なことではありません。システムエンジニアの数が足りていても、納期までの時間が短いのであれば、過酷な労働は発生してしまうのです。
(3)低予算
要件をかなえるために必要なリソースを確保するための予算が、必要な分に対して半分以下ということもあります。予算が少なければ、リソースを割り当てることもできませんし、スムーズに作業を進めるための開発ツールや必要機器を導入することも不可能となります。
(4)仕様の変更
長期開発の案件に多い傾向にありますが、お見積り時点での要件から日々変化を続け、当初想定していた機能や性能の倍程度に膨れ上がることも少なくありません。最初に決められていた仕様から変化が発生するたびに、ソフトウェア開発の現場では負荷が増え続け、プロジェクトの進行が悪くなりがちです。
炎上プロジェクト!代表的なデスマーチ
デスマーチになると納期へ間に合わせるため、残業が増えて長時間労働になることがあります。納期までの期間を無理に設定してしまうと、担当のITエンジニアも通常の勤務時間では対応しきれず、時間外労働(残業)で対応しなければならないことでしょう。
さらに、時間外労働でも対応できない状況になると、次は休日も出勤するようになります。結果、時間外労働と合わせると、かなりの勤務時間になります。一般的には1ヶ月に20営業日あり、8時間働くとすると、160時間が勤務時間です。これが倍の320時間になると、残業時間が通常勤務時間を超えてきます。また、非常にまれな例として、デスマーチになると月に500時間労働する、かなり過酷なプロジェクトも耳にしたことがあります。
休みがなくなると連続出勤日数が長くなりますし、家に帰れない状況も生まれます。中には、会社の執務室やサーバールームで寝る人も出てきます。結果として、体調を崩してしまったり、突然出社しなくなってしまうなど、あまりよい結果にはならないでしょう。
デスマーチがなくならない理由
デスマーチが発生する理由には、一定の傾向があります。この傾向を知っておくと、自分が担当しているプロジェクトがデスマーチとならないか、対処しておくことが可能になります。
スケジュール・進捗管理がずさん
スケジュールや進捗管理がずさんとなる原因は、下記のようなものがあげられます。
・納期が足りない
要件定義のフェーズでクライアントが希望する納期設定に無理があった場合、受注するために未調整のまま進行すると限られた期間の中で開発を進めることが求められ、何か問題が発生してしまうと納期を守ることが困難となってしまいます。
・人手不足
納期を守るための人材が足りないと、予定の納期に合わせるのが難しくなります。予算とも関係しますが、人手不足の現代では人材の確保が難しく、一人あたりの労働時間が増加する要因となることでしょう。
・工数が少ない
見積の段階で工数の概算が少ないと、実際の作業工数と差が発生します。この結果、不足した工数を補うためにシステムエンジニアは、長時間労働に晒されることになりかねません。見積の段階での、各チームメンバーの能力を考慮して、工数を設定することが重要です。
・予算が足りない
十分な予算がないことも、デスマーチが発生する原因になりがちです。予算を抑えたまま進めてしまうと必要な人員の確保や、必要な開発環境の用意などが思うように進まず、デスマーチの要因の一つを残したまま進めてしまうことになりかねません。
顧客の要求が多すぎる
顧客からの無茶な要求が多いことでプロジェクトが炎上することがあります。開発工程やテスト工程の段階で何度も追加でお願いされるケースです。システム要件によっては前工程から見直す必要があるため、時間や人員をもう一度確保しなければいけません。
また、はじめに要求したシステムと開発側の間で認識にズレが生じており、プロジェクトの途中で仕様の変更になることもあるのです。こちらも納期が圧迫されてデスマーチになる可能性が高くなります。
このようなことを防ぐために、要件定義の細かいすり合わせが必要です。また顧客の要望もしっかりとヒアリングしてください。さらに自社の責任範囲も明確にしておくことで、開発途中の無茶な要求を防ぐことができるでしょう。
システム開発は顧客にも協力してもらう必要があるのです。
デスマーチから逃れるには
システムエンジニアがデスマーチを避けるには、いくつかのポイントを抑えておく必要があります。ここでは大きく分けて、ふたつのポイントをご紹介します。
無理な要請は相談し調整する
最初のヒアリングでは要件を最小限に整理し、調整を進めましょう。クリアすべき要件が重なったままではシステムエンジニアに負担をかけかねません。すべてできる会社を好む傾向が、発注側の企業にはありますが、クライアントの要求を整理してスリムに要件定義を進めることがポイントになります。
営業とのコミュニケーションで調整可能かどうか、相談をするのもよいでしょう。営業は現場の状況からクライアントの要件を整理し、調整を行うことができます。もちろんこれには、システムエンジニアが進捗状況を報告することも含まれます。
また、工数を見積もるためにクライアントとの打ち合わせにエンジニアが同行することで、現場側を把握した上で無理のないスケジュール調整が可能となります。
転職を考える
過剰なほどに仕事があると、前向きに取り組める人にとっては、スキルアップを目指す上でメリットかもしれません。しかし、クライアントや上司との間に挟まれて、無理難題を押し付けられている状態では、労働状況に問題が発生したり、精神的にもよくありません。
その為、スキルアップを図りながらも無理なく働ける会社への転職を考えるのもひとつの方法です。自分の意図にそぐわない業務を行わなくてもよく、エンジニアとして成長できる会社を見つけるとよいでしょう。簡単ではありませんが、転職することで、将来性を高めながら仕事ができるようになります。
また、デスマーチを防ぐ方法として、フリーランスや契約社員になるという方法があります。自分で仕事を獲得し、成果に応じて報酬を受け取ることになるフリーランスであれば、企業と対等な関係で仕事の契約を結ぶことが可能ですし、特定の条件で契約を結ぶことが可能な契約社員もやりたくない仕事や、不当な変更があれば、契約を破棄したり交渉をしたりすることができるので、企業によりますが、会社員のときから大きな改善が見込まれるでしょう。
まとめ
システムエンジニアとして働いているのであれば、ときには直面するであろうデスマーチ。仕事があるというのは、スキルを磨く上でよいのですが、健康面や精神面に与える影響を考えておきたいものです。
デスマーチばかりの案件であれば、無理な要請は早い段階から相談をする、もしくは健全に働ける会社へと転職するなどの行動が求められます。IT業界は人手不足が叫ばれていますので、会社を慎重に選ぶことで、希望する働き方ができる環境を作り出すことができるでしょう。