エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

【雑記】今年最後に参画したプロジェクトは、ひどいプロジェクトだった

この記事は

ただの不満のはけ口と、ちょっとした思ったことを書いているだけです。
事実と異なる可能性もなくもない。
読む場合は、気楽な気持ちで読んで下さい。
技術的な要素はなく、あとで振り返るようのメモなので、目的が違う人は直に別ページを探すことをおススメします。マジで!

今年の後半

とある商流関係のシステムで、センターシステムの刷新プロジェクトに参加。
刷新なので、既存のソースを載せ替えるのがメインの仕事。
自分はJavaの開発要員としてアサイン。 参加している企業が手動しているわけではなく、支援の形。
主導している企業は他にある。

そこで、主導している企業からいろいろ酷い目にあった。 恨み・辛みを忘れないために残す。

苦痛・疑問だったこと

主導企業に対して

  • FWが未完と分かっていて開発を進めなければならなかった
  • レビューが体裁の指摘だけで、レビューになっていない
    • 主導企業のFWを使うことになっていて、それを使う上での指摘が一切なし
  • 詳細設計からソースを自動生成すると言っており、レビューが全て自動生成するための指摘ばかり
  • アーキテクチャレベルが詳細設計のフェーズでも未決定
    • ねぇねぇ、これは何時決まるの?を何度も言ってきた。。。
    • 要件決まってないのに、どうやって詳細設計すればいいねん!
  • 単体テストが意味不な独自FW(主導企業のものらしい)
  • 謎の将来拡張を考える。
    • 明らかに顧客要件ではないのに、将来拡張を考えて、カラムの桁数より、多きい桁数を格納できるようにした。
    • 案の定、影響範囲は莫大である
  • DBのテーブル定義が製造・単体フェーズで大幅に変わる
    • 一度や二度なら許せるが、数十回発生した。許さんぞ!!!!
  • チケット駆動でタスク管理しているはずだが、申請したらモノが出来上がる前にクローズする。
    • どうやって出来上がったモノを通知するつもりやねん!
  • Gitを使用していたが、FWレベルの改修が毎日大元のブランチに入り、毎回リベース・マージが必要
    • 朝来たら、1時間近く掛けて取り込む。使いこなせてないせいかも知れないが、かなり面倒だった。
  • 主導企業の独自FWなのに、俺の方がFWに詳しい
    • 俺「こういう実装できないから、こう実装します。いいですね?」
    • W「いや、こうすればできます」
    • 指示された通りに実装→動かない。ドキュメントと詳しい実装を追って、動かないことが分かる。
    • 俺「こういう作りだから、言われた通りに実装しても、この要件はみたせないんだYO!(怒)」
    • W「それがやりたかったんですか?こう実装してください」
    • 俺の心の声(それ、俺が最初に言ったやつやん!)
  • 標準化を謳っていたが、自分が担当する画面は、「標準化対象外です!」ってほとんど突っぱねられた。
    • 主導企業担当の機能しか標準化してないんだが。。。
  • なんでも自動化っていってくるけど、自動化するまでの準備作業が多すぎる
    • それなら自動化しない方が楽では?って場合が結構あった。
    • 自動化するのはいいんだけど、影響範囲がでかいところを自動化したせいで、対応に追われる状態
  • 発注していたデザイン取り込みが製造の佳境に入ってから実施
  • JSFを使ってガチガチなコンポーネントを提供。なお、デザイン取り込みで、最後は破綻気味
  • 提供されているコンポーネントのドキュメントなし
    • バグったら手探り調査。サンプル渡せば万事解決だと思っているらしい。
  • クラスの継承関係がかなり深い。クラスの継承関係の問題でバグがいくつかあった。
    • ちなみに、発見したのは、すべて俺。。。
    • 修正方法まで指示した
  • リファクタリングを強制実行
    • アナウンスなくクラス名を変える暴挙。Gitで取り込んだ結果、エラーが出まくり、参画している方の企業がパニックに。。。
  • サイレントアップデート
    • 通達なく、こっそりと資料を更新してくる。ものを作ってレビューに出したら、ボロクソに言われる。
    • もしかして、俺ができない奴っていう印象操作?
  • 例外なげるの禁止
    • Javaで開発していたが、例外をなげちゃ駄目らしい。「なんで?」って聞いても「そういうFWのルールだから」の一点張り
    • なにか処理をしたあとは、必ずエラーチェックをする羽目に。。。
  • Stream禁止
    • なんか、性能劣化するから駄目と言われた。本当に検証したのか疑問。どうやって検証したいのか見たかったと、後々になって思った。
    • 個人的には、Stream推奨派なので、反論したが、平行線なので諦めた。
  • 議事録のTODOをこちらが突っつかないとやらない
    • なんのために議事録をとっているのか知っている??
  • 1時間枠の会議で、俺が40分くらい喋らなければ伝わらない
    • 聞く気があるのだろうか?それとも俺の技術が低すぎ??
  • 主導企業の独自FWの使用を強制してくる
    • 分からないことがあり、再現性がない事象について質問すると、「再現方法が分かってから質問してください」
    • それが分からないから質問しとんねん!!使用やソースも公開されてないのに、どうやって再現方法を見つければいいねん!
  • 業務要件を理解してないのにアジャイル開発します宣言
    • アジャイルは、品質・納期・機能を調整してプロジェクトを薦めることだと知らないらしい。
    • 何か問題があったら、直に解決することをアジャイルだと思っているらしい。
  • プロジェクト終了目前で主導企業が社員旅行
    • 死ねばいいのに。
    • やる気あんの?
  • 進捗報告の場では、「問題ないです」の一点張り
    • いや、問題はある。問題があると認識できないお前の頭にな!
  • 最後の方は逆ギレ
    • いやいや、主導してきたのお前らですやん!
  • 仕様は口頭連絡したから大丈夫b!
    • 口約束しといたけど大丈夫→そんな約束してないけど、証拠は?→爆発!

