Kali ini saya membawa sebuah pengalaman baru. Judul yang saya bahas diatas cukup menarik, ya, saya sebut menarik karena kebetulan beberapa waktu lalu mengikuti sebuah acara dimana dari level executive hingga level teknis turut terlibat dalam diskusi panjang dan melelahkan.  Melelahkan karena ada beberapa bagian diskusi yang menurut saya bisa diselesaikan namun stuck karena suatu hal.

Nah apa hubungannya dengan menentukan pendekatan metode & arsitektur? Dalam diskusi tersebut sebenarnya ingin menentukan arah sistem yang dibangun nantinya seperti apa. Namun, kenyataan yang ada disana adalah “jauh panggang dari api”. Mengapa saya sebut begitu? Dalam diskusi tersebut sebenarnya ada 3 pihak, 1 sebagai pihak owner, 1 sebagai consultant / vendor dari pihak owner yang akan membangun aplikasi, dan sisanya adalah pihak – pihak yang bisa disebut stakeholder ataupun mitra kerja owner.  Saya yang dalam acara tersebut  berada di sisi mitra merasa heran dengan penjelasan dari pihak vendor yang ujug2 (artinya secara mendadak, tiba – tiba, tanpa pemberitahuan) mengharapkan kami sebagai mitra dari owner  untuk membangun aplikasi di sisi client. Dan lebih menyebalkan lagi, aplikasi tersebut tidak dibangun berdasarkan kebutuhan, diskusi panjang dan isu – isu yang kemungkinan ada di sisi mitra.

Saya tidak menganggap diri saya paling tahu, atau sok tahu. Namun, menentukan metoda apa yang digunakan dan menentukan bagaimana arsitektur sistem yang dibangun itu sangat penting. Semakin sering saya terlibat, saya semakin tahu bahwa salah besar kita memperlihatkan user interface terlebih dahulu dalam membangun sebuah aplikasi dalam sistem. Bahkan dalam membangun aplikasi yang langsung menyentuh user interface bisa dikategorikan juga sebagai dosa karena mengambil langkah yang salah.

3tier5-thumb

Gambar 1 Arsitektur 3 tier application

Memang tidak ada mahzab yang benar – benar baku dalam membangun sebuah sistem / aplikasi, namun ada baiknya melakukan pendekatan :

  1. Bagaimana arsitektur sistem yang dibangun, misal menggunakan pendekatan client-server2 tier application, 3 tier applicationJika sudah, lakukan pendekatan lebih dalam lagi, apalagi jika melibatkan 2 pihak stakeholders, apakah perlu dibangun menjadi sistem host to host, atau point to host.
  2. Lakukan measurement terhadap masing – masing pendekatan arsitektur yang menjadi pilihan, apa keunggulannya, kemudian apa kemungkinan yang menjadi isu baik itu isu major maupun minor dari masing – masing arsitektur.
  3. Berpikirlah jauh ke depan, misal anggap bahwa jumlah client itu sangat banyak, bahkan harus membayangkan berapa jumlah hit request per second

Saya sendiri juga dulu merasa aneh, seharusnya ketika kuliah saya dan kawan yang lain lebih sering untuk dijejali dengan pendekatan arsitektur mana yang dipilih, bukan mengenai apakah kita akan membangun desktop application ataupun web application, atau bahkan bahasa pemrograman apa yang digunakan, dan DBMS apa yang digunakan. Saya tidak mengatakan bahwa saya dan kawan – kawan tidak diajarkan hal tersebut, namun seharusnya lebih diperdalam mengenai hal tersebut. Dan dalam sidang pun seharusnya dosen penguji benar – benar menguji seberapa dalam pemahaman mahasiswa terhadap arsitektur dari aplikasi yang dibangun. Ini penting, sehingga ketika keluar pun mampu mengimplementasikan hal tersebut.

Saya tidak mengkritik, anggaplah ini pendapat yang dilihat dari sisi lain. Salam hangat untuk semua. 🙂

Advertisements