Waterfall
Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak dan biasanya disebut juga dengan classic life cycle, dimulai dari tingkat sistem dan kemajuan melalui analisis, desain, coding, testing dan pemeliharaan.
Rekayasa dan Pemodelan Sistem/Informasi (System/Information Engineering and Modeling) Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan dari semua elemen sistem dan mengalokasikan suatu subset ke dalam pembentukan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data. Rekayasa dan pemodelan sistem menekankan pada pengumpulan kebutuhan pada level sistem dengan sedikit perancangan dan analisis.
Analisis Kebutuhan Perangkat Lunak (Software Requirements Analysis)
Proses pengumpulan kebutuhan diintensifkan ke perangkat lunak. Harus dapat dibentuk domain informasi, fungsi yang dibutuhkan, performansi dan antarmuka.
Desain (Design) Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum dimulai penulisan program. Penulisan Program (Coding) Desain tadi harus diubah menjadi bentuk yang dimengerti mesin (komputer). Maka dilakukan langkah penulisan program.
Setelah kode program selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing difokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan.
Perangkat lunak setelah diberikan pada pelanggan, mungkin dapat ditemui error ketika dijalankan dilingkungan pelanggan. Atau mungkin pelanggan meminta penambahan fungsi, hal ini menyebabkan faktor maintenance (pemeliharaan) ini menjadi penting dalam penggunaan metode ini. Pemeliharaan ini dapat berpengaruh pada semua langkah yang dilakukan sebelumnya.