これには、アーキテクチャの決定、プラットフォームの選択、またはそのような悪い選択が悪影響をもたらした状況が含まれます。
数年前、私はデータベース中心のアプリケーションの主任開発者であり、エラーをスローし始めました。私は、データベースフィールドに許可されるべきではない重複した値があったという事実を突き止めました。
データベースを本番環境にプッシュしたときに、データベースに一意の制約を設定するのを忘れたことに打ちのめされていました。このフィールドに制約が必要なことは明らかだったからです。私を直してくれた仲間の開発者の一人にコミッションしました...
その他の開発者:「忘れてはいけないのですが、そのフィールドには固有の制約がありました。削除しただけです。」
Me:「なぜ削除したのですか?」
他の開発者:「数週間前にそれを行いました。顧客からデータファイルを取得していましたが、一意の制約が新しいデータをブロックしていたため、インポートされませんでした。そこで、制約を削除して、インポートが完了しました。」
Me:「既存のデータと重複する新しいデータを取得している場合に問題が発生した可能性があると考え、インポートする前に誰かに言及することを検討しましたか?」
その他の開発者:(空を見詰める)
Me:Facepalm。
Visual Sourcesafeの使用
これがテクノロジーの決定としてカウントされるかどうかはわかりませんが、私はPHPで書かれたCMSのようなドキュメント管理Webサイトを4年間担当しました。これらの年を通して、人々(マネージャー、ユーザー、機能の要求者)に、おそらくたぶんのように、一緒に座って、要件と将来の方向性について考える可能性を検討させるために、何度も試みました。それは決して起こりませんでした。それは常に「この機能を追加する」、「その機能を追加する」であり、誰もがウェブサイトを使用するさまざまな方法すべてに幸いにも気づいていませんでしたelse私が去るまでに、それは相互に関連しているが関係のない機能の巨大な混乱になり、私は会社全体ですべての機能を知っていた唯一の人でした。
SAPの実装
Telcoグレードのボイスメールシステムの書き換え。
以前のシステムはUnixで実行されていて、90年代後半にMicrosoftのCOMテクノロジーが登場しました。多くの開発者がこの新しいNTベースのシステムに取り組んでいました。多くの努力の後、そのパフォーマンスはまだUnixシステムのパフォーマンスに近づいておらず、この新しいシステムを購入した大口顧客は腹を立てました。会社は売却されなければならず、何人かの人々は会社を辞めなければなりませんでした。
醜いです。これはすべて、ジョエルが彼の記事を書く前の約2年で起こりました: あなたがしてはいけないこと、パートI
SVNスナップショットに基づいて、最初のリリースバージョンの前に外部ライブラリ(この場合は Spring RCP )を採用します。プロジェクトが多かれ少なかれ死んでしまい、死体に縛られていることに気付くことがほぼ確実です。まあ、私たちの場合、それはもっと悪いことでした。それでも大きなリスク。
私が思い出した1つの例は、特定のJavaアプリケーションサーバーがプロジェクトに必要な機能をまだ持っていないにもかかわらず、それらがいつ実装されるかについてのロードマップであるにもかかわらず、早い段階でコミットすることでした。ベンダーは最初に示されたほど迅速に納品しませんでした。これは大きな問題であるはずでしたが、実際には、失敗への遅い道のりでの多くのコックアップの1つにすぎませんでした。
私が遭遇したこの種の問題のほとんどの例は、証明されていない/未熟な技術へのコミットメントに関係しています。これは、技術面で影響力のある誰かが、レジュメ主導の開発の支持者だからです。
3年前、私たちのBusDev部門は、彼らが到達しようとしていた製薬会社が名前を知っていて、テクノロジーに慣れていたため、Documentum上にコンテンツ管理システムを構築する必要があると言いました。それで、私たちはそれを構築するために多くのお金を費やし、12か月後にそれを棚上げにしました。
\\ uSlackr
C/C++で最新のオペレーティングシステムを作成します。 Morrisワーム(80年代後半)以来、ネットワーク化されたソフトウェアを構築するのに完全に不適切な言語であることはわかっていましたが、だれもそれを行うことを止めていません。つまり、基本的に刑事過失IMOです。
私が見たもの...
1980年代に、PickデータベースとBASICのバージョンを実行するコンピューターを製造するPrimeという会社がありました。私が1つ購入したときに働いていた場所のユーザー部門は、これにより何百ドルものお金を節約でき、1人のビジネスアナリストが1/4の時間で望んだ処理と結果を得ることができると確信していました。 4人のフルタイムのプログラマーアナリストと仕事のバックログができるようになるまで、それほど長くはありませんでした。
テクノロジーが彼らのために何をするかを見積もる際の大きな間違い。