IQ49

IT業界の感想

システムエンジニアの日常2

社長「顧客からスピード感が足りないとお叱りが来ています(憤怒)。みんなで頑張りましょう」

~保守案件発生~

プロマネ「改修計画作成!要件定義作成!見積作成!スケジュール作成!」

プロマネ「要件定義レビュー実施!見積もり会議実施!リスケ!」

プロマネ「詳細設計書作成!詳細設計書レビュー実施!リスケ!」

プロマネ「リスクとなる要素を全て洗い出す!開発はそれまでストップ!リスケ!」

僕「プログラム修正(1行)!」

プロマネ「テスト設計書作成!テスト設計書レビュー!テスト実施!リスケ!」

プロマネ「納品資源確認実施!承認実施!納品!」

プロマネ「開発スピードがおそすぎる!!!!」

僕(なんでこの人プログラム1行修正するだけの作業に3日もかけてるんだろう…)

1LDKのマンションにトイレが4つあるようなシステム

業務設計者がどういったわけだか知らないが、その場しのぎで考えたような要件定義を作成することがある。 その歪さがどんな感じなのかといったら"1LDKのマンションにトイレが4つあるような"感覚である。 常識的に考えて、トイレは1つで充分である。 なぜそのようなことが起こるかというと、業務設計者がトイレとキッチンを区別することができていないので起きる。 業務に関する手続きの最小単位を見極められず、「キッチンがあったらついでにトイレもあるよね」という考えで要件定義を作成するのであろう。 そして当然のように他の部屋にもトイレを付ける。

まともでない要件がシステム開発に降りてくると、複雑なクラス設計になりプロジェクトに悪影響を与える。 共通化を使わざるを得ない状況が増えるのだ。 無理がない要件は、プログラミングの際に共通化を使う機会が減り、よりシンプルな設計に落ち着く気がしている。

業務固有の実装箇所で共通化が発生する場合というのは2つ考えられる。 1つはプログラマの腕がヘボくて共通化できないのに共通化してしまっている場合、もう一つは業務設計内に同じ意味を持った処理が分散している場合である。 どちらもシステム開発における敗北を意味する。本来は業務特有の処理というのは共通化する必要はなく、それ自体が独自性を持つものである。 業務固有箇所で共通化が発生することは問題視されなければいけない。

古く効率の悪い方法でプログラミングする人

馴染みのない効率100のやり方と、過去に苦労しておぼえた効率10のやり方があるとして、前者の方を選ばない人はいないだろう。単純に効率に10倍のひらきがあるから。

しかし現実には、何時までたっても古いやり方しかできない人がいる。新しいことを実践しようとせず過去に培ったスキルセットが未だに通用すると信じ込んでいる。実際にはそんなことないのに。 挙句の果てには、こちらが新しい方法を提案しても、「余計なお世話だ、俺には今までうまくいってきたやり方があるんだよ。」と受け入れようとしない。

ようするにその人は、自分が今まで時間をかけて手に入れた物が不要になってしまうことが惜しいのだ。本当に優先すべきは効率であるべきなのに。 ネトゲでアップデートがあって、効率のいい狩場が移動したにも関わらず、以前と同じ狩場でレベル上げを続けるような行為だ。 目的に合わせて最善の手段を選ぶという行為は当たり前に行われなければならない。

たとえ過去にお金や時間をかけて学んだものでも、必要ないとわかった場合は切り捨てなければならない。これには苦痛を伴う場合がある。といっても人間すぐ忘れるので2日もあれば特に何も思わなくなるだろう。 プログラミングで言うと、初心者時代に作ったお手製ライブラリなんて、よく調べたら同じような機能をもつ高性能なライブラリが見つかったりするだろう。 当然さっさと乗り換えるべきである。

技術力の乏しいものが作成したフレームワークOSSではなく、自社製のボロいやつ)が誕生することがある。 インタフェースがボロボロで使い勝手も悪い。 やっかいなのは問題が個人の範疇でなく、集団に関わってくるということだ。

自社製フレームワークを作成した費用を回収するために、むりやり自社製フレームワークを使おうとする。 これはシステム開発にとって弊害しかもたらさない。資金投入したのに開発効率が悪くなり開発者のストレスもたまるようになるとは意味がわからない行為である。 本当ならクソなフレームワークはかけた費用、時間に関わらず即刻捨て去るべきなのだ。

技術に暗いものにフレームワークを作らせてはならない。

社員全員が裁量労働制のSIerはもれなくブラック

裁量労働制って何?

労働者の実際の労働時間によらず、あらかじめ決められた賃金が支払われる労働形態のこと。例えば、「労働者の月給は基本給に加えみなし残業時間40時間分を付与したものにする」となっていた場合、労働者は100時間働いても200時間働いてももらえる給与は同額となる。 詳しくは下記リンクを参考に

https://ja.wikipedia.org/wiki/%E8%A3%81%E9%87%8F%E5%8A%B4%E5%83%8D%E5%88%B6 https://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%AA%E3%81%97%E5%8A%B4%E5%83%8D%E6%99%82%E9%96%93%E5%88%B6

企業が裁量労働制を採用する建前

  • 個人の力量次第で自由な働き方を可能とする。優秀な人は早く帰れる。
  • 残業代目当てでカラ残業する人を減らせる。全体の残業時間短縮につながる。

裁量労働制の現実

  • 優秀な人しかこなせない仕事があるので優秀な人は帰れない。
  • 残業してるのに残業代でなくてやる気が落ちる。

SIerでは個人の裁量が仕事量を左右しない

