Analyze (Analisis)
Pada tahap analisis ini, berfungsi untuk merencanakan rancangan pembuatan software atau aplikasi. Dimulai dari perencanaan alokasi sumber daya, biaya, estimasi waktu pengerjaan, kebutuhan tim, dan lain – lain.
Pada tahap ini seorang Project Manager harus memikirkan matang – matang rencana pengerjaan proyek. Sehingga untuk kedepannya dapat dilakukan dengan baik. Dan yang terpenting, komunikasi dari tim developer dengan pihak manager dapat berjalan dengan selaras dan sinkron.
Design (Desain)
Selanjutnya, setelah melakukan perencanaan dengan baik. Tahap berikutnya adalah proses desain aplikasi. Pada tahap ini, pengembang akan merencanakan seluruh sistem dan merencanakan alur algoritma dengan baik.
Proses desain disini tidak hanya dalam penentuan alur algoritma program. Tetapi, pembuatan desain awal tampilan akan diperhatikan agar saat masuk pada tim developer dapat mengimplementasikan dengan sempurna. Biasanya, tim UI / UX Designer dapat mengerjakan tugas ini untuk segera diserahkan nantinya kepada tim developer.
Implementation (Implementasi)
Tahap ketiga adalah implementasi program. Setelah berhasil menentukan desain awal dari pengembangan aplikasi, selanjutnya akan diserahkan pada tim developer. Di tim software developer sendiri akan dibagi menjadi dua tim besar, front end dan back end.
Setiap tim akan menjalankan tugas masing – masing. Dalam tahap ini masuk pada penulisan kode dengan menggunakan bahasa pemrograman tertentu. Semisal pada pembuatan website tim front end menggunakan bahasa pemrograman seperti HTML, CSS, dan JavaScript. Pada tim back end menggunakan PHP, Apache, SQL, Node.js, dll.
Testing (Pengujian)
Pada tahap keempat setelah menyelesaikan proses pembuatan program, maka akan masuk pada tahap pengujian atau testing. Testing disini lebih pada pengujian program yang dibuat untuk mencari berbagai kesalahan seperti bug, error ataupun permasalahan lain yang dapat muncul dari software tersebut.
Pada beberapa perusahaan besar ataupun startup, biasanya menempatkan tim khusus untuk menangani tahap pengujian. Quality Assurance (QA) merupakan posisi untuk menangani pengujian software. Pengujian dapat dilakukan dengan metode black box maupun white box.
Deployment (Perilisan)
Setelah menyelesaikan tahap testing, selanjutnya masuk pada perilisan produk. Proses deploy ini berarti software atau perangkat lunak telah berhasil dibuat dan siap untuk diserahkan pada klien. Dan untuk selebihnya, klien akan mencoba fungsionalitas dari aplikasi tersebut.
Maintenance (Perbaikan)
Apabila saat proses deployment muncul sebuah problematika baru, maka klien dapat memberikan feedback kepada tim developer. Dan selanjutnya dapat dilakukan tahap maintenance atau perbaikan. Pada tahap ini, pihak pengembang dapat melakukan update versi atau penambahan fitur untuk mengatasi permasalahan dari klien tersebut.