ソフトウェアエンジニアが労働について情報発信するブログ

ブラック労働からホワイト労働まで経験したソフトウェアエンジニアが世の中にとって役立つことを情報発信していく。

「自責思考」と「他責思考」、事例とともに両面から解説する-【事例2】ソフトウェア開発でのバグ

当ブログではアフィリエイト広告を利用しています

ビジネスの世界をはじめ、「自責思考」「他責思考」という言葉をよく聞く。

「自責思考」とは

何か問題が発生した時に、自分自身に問題があると捉え、自分自身の改善点を追求していく考え方

を指す。

「他責思考」とは

何か問題が発生した時に、自分自身の問題ではなく、周囲や環境に原因があるという考え方

を指す。

以前、「自責思考」と「他責思考」について、それぞれのメリット、デメリットについてまとめ、「自責」「他責」問わず広範囲で俯瞰的に捉え根本を見極めることが成長の条件だと締めくくった。
o08usyu7231.hatenablog.com

同時に、何か理不尽な不利益を受けた被害者は、次の3本立てで考えると良いと述べた。

  1. 自分自身の行いを振り返る。(「自責思考」)
  2. 他人・周囲・環境に問題がないか探り、あれば改善を促す。もしくは反面教師とする。(「他責思考」)
  3. 他人・周囲・環境に問題があっても、自分が回避できないか考える。(「他責思考」であるが、対策するのは自分。)

この記事では事例を紹介する。

「自責思考」を周囲から押し付けられて辛い生き方をしている人は、是非この記事をインプットしていただき、ヒントを得ていただければと考えている。


【事例2】ソフトウェア開発でバグが多発している

ソフトウェアのバグは品質問題であり、製品やシステムによっては人命や社会に大きく影響を与えるものがある。自動車、鉄道、工場設備といった安全が重視される分野、金融系システムのように正確性が求められる分野がこれに該当する。これらの分野以外でも、ソフトウェアのバグの発生は、ステークホルダに多大な迷惑をかけることとなり、絶対に避けなければならない。

ここでは自分自身もしくは自部門で開発しているソフトウェアにバグが発生したという想定で述べる。

「自責思考」によるアプローチ

まず、単純なミスであれば、本人の注意力散漫が挙げられる。バグ発生の当事者本人が気を付けていれば済むような程度のものであれば、当事者本人で対策しなければならない。例えば、思い込みで進めてしまった部分について、今一度確認をするといった具合にである。手順やプロセスの不徹底で問題が発生してしまった場合でも、その手順やプロセスを守りさえすれば、発生を防止できていたなら、これに該当する。

次に、必要な知識や技術がなければ、当該バグの発生は防止できなかったというケースである。このケースは当事者本人としては、不足していた知識や技術を身に付け、以降同様のことを繰り返さないように意識を高める他、組織内へ浸透するような仕組みを検討しなければならない。また、本人の知識や技術が不足しており、周囲にサポートできる人がいれば、サポートの体制という面での検討が必要である。

そして、作業手順や開発プロセスを守っていても、問題が発生する場合がある。その場合は手順やプロセス自体の見直しが必要である。不備、抜け、漏れが無いかといった観点で、個人、組織ともに取り組まなければならない内容である。更に、バグが発生する傾向を掴み、バグが発生している領域に偏り(欠陥の偏在)がある場合は、その領域の検証や教育、レビューを十分に行うことも必要だ。

一般的にソフトウェア開発にてバグが多発しているケースでの個人、組織として「自責思考」で考える内容、企業等で教育、啓蒙される点はここくらいまでだ。

「他責思考」によるアプローチ

前章で述べた「自責思考」の内容は、ベテランのエンジニアや開発組織のマネージャなら、誰でもわかる内容である。言うだけなら簡単な綺麗事である。ここからはリアルに経験した人も多い、綺麗事では済まない部分だ。そして、全てとは言えないが恐らく会社で教わる可能性は極めて少ないのではないかと考えている。

結論から言うと、私はソフトウェア開発にてバグが多発している現場では、真っ先に労働環境に問題がないかに目を付ける。

計画に無理があり、これをカバーするための長時間労働により、エンジニアが疲弊した状態で開発が行われていないかという点については、最も気にする必要がある。
o08usyu7231.hatenablog.com

職場の風通しが悪く、ハラスメント体質で、些細なことで重箱の隅をつつき、マウントを取る人間がいることで、コミュニケーションが取りにくい状況になっていないかにも着目する必要がある。
o08usyu7231.hatenablog.com

多くの人が勘違いしているのは、ソフトウェアのバグを「点」でしか見ていないことだ。個人や小単位の組織に起因するような単純な問題であれば、そちらに目を向けるのも悪くない。しかし、現実にはソフトウェアのバグは、様々な要因が複雑に絡み合って発生するケースがほとんどである。ソフトウェアのバグを「点」のみで見て、組織の末端担当者に責任を擦り付けるような組織ほど、ソフトウェアのバグを繰り返すのである。

ソフトウェアのバグは、

  • 長時間に及ぶ過重な労働環境
  • 新規技術・機能など、開発の難度の割には短納期
  • 度重なる仕様変更、無理な要求
  • 慢性的な人材不足、開発リソース不足
  • 失敗できない雰囲気等による重圧、ステークホルダとの力関係
  • ソフトウェア開発を簡単と思い込み、大変さに関する理解が無い依頼者や周囲
  • 派生開発でベース製品となるソフトウェアが複雑で、ドキュメント類が複雑で不備が多い