経営者が「一人一人の生産性を向上させて定時どおり帰れるようにしましょう」と言うことがある。はっきり言ってそれは大嘘だ信じてはいけない。残業が発生するのは、時間内に処理できる量を越えた仕事が割り当てられているからだ。新人でも仕事量が少なければ定時内に帰れるし、たとえベテランでも大量の仕事があれば定時内には帰れない。残業を個人の能力による問題と言うのは、マネジメント能力のないことの責任転嫁に過ぎない。

事量を決定するような裁量は一部の社員にしか存在しない。なぜならSIerは受注開発で、マネージャーと開発者が全体の作業量を決定できず、仕事量が営業の取ってきた仕事量と直結する。残業が発生する最大の原因は営業が自社のリソースを上回る量の仕事を取ってきていることである。開発者が自分の作業速度に合わせて仕事量を調整しようとしても営業が仕事を取ってきた段階で納期、作業量が決定してしまっており、裁量の発揮しようがないのだ。

ブラック企業の方針

ブラック企業裁量労働制を採用する理由は簡単である。残業代を節約できるからだ。平均残業時間が100時間ほどあるような企業でも、裁量労働制みなし残業40時間とすれば月にして60時間もの残業代を節約できる。 もっとも、みなし残業時間を超えた分は払うのが法律で定められているのだが、ブラック企業では当然のように支払わられないのはなんでなんでしょうね。

問題点は残業代節約だけにとどまらない。プロジェクトの計画が残業してもコストが0なことを前提に進むのだ。例えばちょっとプロジェクトが遅れたとしよう。埋め合わせに2時間残業したとすれば、通常のプロジェクトなら2時間分のコストが発生する。そして、このようなマネジメントの崩壊により、裁量労働制を導入する前よりも労働時間が増える場合があるのだ。

全員が裁量労働制というのもおかしな点である。まっとうな会社なら下っ端に裁量労働制を適用しているわけがない。裁量労働制がふさわしいのはマネージャーやマーケティング担当といった自分で自分の仕事量を調整できるものだけだ。  

どのような裁量労働制ならよいのか?

一定の成果を出せばそれ以上は仕事をしなくてよいという権限が開発者に必要である。しかしブラック企業の現状は成果を出してもそれをマネージャーは把握できずに、一定の時間になるまで働かせようとする。これはマネージャーが部下の成果を把握する技能が低いことが原因である。成果を把握できないで作業時間しか見れないというのはお粗末すぎやしないだろうか。

最後に

求人欄に裁量労働制と書いてあるところには気をつけよう。

サンタクロースは子供の夢

「サンタクロースが実在しないことを子供に教える」という行為は一般に禁忌とされている。禁忌を犯そうものなら人権すらも侵害される勢いでけなされる。「せっかくの子供の夢を奪うんじゃない」と。 挙句の果てには”嘘にもいい嘘がある”といい、”サンタクロースは存在する”というのはいい嘘だよね、と言ってしまう。

しかし、何でサンタクロースがいないという意見を表明するだけで叩かれねばならんのだと疑問に思った。 だって子供からしたらサンタクロースが実際にいようがいまいがなんの影響もないし、そもそもサンタクロースという概念が何なのかをあまり理解できていないだろう。 ”サンタクロースが実在すると子供に主張する大人”は子供のためではなく”美しい子供の思い出を守護る自分”に酔ってるだけなんじゃないかと。

そもそも子供を騙している行為であり、誠実でない。 大人を騙すの悪徳だが、子供を騙すのは許されるのだろうか?

根拠のないデタラメを吹き込まれた子供は混乱し大人の言うことを信じられなくなる。 「詐欺師を信じると不幸な目に遭う」という教訓を得意気に語る一方で「サンタクロースはいるよ」と語るのは矛盾してる。 子供は何を信じたらいいかわからない。

クリスマスプレゼントをもらえない子供もいる。 私もクリスマスプレゼントは特に何もなかったので、サンタクロースがいたら何なの?と思っていた一人である。 枕元にプレゼントなんてないわ。 プレゼントをもらえない子供が自らをみじめに思い絶望するではないか。

小学生マネジメント

小学生が行なうようなマネジメントである

  • 成果よりもどれだけ頑張っているように見えるかで評価する

  • スケジュールが遅れているようなら残業

  • 遅れがひどくなると増員で対処する

  • 年次が上の人の言うことは絶対、上から降りてきた目標は絶対達成

  • できないこともできるといってスケジュールを組む

  • 製品の評価は、「どれだけ品質がいいか」ではなく、「どれだけ時間をかけて作られたか」で判定する

  • オフィススペースや資材といった経費がかかる部分は削れるまで削る

  • 稼働率の目標は100%、そのためには適正でない仕事を割り振る

炎上請負人の発言集

炎上請負人とは参加したプロジェクトを炎上にみちびくものである

  • このやり方が決められたやり方なんだから、守ってもらわないと困るんだよね

  • 人件費を上げずに、メンバーのベネフィットを向上させたい!

  • 残業で1.5倍計算、効率化で1.5倍計算、計3倍で作業を進めます

  • 残業はしても利益率はそのままとする

  • 商品IDの数が2倍になるなら見積もりの金額も2倍になりますよ?

  • 商品IDが増えたのでプログラムに修正が必要ですね

  • (プロジェクトの途中で)全部APIでやるのはやめましょう、今から作るプログラムはサーバを直接操作する形で

  • (↑のプロジェクトで)トランザクション管理が難しすぎる!

  • なんでマスタテーブルにデリートフラグないの?ちゃんと全部付けようよ!

  • このマスタは季節によって値が変わるのでトランザクションテーブルにも同じ値を持たせてください

  • この部分は継承使って親クラスにまとめられますね(ニッコリ)

  • テストケース少なくない?他の人はもっと多いよ

  • (自らが残業まみれにも関わらず)顧客の業務を改善できる能力が最も重要!