Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototipe sedang bekerja atau dibangun,pengembang harus mempergunakan fragmen-fragmen yang ada atau mengaplikasikan alat-alat bantu.
Contohnya: Report generator, window manager, dan lain-lain yang mungkin program yang bekerja untuk dimunculkan secara tepat
Prototipe bisa berfungsi sebagai "sistem pertaam"
Prototipe bisa juga menjadi masalah karena alasan-alasan sebagai berikut:
- Pelanggan melihat apa yang tampak sebagai versi perangkat lunak yang bekerja tanpa melihat bahwa prototipe itu dijalankan bersama-sama tanpa melihat bahwa didalam permintaan untuk membuatnya bekerja.
- Pengembang sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat.Sistem operasi atau bahasa pemrograman yang tidak sesuai bisa dipakai secara sederhana karena mungkin diperoleh da dikenal .
Prototyping dipakai bila ditemui kondisi
Definisi user bersifat umum, user tidak tahu pasti apa yang diinginkan definisi user bersifat tidak rinci, user tidak tahu pasti apa & bagaimana bentuk
� Masukan
� Proses
� Keluaran
Pengembang merasa tidak tahu pasti tentang
� Pilihan algoritma yang akan dipakai
� Bagaimana lingkungan sistem yang akan dikembangkan
� Bentuk, sifat & karakteristik antar muka pemakai
Terdapat ketidak pastian dipihak user yaitu tentang apa diinginkan, Terdapat ketidak pastian dipihak pengembang yaitu tentang apa yang harus dilakukan