10. Over Engineering terhadap solusi.

Teori pemrograman dan desain solusi di dunia Software IT Development banyak sekali.

Layered Architecture, Design Pattern, Microservices, Event Based System, Reactive Sytem, banyak sekali kalau mau disebut.

Namun tiap desain solusi itu asalnya untuk menangani sebuah kasus spesifik, ada context dan latar belakangnya.

Lalu permasalahannya dimana ?

Beberapa Software Engineer terkadang terlalu bersemangat untuk menerapkan semua ide-ide dan teori tersebut ke semua permasalahan Software IT Development yang dihadapinya.

Padahal tiap permasalahan itu ada context nya dan kasus spesifiknya. Membaca dan mencocokkan antara context dan pilihan solusinya adalah proses yang sangat penting.

Karena kalau tidak, maka solusi yang diusulkan bisa jadi Over Engineering atau terlalu dipaksakan untuk memakai teknologi atau konsep tertentu, yang sebenarnya belum/tidak dibutuhkan.

Contohnya ?

Misalkan proses update data Karyawan yang hanya bisa dilakukan oleh Administrator aplikasi ke database sendiri.

Dilakukan satu persatu melalui tampilan antarmuka aplikasi, karena data karyawan yang berubah juga tidak sering.

Pemrosesan update data ini adalah proses sederhana.

Tetapi bisa saja dibuat rumit dengan menambahkan queue atau asynchronous system sebelum masuk ke database.

Ada yang salah dengan metode ini ?

Tidak ada yang salah dengan metoda itu , tetapi terlalu dipaksakan dan tidak membawa banyak manfaat dikaitkan dengan context permasalahannya.

Kecuali memang ada latar belakang dan tujuan yang bisa dimaklumi terkait dengan solusi tersebut. (regulasi IT, integrasi dengan sistem lain, kebutuhan analisis, dll).