Ada banyak teknik yang biasa digunakan untuk penyelesaian masalah. Tapi ada beberapa teknik dan prinsip yang bisa diaplikasikan dalam hampir semua situasi secara umum.
1. Selalu mempunyai rencana.
Peraturan yang paling utama adalah memiliki rencana dan tidak melakukan aktifitas tanpa arah. Memiliki rencana selalu mungkin walaupun cara untuk memecahkan masalahnya belum ditemukan.
Rencana mungkin harus diubah ditengah jalan, tetapi rencana harus dibuat. Tanpa rencana kita hanya berharap pada keberuntungan. Dan keberuntungan itu jarang terjadi.
Dengan rencana juga bisa dipecah menjadi rencana rencana kecil, sehingga progres bisa diukur dan solusi bisa didapat dengan kepercayaan diri tanpa menjadi fustasi.
2. Definisi ulang permasalahannya.
Mendefinisikan ulang permasalahan itu seperti melingkari bukit yang akan kita daki. Dari pada langsung mendaki bagaimana jika bukit itu dilihat dulu dari berbagai sisi untuk melihat adakah jalan yang lebih mudah untuk ditanjak.
Seorang programmer biasanya tidak langsung menulis program dan mendesain, tapi dia membuat rencana dan didalam rencana tersebut dia mendefinisikan ulang.
Selain mendefinisikan ulang permasalahan bisa memberikan gagasan untuk pemecahan masalah, juga dapat menghilangkan kesalahan persepsi tentang apa yang diinginkan klien dan atasan kita dengan persepsi kita.
3. Bagi permasalahan menjadi beberapa fasa.
Membagi permasalahan menjadi beberapa langkah dan fasa membuat permasalahan menjadi lebih  mudah.
Membagi permasalahan mengecilkan besar dari problem tersebut.
Dalam pemograman membuat beberapa statement if didalam loop logic for akan lebih sulit dieksekusi daripada membuat logicnya secara berurutan
4. Mulai dari apa yang sudah kamu ketahui.
Setelah membagi permasalahan menjadi beberapa bagian, hal yang harus dilakukan adalah mulai dari apa yang kita sudah ketahui solusinya.
Solusi solusi kecil tersebut aka terkumpul sehingga ide besar bisa timbul.Â