ソフトウェアファクトリー
ソフトウェアファクトリーという用語を最初に採用したのは日立製作所で、1969年のことである。その後、1975年には、 System Development Corporation などの企業が採用した。1976年から1977年にかけて、日本電気、東芝、富士通といった企業が追随した。
Cusumano はソフトウェアファクトリーを6つの段階に分けられるとした。
基本的な組織と管理の構造(1960年代中ごろから1970年代初め)
技術的標準化(1970年代初めから1980年代初め)
工程の機械化(1970年代後半)
工程の改良と発展(1980年代初め)
統合された柔軟な自動化(1980年代中ごろ)
段階的な製品開発と様々な改良(1980年代後半)
ソフトウェア工学とエンタープライズアーキテクチャやソフトウェアアーキテクチャにおいて、ソフトウェアファクトリーは、さまざまなツール、プロセス、コンテンツを定型的な方式で設定するソフトウェアであり、フレームワークに基づいた適応・組み立て・設定により原型となるソフトウェア製品からの派生品の開発と保守を自動化するものである。
コーディングは、(製造業における職人のような)専門的技量を必要とするので、アプリケーション層ではコーディングの必要性を排除し、IDEを使う代わりに事前定義されたコンポーネント群を組み合わせることでソフトウェアを構築する。コーディングは、新たなコンポーネントやサービスを開発するときのみ必要とされる。製造業と同様、コンポーネント(部品)の開発とシステムの構築には、技術が必要である。ソフトウェアファクトリーによって得られるのは、複合アプリケーション(英語版)である。
能力成熟度モデルで定義されたもので、予測可能で信頼できる、自律的に改善するソフトウェア開発プロセスを達成するフレームワークを生み出すことを意図していた。その戦略は、ソフトウェア開発組織の段階的改善から成り、どの工程が開発における鍵であるかを定義する。測定可能な範囲に留めようとするので、開発工程と品質は予測可能となる。
開発者がより高い抽象レベルでアプリケーション作成に使える情報を提供。