(私自身の経験に基づいて)ソフトウェアプロジェクトのタイミングを推定する際のエラーはどこから発生しますか?

プロジェクトを評価価しましたか?

かなりの量の文献が、ソフトウェア評価などの問題に費やされています(コストおよび/または開発時)。 この分野が新しいことは明らかです(たとえば、冶金学と比較して)。 ここでは間違いがよくあることは明らかです。 この投稿では、評価を作成するときに考慮に入れることができず、開発時間の増加に影響を与えた人生のストーリーをいくつか紹介します。





ファイルとフォルダーの削除の履歴



ファイル変換アプリケーションを開発する際、締め切りの見積もりが行われ、タスクがスケジュールされ、この計画に従ってアプリケーションが作成されました。 プログラムはさらにテストされ、実装されました(これは小さなチームの内部ツールであるため、飛行機で顧客に飛んだ人はいませんでした-彼らはそれを使い始めました)。 しかし、プログラム内で定期的にこの場所でエラーが発生することが判明しました。 プログラムは、アーカイブを一時フォルダーに解凍し、そこからファイルを操作し、その後フォルダーを削除します。 そのため、プログラムはファイルを閉じる「時間がない」ことがあり、したがって、削除時に、誰かがファイルを「保持」しているという事実のためにエラーが発生しました。 プログラムは.Netで記述されているため、ガベージコレクターなどの開始時間は完全には明らかではありませんでした-これはおそらく問題でした。 その結果、この予期しない問題にはかなりの時間がかかりました-このプロジェクトの他のタスクに匹敵します。 はい、まだこの問題が完全に解決したかどうかはわかりません。



プロセスとアンチウイルスの実装の歴史



おそらく多くの人が問題を認識している別の例。 誰もが、ウイルス対策プログラムが通常のプログラムを適切に認識するとは限らないことを知っています。 私たちのアプリケーションの1つで小さなながらも重要な変更が行われた後、ウイルス対策はウイルスのプロセスと疑いを持ち込もうとする試みを繰り返し呪い始めました。 そのコードには犯罪者はいませんでしたが、アンチウイルスとの「戦い」には、強度と、より適切に使用できるリソースの両方が必要でした。



ファイルダイアログストーリー



単純なアプリケーション(より正確には、コントロールパネルアプレット、.cpl)では、どういうわけか標準のファイルを開くダイアログを表示する必要がありました。 驚いたことに、この特定の種類のアプリケーションからファイルダイアログを表示しようとすると、ダイアログの表示を妨げる​​問題が発生します。 問題の検索と解決に費やされた時間-ホラー(他のタスクと比較して)。 決定はさらに悪かった。 ファイルダイアログを表示するための別の(!)アプリケーションを作成する必要がありました。 そのようなひどい方法でのみ、タスクを実行することができました。



「まあ、あなたはプログラムする方法がわからないだけです!」



読者は叫び、間違っているかもしれません。 システムコンポーネント間の相互作用は非常に複雑であることが多く、予期しない場所でエラーや問題が発生します。 信じられない? これが4番目のストーリーです。



壊れたOpenGLアプリケーションの話



かつては複雑なOpenGLアプリケーションの開発者チームが問題を抱えていました。アプリケーションは目に優しい写真の発行を停止しました。 最初のステップは、「誰かが何かを壊した場合」をテーマにすべてのプログラマーに質問することでした。 その後、彼らは以前のバージョンにロールバックしました-これも助けにはなりませんでした。 そのマシンの(一見)鉄は変化しませんでした。 確かに、彼らは後でこのコンピュータに新しいUPSが最近登場したことを思い出しました。 しかし、これはOpenGLアプリケーションの動作に影響を与えることはできませんか? たぶん。 ドライバーがこのUPSに来ましたが、これは正常に機能しているように見えましたが、OpenGLアプリケーション(ゲームなど)だけでは機能しませんでした。 ドライバーを削除することで問題は解決しました。



なぜこれらすべての物語ですか?



これらのストーリーの経験豊富な開発者やマネージャーは、新しいものを見つけることができないと確信しています。 彼らは自分の経験からこれをすべて知っています。 これらの物語は、ブルックスやマコーネルの本を読んだことのある初心者プログラマーにとっては有用かもしれませんが、彼らの若者たちは「古代にプログラムされたこれらの老人(本の著者)、今はそのような問題はありません」と考えています。 悲しいかな、あります。 そして、その数を減らすための前提条件はありません。 ライブラリ、ツールはありません(実際にこれを書いたのですか?)プロジェクトの評価を間違えているという事実からあなたを守ります。 したがって、経験豊富な同僚や上司があなたの評価を2倍から3倍に増やしても、近視だとは思わないでください。



いつもこんな感じでしょうか?



ほとんどありません。 ちょうど今、ソフトウェア開発は、数十年の実績のある標準と実践がなかった業界です。



コメントで、開発中に予期せず何かが出てきたときのストーリーを共有してください。



All Articles