品質保証者の憂鬱「鉄釘から始まる人間論」

| 4 min read
Author: shuichi-takatsu shuichi-takatsuの画像

4月、5月はプライベートがかなり忙しく、前回の投稿から1か月ほど期間があいてしまいました。
今回は少し軽いお話(テーマは重い)をしたいと思います。

デスマーチでリタイヤ者続出

#

私は長くソフトウェア開発の仕事をしてきましたが、製品・サービスを納期通りにリリースできたプロジェクトの数は片手で数えても余ります。

納期通りに製品・サービスをリリースできなかった原因は様々です。

  • そもそも見積もりが甘い。
  • 技術要素を詰めきれていない。
  • 人材が足りない。
  • そもそもスキルがない。
  • 幾度となく襲いかかる仕様変更。

などなど。
理由を上げていけばきりがありません。
無理な要求を詰め込んだプロジェクトが進行していけば、自然と長時間労働に行き着きます。
長時間労働が続けば肉体的にはもちろん、精神的な疲労が蓄積されていき、ある閾値を超えたところで何かが「折れる」ことになります。
(厚生労働省のデータ(令和4年6月9日発行)によると、精神疾患を有する総患者数の推移は増加傾向にあるようです。)

私が過去に参加したプロジェクトの中には、納期は遅れまくり、品質はボロボロ、正常な管理が出来ず、プロジェクトに参加したメンバが肉体的プラス精神的な理由で途中リタイヤする地獄のようなプロジェクトが多々ありました。
上記のような悲惨な状態のプロジェクトのことを「デスマーチ」と呼んでいます。

デスマーチとは「死の行進」という意味で、ソフトウェア開発プロジェクトで非常に厳しいスケジュールとリソース制約の下で作業を進めることを指します。このような状況では、チームメンバは常に過剰な労働を強いられ、過度のストレスや疲労にさらされます。

デスマーチは、開発チームが計画や見積もりを誤った場合、または予期しない問題が発生した場合に発生する傾向にあります。
そんな状態にも関わらず、プロジェクトマネージャや上位管理職が適切な措置を講じず、チームメンバが過剰な負荷を背負うことになる場合があります。
私が社会人に成り立ての頃は、ソフトウェア開発チームの上位管理職の人がハードウェア開発畑出身ということも多く、ソフトウェア開発に対する理解も乏しいことが多かったです。

デスマーチの結果として、チームメンバのモラルは低下し、ストレスや疲労による健康問題を引き起こす可能性が高まります。

旧友と再開

#

そんなバリバリの現役ソフトウェア開発者時代に、大学時代の旧友と再開しました。
(以後、旧友のことを「A氏」と称します)

A氏は大学で機械系の学科を専攻し、私は電気系の学科を専攻していたので、大学の授業で直接顔を合わせることは殆どありませんでしたが、同じサークルでお世話になった関係でした。

会社で製作している電子機器のほとんどがソフトウェアを搭載していました。
よって、機械屋のA氏が参加していたプロジェクトでもソフトウェア開発チームが日々奮闘していました。

A氏が参加しているプロジェクトも他のプロジェクト同様にかなり忙しく、納期プレッシャーが半端ない状態で、開発メンバの何名かが「やむを得ない事情」により戦線離脱を余儀なくされていました。

A氏とは時々雑談を交えて近況を報告しあっていました。
ある時の会話の内容は以下のようなものでした。
(かなり過去の話なので表現は曖昧ですが、内容ははっきり覚えています)

鉄釘から始まる人間論

#

A氏:「また仕様変更が入ったよ。これで何度目だろう」
私 :「昨今のソフトウェア開発で仕様変更が発生しないプロジェクトなんて皆無だから、仕方ないんじゃね?」

既にあきらめムードです。

A氏:「そういえばさ、俺、凄い発見をしたんだけど、聞く?」
私 :「いやいや、その話のフリ方をしておいて、聞かないわけにはいかないだろう。で、何?」

A氏は世紀の大発見でもしたかのように語り始めます。