といった、「前段」に起因する問題が大半を占めている。

ソフトウェアのバグは、これらにより現場の末端がしわ寄せを受け、その歪が次第に蓄積した結果、表面化した目に見える事象の一つに過ぎないと考えるべきなのである。

ソフトウェアのバグが発生したという「点」ではなく、その「前段」全てに着目した対策を取らなければ、根本的な改善は期待できないことを、管理者、依頼者、ステークホルダは理解しておくべきなのだ。

何か問題が起きる背景には、過酷な労働環境が潜んでいる。世間一般のニュースでは、事故等の出来事を背景に、労働環境が着目され、外側からは見えない組織内側の過酷な実態が暴かれることがよくある。まさに、個人の注意や気力などではカバーできない領域だ。

「他責思考」だが自分で対策を取る場合

前述したように、個人のスキルアップや、注意力を高めることで改善する内容であれば、そのような取り組みをすべきである。

問題は、ソフトウェアの品質を高めるために、より詳細に検証したり、より深く考え、理解しようとするアクションに対して、それだけの工数的余裕がない、即ち「前段」が破綻しているケースである。設計・検証不足という「自責」なのか、それに必要な工数・リソースの不足という「他責」なのか、慎重に見極める必要がある。

ソフトウェアのバグの多発が、本当に「労働環境」によるものであれば、「労働環境」を改善する、エンジニアの負担に配慮するよう声を挙げるべきである。実際、私自身も然りだが、同じスキルのエンジニアが、「労働環境」というコンディションによって、全くパフォーマンスが異なるのである。ソフトウェアの品質も同じである。これを「エンジニア個人の実力」「強靭なメンタルが必要」などと、勘違いしているマネージャがいれば、そのような組織に改善は期待できないと考えたほうが良いだろう。

組織の改善が期待できないなら、次に考えるべきは転職である。労働環境の良い企業に行くと、ソフトウェア品質を含め、高いパフォーマンスを発揮できるなら、是非そのようにすべきである。転職は慎重に検討すべきだが、今の環境にいることが最善の状態とは限らないため、転職しないことのリスクも考えるべきである。

転職と言っても、皆が簡単にできるものではないし、人それぞれ事情があり、働くうえで何を重視するかは各個人によって異なる。よっていつでも転職できるように普段から準備をしてくことが重要である。今の時代、一つの会社にしがみついて、何も身動きが取れないとなれば、それはその個人の責任かもしれない。

「労働環境」に関しては、あらゆるパフォーマンス、あらゆるアプトプットの土台となる領域であり、働き方とともにここの改善に注力している企業も少なくない。転職サイトに登録し、最新の情報を入手していただきたい。

複業/副業/転職/独立のキャリアコーチング【RYOMEI】は、30~40代に特化した、キャリア版ライザップのようなパーソナルトレーニングサービスです。今後のキャリアの展望が描けなくなっている30代・40代に向けて、自分が最も価値を発揮できる仕事(天職)に出会い、生きがい・働きがいのあるキャリアを一緒に描いていくサポートを行います。

30代後半〜40代前半は、キャリアチェンジも容易ではなく、かつ家庭がある方が多く、自由度が低い、リスクが取りにくい、といったキャリアを築く上では、あまりに大きな課題を抱えています。RYOMEIのトレーナーも同じ世代であり、自身も子育てと仕事の両立に試行錯誤していたり、順風満帆にキャリアを築いているわけではないからこそ、受講者の痛みに共感しながら、一緒に考えていくことができます。

困難な状況にある方こそ、お勧めできるサービスです。是非、一歩踏み出し、人生を変えてみませんか?


IT・Web系を専門とする『レバテックキャリア』は、2021年1月時点でサービス利用者数20万人突破し、年収アップ率7割を超える実績を持つ、「ITエンジニアが利用したい転職エージェント」として知られるエージェントです。高い専門性を持つアドバイザーがキャリアの選択肢を洗い出し、5000件以上のハイクラス求人の中からご登録者様のパーソナリティや志向性に沿い、まだ出会えていない理想の求人のご提案が受けられます。取り扱い企業も、大手IT企業からWeb系企業、スタートアップまでを幅広く網羅しております。IT/Web系エンジニアの経験者の方にとっては、是非登録しておきたいエージェントです。



本事例のまとめ

この事例においても「自責」「他責」問わず広範囲で俯瞰的に捉え根本を見極めることが個人の成長、組織の成長、また個人にとって更に良いキャリアへとつながる可能性がある。

ソフトウェアのバグを「点」でしか見ていない、エンジニア個人の問題としか捉えていない開発組織は、労働環境などの「前段」を含めた、全体を俯瞰できていない証拠だ。

「ソフトウェアの品質さえ良ければ、企業が儲かればあとはどうでも良い」という「会社目線」ではなく、エンジニア一人一人の人権にまで配慮した「社会目線」が求められる時代だ。
o08usyu7231.hatenablog.com

また、これができていないマネージャや組織を見極めることも、重要なことだ。

関連記事もインプットしていただき、頑張り過ぎず、高いパフォーマンスを発揮できる環境を選ぶことを忘れてはならない。
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com

最後に、ソフトウェアのバグはあってはならないが、エンジニア以外の周囲のステークホルダが心得ておくべき内容に関する記事もあるので、あわせて読んでいただきたい。
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com
o08usyu7231.hatenablog.com