ブルックスは、この論文で本質的な複雑性に対処するために、次のことを提案している(詳細は#提案を参照)問題の所在—銀の弾とソフトウェアプロジェクト.この論文が対象とする問題の所在を説明するために、論文の序の文章を引用する。主張.ブルックスが本書で主張していることを述べる。本質的な複雑性と偶有的な複雑性を区別する.偶有的な複雑性におけるブレークスルー.過去に行われてきたソフトウェア技術の発展は、ソフトウェア開発における偶有的な複雑性を攻略した。ただし、これはあくまでも偶有的な複雑性を攻略しただけであって、本質的な複雑性を攻略したわけではない。高水準プログラミング言語.偶有的な複雑性の領域における大きなブレークスルーの一つは、FORTRANのような高水準プログラミング言語である。高水準プログラミング言語は、データ型やデータ構造、操作などのような高水準な概念でプログラミングできる環境を提供し、プログラマは低水準な複雑性を考える必要がなくなった。タイムシェアリングシステム.タイムシェアリングシステムより古いバッチ処理の環境では、ターンアラウンドが遅いため、プログラマは思考を中断させられてしまい、また時間コストがかかってしまっていた。しかし、タイムシェアリングシステムの登場により、プログラマは、早いレスポンスの環境で作業ができるようになった。統一されたプログラミング環境.銀の弾の候補.次に、銀の弾になる可能性のあるとされている技術について述べる。オブジェクト指向プログラミング.オブジェクト指向プログラミングでは、クラスの概念を導入し、カプセル化と継承を活用することができる。「自動」プログラミング.自動プログラミングとして言及されてきた技法は、つまるところ高水準プログラミング言語を使ったプログラミングの婉曲的表現である(デイビッド・パーナス)。ビジュアルプログラミング.ビジュアルプログラミングを使って生産性を向上させることは難しい。プログラム検証.プログラム検証には労力がかかる。そのため、全ての開発対象を検証することはできず、一部の重要なプログラムを検証することしかできない。