Alasan Anda mendapati hal ini begitu sulit adalah karena Anda memiliki ide, tetapi Anda tidak benar-benar memiliki gagasan lengkap tentang apa yang ingin Anda lakukan. Jika Anda melakukan proyek Anda sendiri dan Anda tidak memiliki pelanggan untuk memberi tahu Anda apa yang mereka inginkan, maka terserah Anda untuk menjadi pelanggan Anda sendiri. Tempatkan diri Anda pada posisi pelanggan dan mulailah membangun daftar harapan yang tidak mungkin.
Dengan kata lain, ketika Anda mulai, jangan mendesain APA SAJA !!! .
Setelah Anda memiliki daftar besar hal-hal yang Anda ingin sistem lakukan, prioritaskan semuanya dan tentukan fungsionalitas minimum apa yang akan membuat sistem dasar berjalan. Ini bisa berupa fungsi dasar tunggal, atau seluruh layar, tetapi perlu sesuatu yang Anda rasakan - karena pelanggan-akan cukup berguna untuk menguji.
Jadi, Daftar keinginan fitur + prioritas dasar = Persyaratan .
Setelah Anda memiliki semua itu, lakukan desain tingkat yang sangat tinggi. Duduk dan pikirkan apa yang dibutuhkan sistem Anda untuk menjalankan beberapa prioritas pertama. Ubah pikiran Anda jika Anda mau, tetapi di sinilah Anda mungkin ingin melonjak beberapa kode atau konfigurasi sistem untuk mempelajari lebih lanjut tentang apa yang mungkin. Hanya cukup jauh untuk memvalidasi ide dasar Anda tentang suatu desain.
Yaitu: SEKARANG Anda bisa memanjakan desakan desainer Anda .
Setelah selesai, Anda mulai mengimplementasikan fitur-fitur Anda. Buat untuk setiap fitur spesifikasi fungsional dasar. Ini bisa sesederhana kumpulan pernyataan fitur. Kartu cerita jika Anda suka. Ini memungkinkan Anda untuk sedikit mengembangkan ide dalam pikiran Anda, dan untuk membuat seperangkat pernyataan yang akan menjadi spesifikasi yang akan Anda uji dan membangun penerapannya.
Cry Havoc, biarkan anjing-anjing ... Kode !!
Dari sana, terapkan tes Anda untuk mencocokkan spesifikasi Anda, lalu untuk setiap tes, tulis kode Anda. Bangun, "lepaskan", lalu ulangi dengan fitur berikutnya sampai Anda memutuskan proyek itu cukup lengkap.
Ini benar-benar turun ke pengalaman, tetapi pendekatan yang saya temukan ini adalah formula sederhana untuk membantu Anda memusatkan pikiran Anda pada apa yang perlu dilakukan, daripada terjebak dalam siklus penundaan yang tak berkesudahan karena mencoba melakukan terlalu banyak pada sekali.