何の設計においては、フィードバックを多用する？
制御システム
電気工学 
 制御システムの設計においては、フィードバックを多用する。例えば、クルーズコントロールにおいては自動車の速度を継続的に監視しフィードバックし、それによってエンジンの出力を調整している。制御理論では、あるフィードバックがあったときのシステムの応答を求めることができる。
ソフトウェア設計 
 ソフトウェア設計者やアーキテクトは、設計上の問題が既存の解決済みの問題と同じであると気づくことがある。よくある問題についての解法のテンプレート（あるいはパターン）をデザインパターンと呼ぶ。過去に評価済みのデザインパターンの利用によって、ソフトウェア開発工程が加速される。 ソフトウェア設計 
 ソフトウェア開発工程での要求分析によって、ソフトウェア工学における仕様が確定する。そのソフトウェアがユーザーとの対話を必要とするものか、あるいはユーザー中心設計であれば、ソフトウェア設計にはユーザーエクスペリエンス設計も関わり、絵コンテなども仕様に含まれることになる。完全に自動的に動作するソフトウェア（ユーザインタフェースのないソフトウェア）であれば、ソフトウェア設計は単なるフローチャート作成程度の作業となるかもしれない。また、統一モデリング言語 (UML) などの半形式的手法もある。いずれにしても、ソフトウェア設計工程の成果物としては、何らかのソフトウェア設計文書が生成される。 プログラミング 
 続いて、全体のスタイルをおおまかに2つに分けると「トップダウン設計」と「ボトムアップ実装」になる。「なんとかの設計と実装」といったようなタイトルの本が多くあるように、どちらも重要だが、一般に対象についてよくわかっているものについてのプログラミングでは前者のスタイル、よくわかっていない場合は後者のスタイルとする。「設計された通りに実装することは不可能」といった場合に開発体勢の問題などから正しい対処がされないまま、設計と実装がちぐはぐになったプロダクトは悲惨である。また反復型開発では、あまりに大きなプログラムを一方通行のプロセスで書くことは最初から避けるものとされる。 ソフトウェア設計 
 設計方法論は実際のシステム設計におけるテンプレートやフレームワークの役割を果たす。実際の設計工程を単純化し、品質向上のための設計原則の適用を可能とする。 プログラミング 
 デバッグには統合開発環境 (IDE) が使われることが多い（Visual Studio、NetBeans、Eclipseなど）。独立したデバッガ（gdbなど）も使われている。 プログラミング 
 ソフトウェア開発の第一段階は要求分析であり、その後モデル化し、実装し、デバッグする。これら作業については様々な方法論がある。要求分析で一般的な方法論としてユースケース分析がある。 C++ 
 C++に対しては、今もなお要望が絶えない。特にBoost C++ライブラリを開発しているBoostコミュニティはC++の方向性の決定に大きく貢献し、さらにC++標準化委員会へ改良すべき点などを意見している。現在はマルチパラダイムプログラミングをより自然に行えるようにすることに力が注がれており、たとえばBoostでは、C++の関数型プログラミングやメタプログラミングの可能性を模索している。 バグ 
 消費者向けアプリケーションソフトウェアの場合、一般的にはバージョン管理システムと呼ばれる数値で行うことが多い。バージョンの数値が大きいほど、バグの修正や機能の追加が行われていることを表す。コンシューマ向けOSなどの場合、メーカーではこれらを定期的に修正した修正プログラムを提供している。既知の問題の修正箇所を、個別に修正の実施と未実施を調べる。近年ではバグ管理システムなどに移行している。 ソフトウェア設計 
 ソフトウェア設計は、ソフトウェアのための問題解決と計画の工程である。ソフトウェアの目的と仕様が決定した後で、ソフトウェア開発者が設計をしたり、専門の設計者が開発計画を立てる。細かいコンポーネントやアルゴリズムの実装だけではなく、アーキテクチャ的観点での検討も行われる。 Pixiv 
 同様にして、線画を他の利用者に塗ってもらう「塗ってもいいのよ」「塗ってみた」、素材を提供する「使ってもいいのよ」など多くの「〜いいのよ」型タグが派生し、多様な形でイラストにイラストで返す交流スタイルを実現している。こうした動きは作品の権利を意図的に共有する一種の自然発生的な「コモンズ」と言え、これを発展させた「pixivコモンズ」機能が計画されている。