地獄のプロジェクト

数年前、私はフランスの大手テクノロジー企業の単一ソフトウェアプロジェクトのコンサルタントとして招待されました。 私が見たものは、開発中に想像できるすべてを超えています。 専門的な能力の単純な不足は最悪ではありませんでした。 さらに悪いことに、人間の尊厳に対する極端な軽emptは、私が想像する形の刑務所に匹敵するように思えました。 ここにリストがありますので、自分でチェックしてください。



スケール





政府は事前に数百万ユーロを支払います。 2〜3年の開発計画。 開始するために、同社は複数の開発者を雇い、3か月ごとにチームの規模を2倍にし続け、資金が利用可能になったときに予算をマスターします。



7年後、プロジェクトはまだ形になっていない。 1日あたり数千ユーロの罰金が科されます。 経営陣は、職務経験がほとんどまたはまったくない人を雇用することで、コストを削減し、経験豊富な従業員を解雇することを決定します。



10年後、プロジェクトの悲惨な状況を考慮して、中間管理職は、スケジュールに戻るために開発経験のある人を雇うことにしました。 初心者の平均離職率:3か月。 これは、フランスで辞任する資格がある最小期間です。



12年後、プロジェクトはまだ完了していません。 同社は再び毎日の罰金に陥り、増え続ける変更要求に対して政府に請求します。 2008年が来ています。



フィギュア





C ++は単純な言語であると言う開発者はいません。 それどころか、最も難しいものの一つ。 実際、非常に複雑であるため、作成者でさえ、まだすべてをマスターしていないことを認めています。 ラストとして作られた有名な「インタビュー」で 、ストラウストルプの告白をご覧ください。



底なしの複雑さのこのような信じられないほどの迷路に直面して、人々は異なった反応をします。 すべての新興オタクはC ++について聞いたことがあり、C ++でプログラミングできることを証明したいと考えています。 彼らは大胆に突っ込みます-そして、認識できないほど怪我をします。 彼らは、明らかな理由もなく、なぜ大量のちんぷんかんぷんが絶え間なくクラッシュするのかを解明するために無数の時間を費やします。 心を持っている人-彼らはすぐに他の言語や他のプロジェクトに行きます。 人生は短すぎます。



言語に関係なく、大規模なプロジェクトを維持することは困難です。 従業員が600万行のコードをサポートする必要があることを想像してみてください-そして、あなたはクレイジーな開発がどこまで進むことができるかについてのアイデアを得ます。 600万が大きな数字です。 1秒間に1行を読むと、 70日間休むことなく画面の前に座っています。



スケールを理解するために、2つのケースを説明します。



ある開発者は、インターフェイスを右クリックするとアプリケーションが完全に一時停止する理由を確認する必要がありました。 数日間の注意深い研究と信じられないほどの忍耐の後、彼は右クリックがうまく機能することを発見しました。 約45分後にコンテキストメニューのみが表示されます。 メインウィンドウで右クリックするたびに、すべてのメニューが(静的!)コンテンツのヒープから動的に生成されます。



ある時点で、ユーザーは「CD-ROMからデータをダウンロードする」オプションがまったく機能しないと報告します。 整理するのに数週間かかりました。 しかし、データが正しくロードされたため、最終的にバグレポートは「以前に解決済み」とマークされました。 700 MBをダウンロードしない限り、7日間かかりました。 しかし、忍耐は美徳です。



バージョン管理がうまくいかない



チームのある賢い人がバージョン管理ツールを使用するというアイデアを得るまでに数年が経過しました。 最初の試みはうまく機能しなかったため、チームは別のシステムに切り替えました。 そして数年後-3日目には、移行のたびにストーリー全体が失われます。



その結果、GUIを備えた災害ツールを選択しました。 スウェーデンから直接来る嫌悪感。 このシステムのほとんどのタスクを完了するには、4人の常勤チームを割り当てる必要がありました。 次のようになりました。





ある時点で、公式のリリース日が設定され、チームの計画から完全に離婚しました。 その日が来ると、クライアントにはインストール手順が記載された空のCDが実際に送信されました。何週間もソフトウェアを作成できなかったためです。 クライアントは、彼らが彼に空のディスクを送って、公式に不満を言ったのを見つけました-そして、古いバージョンを受け取りました。 「About」フィールドに表示される日付が昨年と同じだったため、彼はこれについて知りました。



フレーム



あなたはパン粉を支払う-あなたはばかを得る



ソフトウェア開発の経験がまったくない非常に多くの人々がいるのに、エラーが大量に発生したのは不思議ではありませんか? 非常に才能のあるマネージャーの中には、人件費がクリーンなソフトウェア開発プロジェクトの主なコストであることがわかりました。 この驚くべき発見にまったく恐れず、彼は少なくともある程度の経験を持つすべての人々を解雇することを決めましたが、すべてのマネージャーを保持します。 多くの従業員のテーブルにC ++のダミーが表示されることは珍しくありませんでした。



チームを知る



チームの55人:20人の開発者、35人のマネージャー。 あなたは間違っていませんでした:本当の開発者よりも多くのマネージャーがいます。



マネージャーは、同じPowerPoint ADプレゼンテーションを何度も繰り返し表示する会議を嫌悪感の中で開催し、開発者は巨大なオープンタイプのオフィスでチャットして時間をつぶしています。



ソフトウェア業界での経験を持つマネージャーはほとんどいません。 当時、SCOはLinuxのためにIBMを訴えていました。 たとえすべてがブラフだったとしても、すぐに無料のプログラムにお金を払わなければならないことを理解していたこれらすべての人々には本当にうまくいきました。 Software Libreに言及する人はいませんが、全員がSoftware Gratuitについて知っています。 言うまでもなく、プロジェクトにはGNUライブラリがぎっしり詰まっており、これらの人たちはプロジェクトがどのようにGNUと互換性を持つようになるのかわかりません。 このコードのひどい品質を考えると、大丈夫ですが、誰も彼らがオープンソースを主張することはありません。



台座の下の技術知識。 インターネットについて知っている人はほとんどいません。 知っている人はそれがポルノのために作られたと思う。 あなたがインターネット上で何かを見たという言及-そしてあなたはウインクと笑顔を始めます。



地獄へようこそ



最高指導部が強制収容所のナチスのように振る舞わなかったら、これはすべておかしいでしょう。 ほんの数例。





なぜ人々がそのような場所で働き続けているのか疑問に思われているでしょう。 最初の主な理由は、フランスが当時経験していた(そしてまだある程度まで経験している)深刻な経済危機でした。 仕事や賃金の存在は、条件に関係なく特権と見なされます。



別の理由は、多くの人にとってそれが最初の仕事だったからです。 比較せずに、あなたの仕事がどれだけひどいかを評価することは不可能です。 ほとんどの新参者は、マネージャーの病気を除いて、そのような制限を課すものがまったくない場合、正確に9時に来るように強制されるか、解雇されることは完全に普通だと考えました。



政府がこれをどのように許可しているのかについて:私たちは皆、それがどのように機能するかを知っています。 同省の予算を担当する人たちは、多くの企業のトップマネージャーと友達です。 フランスのような国では、腐敗はこのレベルでは珍しくありません。ほとんど開示されておらず、法律で起訴されることはめったにありません。 どうやら、これはフランスだけではありません。 ヨーロッパの他の場所やアメリカからも同じ話を聞きました。



次回はあなたの仕事が下手だと思って-もう一度考えてください。



2008年6月24日公開



All Articles