A氏:「ここに1本の”鉄釘(てつくぎ)”があるとしよう」
私 :「・・・見えないけど」
A氏:「いや、そこは想像しろよ。長さは10センチメートル程度の太い鉄釘だ」
私 :「わかった。長さ10センチメートルの太い鉄釘だね」
A氏:「そうそう。見た目はごく普通の鉄釘だ。材料も一般的」
私 :「俺は材料力学は専攻してこなかったんだよ。簡単に頼む」

A氏はひとしきり”鉄釘”の性質について語ります。
(難しくて詳細は覚えていません)

A氏:「さて、この鉄釘の真ん中を約90度くらいに折り曲げてみる。」
私 :「・・・・・」
A氏:「感想は?」
私 :「もう鉄釘としての機能をはたさないんじゃないか?」

A氏は頷きます。

A氏:「そう。このままじゃ駄目だ。というわけで元に戻す。また鉄釘に力を加えて真っ直ぐに戻す」
私 :「・・・・・。一応脳内変換したよ。うん。真っ直ぐな鉄釘に戻った。」

A氏はここぞとばかりに断言します。

A氏:「この鉄釘は”人間”と同じだってことに気がついたんだ」

A氏が何を言っているのか全然わからない私。
有名お笑いコンビの「ちょっと何言ってるか分からない」というフレーズが脳裏をよぎります。

鉄、釘、杭に関する諺をいくつか思い出します。
「鉄は熱いうちに打て」
「出る杭は打たれる」
しかし、そのどれにも当てはまりそうにありません。

A氏は続けます。

A氏:「難しい話は割愛するけど、鉄釘を一度曲げて元に戻すと、鉄釘の”強度”が増すんだよ。つまり”一度は凹んだけど、立ち直ったときに前よりも強くなっている”状態になったんだ」
私 :「言いたいことは何となくわかった。人間も過負荷を与えられたあと、強くなって人間として成長したってことか?」
A氏:「うん。大体その理解で合っているよ」

A氏の理屈によれば、人間は壁にぶち当たって挫折して「凹む(折れる)」こともあるのだと言う。しかし、逆境をバネにして「立ち直った(真っ直ぐに戻った)」時には「以前よりも”強く”なっている」だそうだ。

A氏はさらに続けます。

A氏:「さあ、ここからが本番だ。」
私 :「え?まだ何かあるのか?」
A氏:「さらに鉄釘を2~3回、曲げては伸ばしを繰り返すとしよう。すると鉄釘はどうなると思う?」

私はしばらく考えてから次のように言います。

私 :「うーん・・・。更に強度が上がるってこと?」
A氏:「そう強度”は”上がるんだ。」

A氏は神妙な面持ちでさらに続けます。

A氏:「でも”あるもの”が犠牲になるんだ。」
私 :「あるもの?」
A氏:「そう。その”あるもの”とは”粘性”なんだ。つまり”粘り”が無くなるってこと」

その先の事態は大体想像がつきました。
そう、そしてA氏がなぜ「鉄釘は人間と同じだ」と断言したかを。

鉄釘を何度も曲げては伸ばしを繰り返していると、強度は上がるけど粘性が落ちる。
つまり”柔軟性”というか”余裕”が無くなる。
1~2回は持ちこたえても、何度も何度も打ちのめされていると、いつの日か

ちょっとした衝撃を加えると「ポキリ」と折れてしまう

になるのは想像に難くありません。

不可逆なこともある

#

鉄釘ならば、鉄を溶かして再生することもできるでしょうが、対象が人間の場合には話は簡単ではありません。
完全に”折れて”しまったものを元に戻すのは容易ではないのです。

昔、何かの漫画で「いったんアルコール依存症になると、治癒することはありません。ぬか漬けのキュウリが元のキュウリに戻らないように」っていう一文を読んだ記憶があります。
心の病とアルコール依存症は別物ですが、そんな考えが脳裏をよぎりました。

当時、デスマーチのプロジェクトで何人もリタイヤ者が出る中、気をつけようと心に誓った瞬間でした。
完全に折れてしまう前に。
無理なものは無理と言おう。

皆様、今日も1日ご安全に!

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  4. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  5. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  6. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  7. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  8. IoT を使ってみる(その6:MQTTブローカー Mosquitto編) (2022-10-08)
  9. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  10. 統計学で避けて通れない自由度の話 (2022-06-20)