危険なプロジェクト

 傍目から見て「ああ、こりゃ炎上するな」と思うプロジェクト。思いつくままに書いたので視点があっちこっちだけど。

  • ベンダー・ロックインしたいのかどうか知らないが誰も知らないような(シェアのかなり少ない)ツールを使おうとしている。
    • なので「Java 要員が欲しい」とか言いながら本当に欲しいのはそのツールの要員。
      • いるわけないので人員不足にあえぐ。
    • 困ったとき Google 先生に聞いても答えてもらえない。
      • そのくせ開発元に問い合わせない/問い合わせても有用な回答が得られない。
  • 結局ツールの「選定」がおろそか。
    • おろそかどころか選定すらしていない。
    • 脊髄反射的に関係ベンダーの製品を使う。
    • 脊髄反射的に過去のプロジェクトで使った製品を使う。
      • しかもそのプロジェクトも炎上しており、その製品を使用したことも原因のひとつだったことを忘れている。
  • 「セキュリティのため」の一点張りでインターネットすらまともに使えないところで作業させる。
    • Google 先生に聞けばすぐに思い出せることをデベロッパは自己催眠によって長い時間をかけて思い出さねばならなくなる。
      • たまに催眠状態から戻って来れなくなるデベロッパもいる。
  • リーダー級がご高齢のため時間が過ぎるのが早く感じ、3年前のことでも「最新」だと思っている。
    • そうでなくても、リリースはずっと後なのに少し前の製品を使おうとする。
      • リリースすることろにはサポートが終わっており、リリース直後に次バージョンへの乗り換えテストが始まる。
  • (耳タコだが)ウォーターフォール開発モデルが未だに成功するものだと思い込んでいる。
    • 仕様変更を求めない顧客なんて皆無なのに未だに仕様変更を飲み会で愚痴る。
  • GUI で開発できるものこそもっとも工数が少ないと思っている。
    • 逆に CUI で開発できるものこそもっとも汎用的だと思っている。
  • 社内の開発規約に変更・更新の手続きがない。
    • 未だにテーブル名やファイル名を8文字にすることにこだわる。
  • ツールは多機能こそ善だと思っている。また、紙にならないものを信用しない。
    • なので Wiki には見向きもしない。
    • HTML ドキュメントはドキュメントじゃない。
    • そのくせソースコードのバージョン管理を手作業でやっている。
  • 経験年数が長いといいながら DB の正規化も知らない。
    • 下手をすると SE を名乗っておきながらリレーション/表結合を知らない。
  • 仕様も決めずにすべてのテーブルに「削除フラグ」カラムがある。
    • 表結合が鬼門になってバグがいつまでたっても取れない。
  • 抽象化をしない/知らない。
    • なので依存性とは何かについて意識がない。
      • アホみたいに小さな仕様変更でも死にそうになる。
  • プログラマーは最下位のカーストだと思っている。