システムエンジニアはこうして漆黒に染まる
こんばんはたまリモです。
中二病っぽいタイトルにしてみました。中身はそう中二っぽくはありませんのであしからず。
システムエンジニアのイメージってどんなものでしょうか?
集計を取ったわけではないですが、私が初対面の方に「システムエンジニアです」と名乗ったときのリアクションから
という風に思われてるっぽいなあと感じています。あんまりよいイメージがないですね。「大変なんでしょう?」なんて気の毒そうに言われたりもします。こちらも特に否定はしませんが。
天下のYahoo!検索もこのとおり。
さて、SEがブラックなのは皆さん認識されているようなんですが、なぜこんなにもブラックと言われるのかご存知ですか?
なぜ残業するのか?
なぜ休日出勤しなきゃいけないのか?
今回はそれを絵と文でご説明致します。理由がわかれば、やたら忙しいと愚痴るSEの旦那さんの気持ちがわかるかもしれないですし、学生さんは「SEにだけはなるまい」と心に深く刻めるかもしれません。知っておいて損はないはずです。
……なお、あくまで「こういう場合もあるんだよ」というお話ですので、SEがブラックな要因は記載した内容だけではないと思います。同業者の方は「こんなことはない!」「なんじゃこりゃ!」「真の原因は違うんだよ!」と思ったとしても目をつぶっていただけると幸いです。むしろ違うのであれば是非そちらのお話を聞かせてください。よろしくお願いします。
*******************************
4月、桜が咲き乱れる頃、株式会社あにまるシステムズでは、あるプロジェクトが始まります。計画は以下の通り。
4月から始まり8月末に完了する5ヶ月のプロジェクトですね。
顔のマークはその月にプロジェクトへアサインする人数を表しています。4月に2人、5月は一人増えて3人、6月は5人、7月は6人、8月は2人必要なプロジェクトということですね。IT業界と、あと建設業界でよく使われるのですが、このようにプロジェクトを完了させるために1ヶ月何人必要か見積もることを「人月(にんげつ)計算」と言います。この例で言うと、2+3+5+6+2の18人月のプロジェクトとなるわけです。
このような数字は、プロジェクトが始まる前のお客さんの見積もりで既に決まっています。「こんなシステムをだいたいこの期間のこの人数で作ってください」と提示していただくのです。それを私たちシステム屋が「はい喜んで!」と受けてプロジェクトは立ち上がるのです。
さて、4月。
新しいプロジェクトの始まり……と言いたいところですが、なんということでしょう。仕事がありません。
今回のお客さんの要望は「たくさんのデータの中から、哺乳類の動物だけ抜き出して紙に印刷する」というシステムをつくってほしいというものでした。(なんだこの例は)
ここでエンジニアはたくさん質問します。
「哺乳類っていうのは『くま』『いぬ』『かものはし』のことですよね?」
「紙に出すタイミングはいつですか?」
「紙のレイアウトはどうしますか?」
などなど。細かいことかもしれませんが、こういうことが決まらないとシステムは作れないからです。プログラムというものはあらゆる命令を確実に実行してくれますが、逆に言えば「言われてないことはやらない」のです。
「トイレ掃除しといて〜。道具は棚にあるブラシ使ってくれたらいいから」という命令をしたとして、トイレ掃除はしますが、トイレットペーパーがなくても補充したりしません。また、棚にブラシがなかった場合には掃除すらしません。棚にタワシがあったとしてもです。なので、プログラムとしては「トイレ掃除をしろ。棚にあるブラシを使え。ブラシがなければタワシを使え。タワシもない場合は掃除のおばちゃんを呼べ」とまで命令してあげる必要があるのです。面倒ですね。
話は戻って、システム構築のために質問をたくさんお客さんに投げましたね。その答えは……
沈黙。
ハン◯ー試験じゃありません。驚くべきことに、お客さんもはっきりと正解がわからないのです。わからないなりに決めてくれればいいのですが、「決めかねるのでちょっと持ち帰り考えます」と言ったきり、まるで音沙汰がないなんてこともよくあります。
こうして4月は過ぎていきます。この時はとりあえず『くま』・『いぬ』・『かものはし』を紙に出すようなシステムを作る想定で設計を進めます。細かいところはお客さんの回答待ちなので作り込めません。この頃は残業はなく定時に帰れます。未来に面倒をまわしていることの不安はあるものの、束の間の自由を享受します。
そして5月。……やることがない。
まだお客さんから回答はありません。こちらは手を変え品を変え質問をします。
「かものはしはクチバシはあるけれど哺乳類ですから対象にしていいんですよね? ね?」
「前に作った『データの中から魚類を抜き出すシステム』ではこんなレイアウトの紙に出していたので、これと一緒でいいですか?」
などなど。あらゆる聞き方で答えを引き出そうとします。この頃もできる作業は少ないので残業はなく定時に帰れます。しかしこの時期に暇であることは正直恐怖でしかありません。家族との団欒も束の間の幸せと思うと涙が出そうになる頃です。
やっと6月。お客様から質問の回答が返ってきました!
この時点で2ヶ月の遅れです。ほぼ何もしないままに全体の2/5が終わってしまいました。遅れを取り戻すために、今月は8人分の仕事をしなければいけません。現場はてんてこ舞いです。深夜に帰宅することも多くなり、家族で食卓を囲むこともなくなってくる頃です。
でもって7月。てんてこ舞いな状況は続きます。
お客様もだんだんエンジンがかかってきたのか、「哺乳類だけじゃなくて、水の中を泳げる動物も対象にして」「『くま』と出す紙だけは黒字に白い字で出して」と「あれ?初めの頃よりやることが増えてるぞ?」と思うようなことも口にしてきます。それもお客さんが「絶対やらないとダメ!」と言えば対応せざるを得ません。今月も8人分頑張ります。会社から帰らない日が出てくる頃です。
とうとう8月。今月末がリリース予定日です……が、結局前半の遅れが響いて、「哺乳類の動物だけ抜き出して紙に印刷する」システムしかできていません。……それで十分じゃないかって? とんでもない! 後から追加で頼まれた
「哺乳類だけじゃなくて、水の中を泳げる動物も対象にすること」
「『くま』と出す紙だけは黒地に白い字で出すこと」
「『ねこ』の紙を出すときは紙の裏面に虹色に光るシールを貼って、それを剥がすと『大吉』『吉』『末吉』『凶』のいずれかを出すようにすること」
ができてないじゃないですか!
その追加分はなんとか9月にまわしてもらうようお客さんに頭を下げます。今月は最後の追い込み、10人分頑張ります。
察しの良い方はお気づきかと思いますが、8月は元々2人で仕事をする予定でしたよね? けれど実際には10人分の仕事があるとなると、どこからか8人現れて助けてくれるのでしょうか? いいえ、違います。2人で10人分働くのです。5倍です。大丈夫です、1日は24時間あるし、1ヶ月は31日もあります。大丈夫です。ただ、このあたりで離婚する人が出てきたりします。もちろん極まれにですよ。大丈夫です。大丈夫。
さらに9月。8月末で終わる予定がおかしいですね、まだ作業が残っています。気持ち的には俺たちの戦いはこれからだ!ってところでしょうか。
こうして見ると、予定と現実で顔のマーク、つまり必要な人数がぜんぜん違っていると思いませんか? 不思議ですね〜。見積もりとは一体なんだったんでしょうか。すごく不思議です。SFです。でもやるしかないのです。「なんかもうお金払ってもいいから休みたいなあ」なんて思いつつ、日々を過ごすしかないのです。
*******************************
なんだかかえってわかりにくい例になってしまった気がしますが、要するに
「お客さんがなかなかどういうシステムをつくってほしいのか決めてくれない、なのに締め切りは延びない。だからSEは特にシステムリリース前に死ぬほど忙しくなるんだよ〜」
ということです。
おわかりいただけたでしょうか?
まわりでSEの方がおりましたら、こういう事情があるんだなあ、大変だなあと、優しく労わってあげてくださいね。ちょっといい目薬なんかをプレゼントすると喜びますよ、きっと。あと一生働かなくていいくらいの大金をあげたりしたらもっと喜びますよ。よろしければ。