Saya seorang programmer menengah dengan beberapa tahun pengalaman profesional yang setengah jalan melalui gelar master. Dalam belajar memprogram saya sering mendengar dua nasihat yang tampaknya saling bertentangan.
Nasihat pertama adalah membuat sesuatu bekerja dengan cepat, lihat cara kerjanya (baik melalui prototyping atau pengujian informal), perbaiki versi, lihat cara kerjanya lagi, perbaiki lagi ... dan kemudian ulangi siklus sampai selesai . Ini kadang-kadang disebut "pengembangan spiral" atau diucapkan sebagai "rilis awal, rilis sering."
Saran kedua adalah: benar-benar memikirkan sebuah proyek sebelum pernah menulis kode apa pun.
Saya sudah sukses dengan kedua metode dan saya akan mengatakan bahwa saya setuju dengan masing-masing filosofi.
Tapi sekarang saya mulai menangani proyek yang jauh lebih kompleks yang saya tidak tahu cara menyelesaikannya (seperti aplikasi terdistribusi dan pemrograman grafis berbasis kinerja).
Bagaimana cara saya mengerjakan proyek ini?
Apakah saya baru memulai pengkodean SESUATU dan belajar (platform / metode / bahasa / arsitektur) ketika saya pergi - atau apakah saya menunda dari pengkodean dan melakukan banyak penelitian / membaca sebelum saya bahkan membuka IDE?
Bagaimana saya merekonsiliasi saran saran pemrograman yang kontradiktif ini?