
Pembangunan perangkat lunak (software development) secara sederhana dapat diibaratkan seperti proses memasak. Untuk menghasilkan masakan yang enak baik dari segi citarasa maupun penampilannya tentu diperlukan langkah-langkah dan perencanaan yang matang. Langkah-langkah tersebut disebut resep. Demikian juga dalam pengembangan software, diperlukan langkah yang disebut sebagai metodologi pengembangan perangkat lunak. analisa kebutuhan pengguna atau requirement gathering merupakan tahapan yang sangat penting karena akan menentukan seperti apa software atau sistem akan dihasilkan. Akan tetapi, tahapan ini justru sering dikesampingkan bahkan dilupakan oleh para software developer.