自分が入っていた企業に対して

  • レビューが無かった
  • 開発者で入ったはずだが、いつのまにやら他社問い合わせ窓口に
  • タスクにない他社問い合わせをしていたが、担当タスクは減らない。
  • 見積もりは俺がやるの?
  • 内部の課題管理は個人で
  • 進捗は日報&WBS。報告がダブっているんですけど。。。
  • プロパーがいない会議があってもいいの?
  • PCのスペックが低すぎる!

他に面白かったこと

GitLabのActiveで流れていたレビュー内容

主導側のレビューレベルが低すぎた。
本当にこの企業の支援でプロジェクトは成功するのか心配になった。

主導企業のホームページで実態とそぐわない記述が

主導企業がどんな事しているのか気になって調べたら、ホームページでは誇張された実績と、「安心のプロジェクト管理を〜」みたいな記述があった。見積もりも正確にやれますみたいなことが書いてあり、みんなで総ツッコミ状態だった。

結末

案の定、上手く行きませんよね。。。
プロジェクトは、御破算になるようでした。。。
めでたし、めでたし。。(めでたいのだろうか?)

何か得られたのか?

プロジェクトでやってはいけないアンチパターンを学べた。

技術力重要。差がありすぎると、会議をしても考えが伝わらない。

全体影響を考えないのは、システム開発失格。

過度な自動化はダメ。きちんと影響範囲と副作用を意識して、自動化する。

横文字を多用するやつを信じてはいけない。

結婚指輪以外の指輪を、いっぱいつけている人は、能力的に低い。

コンポーネントの部品化は、APIを利用したWEBシステムと合わない。
コンポーネントが画面固有になることが多いので、標準化できずに破綻しやすい。

進捗管理できないやつは、たいてい問題があっても報告しない。

ムカついても、陰口を叩いてはいけない。
自分の人間性を疑われる。
陰口を叩く場合、蔑称をつけるのがいい。
そうすれば、なんのことを言っているのか、外部の人はわからないし、伝わるのは一部の内部の人間のみ。
こんな嬉しい事はない。罵倒しまくりだぜ!!

個人的に思うこと

主導企業に対する怒りが強い!
潰れて欲しいとすら思ったことがある。
最後の方の社員旅行行っているって知ったときは、行きか帰りで事故らないかなぁ〜と本気で思った。
たぶん、一生忘れない。
末代までたたってやる!!