Tipe produk perangkat lunak dibedakan menjadi 2 yaitu :
1. Produk Generik : Sistem stand-alone standar yang diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yang membelinya. Biasa disebut sebagai software sbrink-wrapped. Contoh : pengolah kata (word processor).
2. Produk pesanan (yang disesuaikan) : Sistem yang dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.
Perbedaan penting antara tipe-tipe perangkat lunak :
1. Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
2. Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.