Arsitektur TI dan Implementability (1)

TL, DR: Framework Enterprise Architecture TOGAF tidak secara langsung menjamin implementability, kita tetap perlu mmastikan berdasarkan kondisi IT dan expert judgement.

Aspen implementability merupakan aspek yang sangat penting dalam pembuatan Arsitektur TI. Kalau boleh, malah saya bilang paling penting (tentu tidak, yang paling penting adalah business alignment, tapi subject to discussion). Kenapa? Rasanya tidak perlu dijelaskan lagi. Sebelum melangkah lebih lanjut, yang dimaksud dengan implementability di sini adalah bawaimana arsitektur TI benar-benar dapat diimplementasikan di perusahaan/organisasi.

Banyak orang yang menganggap penerapan framework Enterprise Architecture dapa mengatasi semua masalah terkait Arsitektur TI, asalkan diterapkan dengan benar. Nah, saya bisa menganalisis sesuai dengan framework EA yang saya kuasai, TOGAF 9. AFAIK, sejauh yang saya pahami, TOGAF bahkan tidak secara khusus menekankan tentang implementability ini. Prinsip yang benar-benar ditekankan adalah business alignment, melalui business arcitecture, bersambung ke application architecture, dst.

Menurut saya, karena masalah inilah dalam beberapa kasus yang kami hadapi, aspek implementability terabaikan, lebih menekankan pada pemenuhan kebutuhan bisnis. Memang sih ada sisi positif, yaitu ketika kita mengembangkan arsitektur solusi tidak terkungkung dengan implementability sebagai constraint. Nah, seharusnya pada fase/tahap berikutnya, arsitektur ini direview kembali, terutama terkait implementability-nya. Kalau dibayangkan, fase TOGAF ADM itu jangan dianggap sebagaimana SDLC model waterfall. Bisa dilihat juga di TOGAF bagian penerapan iterasi, bahwa arsitektur tetap dapat direvisi pada fase transition planning.

Apa sih masalah implementability yang sering terjadi?

Pertama, masalah biaya, ini yang paling mudah dipahami. Perubahan teknologi memerlukan biaya, apalagi penggantian/pembelian teknologi baru. Seringkali harus terjadi tarik ulur antara kebutuhan (atau “keinginan”) pengguna TI dengan anggaran/budget yang tersedia.

Kedua, masalah kesiapan staf Divisi/Bagian TI untuk mengawal proses implementasi. Tentunya Divisi/Bagian TI di perusahaan terbatas. Walaupun dikatakan bahwa inisiatif tertentu dari Arsitektur yang telah dibuat akan diimplementasikan oleh pihak ketiga maupun outsource, tetap saja diperlukan pengawasan dari Divisi/Bagian TI. Pada akhirnya bisa saja terjadi keadaan dimana staf Divisi/Bagian TI tidak cukup, yang kalau dipaksakan risiko kegagalan akan lebih besar.

Ketiga, kesiapan perusahaan secara umum dan kesiapan TI lainnya secara khusus. Penerapan TI pasti berpengaruh pada proses bisnis, juga berpengaruh pada Teknologi Informasi lainnya yang telah ada di perusahaan.

Saat implementability dipertimbangkan dan kemudian ditemukan beberapa inisiatif perlu dipertimbangkan kembali, maka ada kemungkinan arsitektur TI perlu diubah agar tetap konsisten.

Yaap, sebetulnya ini adalah kasus antara pendekatan top-down (dalam hal ini business alignment) dan bottom-up (implementability) dalam membuat Arsitektur TI.

Iklan

Firefox Quantum!

Akhirnya Firefox Quantum dirilis juga oleh Mozilla (atau harus saya tuliskan dengan logo barunya: moz://a)!

Sudah sekitar sebulan ini aku menggunakan Firefox Quantum. Karena sudah ada di AUR, mudah saja untuk menginstallnya. Sejauh ini mantap. Stabil dan cepat. Bonus: pemakaian memory lebih kecil dari Chrome/Chromium. Sekitar satu bulan ini sudah jadi browser utama yang selalu kugunakan.

Extension screenshot sudah digantikan dengan bawaan Firefox Quantum, jadi nggak install tambahan extension khusus. Sayangnya, satu extension lain yang sering kugunakan di Chromium belum bisa berjalan di Firefox: All Mangas Reader. Jadi untuk satu hal tersebut, terpaksa masih buka Chromium..

Nah, saat ini sudah keluar versi rilisnya, bukan di Beta. Mari kita update..


$ pacaur -Syu
[sudo] password for xxxxx:
:: Sinkronisasi database paket...
core sudah mutakhir
extra 1655,2 KiB 41,3K/s 00:40 [########################################################################] 100%
community 4,1 MiB 44,7K/s 01:35 [########################################################################] 100%
multilib 172,7 KiB 37,6K/s 00:05 [########################################################################] 100%
:: Memulai peningkatan sistem menyeluruh...
menyelesaikan ketergantungan...
mencari paket paket yang tidak berkecocokan...
peringatan:dependensi berputar terdeteksi:
peringatan:usbmuxd akan dipasang sebelum libimobiledevice dependensinya

Paket (38) caja-1.18.5-1 chromium-62.0.3202.94-1 cups-filters-1.17.9-3 cython2-0.27.3-3 glade-3.20.1+6+gcac71ec3-1 gtk-doc-1.26+23+g8ad03e1-1 imagemagick-6.9.9.23-1 inkscape-0.92.2-6 itstool-1:2.0.2+5+g676f3f7-1
lib32-mesa-17.2.5-1 libimobiledevice-1.2.0+66+g5a85432-1 libnautilus-extension-3.26.2-1 libnm-1.10.0-1 libnm-glib-1.10.0-1 libreoffice-fresh-5.4.3-1 libsystemd-235.38-2 libusbmuxd-1.0.10+13+gc724e70-1
libvdpau-1.1.1+3+ga21bf7a-1 libxml2-2.9.7+4+g72182550-1 libxslt-1.1.32+3+g32c88216-1 linux-4.13.12-1 mesa-17.2.5-1 mesa-vdpau-17.2.5-1 nautilus-3.26.2-1 networkmanager-1.10.0-1 pluma-1.18.3-1
poppler-0.61.0-2 poppler-glib-0.61.0-2 python-setuptools-1:36.7.1-1 python2-pyicu-1.9.8-1 python2-setuptools-1:36.7.1-1 systemd-235.38-2 systemd-sysvcompat-235.38-2 tslib-1.14-1
usbmuxd-1.1.0+28+g46bdf3e-1 virtualbox-host-modules-arch-5.2.0-5 wine-2.21-1 zenity-3.26.0-1

Ukuran Unduhan Total: 327,87 MiB
Total Ukuran Terpasang : 1458,35 MiB
Ukuran Peningkatan Bersih: 18,78 MiB

:: Lanjutkan dengan pemasangan? [Y/n]

Lho.. Belum ada update masuk di repository-nya Arch, masih versi 56. Ya sudah, lanjut pakai versi beta dadri AUR dulu…

PostgreSQL 10.1: Upgrade (1)

Akhirnya masuk juga package postgresql versi 1010.1 di ArchLinux. Saatnya mengupgrade instalasi postgresql di laptopku.

Cek ricek, ternyata sudah terupdate versi psql dan postgresnya:


$ psql --version
$ psql (PostgreSQL) 10.1

Tapi mau koneksi ke server nggak bisa:

$ psql test
psql: could not connect to server: Tidak ada berkas atau direktori seperti itu
Is the server running locally and accepting
connections on Unix domain socket "/run/postgresql/.s.PGSQL.5432"?

Yaap, sesuai perkiraan, servernya nggak bisa jalan:

$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2017-11-13 10:40:43 WIB; 10h ago
Process: 371 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE)

Nov 13 10:40:42 systemd[1]: Starting PostgreSQL database server...
Nov 13 10:40:43 postgres[371]: An old version of the database format was found.
Nov 13 10:40:43 postgres[371]: See https://wiki.archlinux.org/index.php/PostgreSQL#Upgrading_PostgreSQL
Nov 13 10:40:43 systemd[1]: postgresql.service: Control process exited, code=exited status=1
Nov 13 10:40:43 systemd[1]: postgresql.service: Failed with result 'exit-code'.
Nov 13 10:40:43 systemd[1]: Failed to start PostgreSQL database server.

Saatnya membuka https://wiki.archlinux.org/index.php/PostgreSQL#Upgrading_PostgreSQL … Seperti biasa, wikinya ArchLinux memang sudah lengkap. Aku memilih menggunakan pg_upgrade, jadi menginstall dulu postgresql-old-upgrade, memindahkan data directory, dsb:

$ pacaur -S postgresql-old-upgrade
# systemctl stop postgresql.service
# mv /var/lib/postgres/data /var/lib/postgres/olddata
# mkdir /var/lib/postgres/data
# chown postgres:postgres /var/lib/postgres/data
[postgres]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data'

Ternyata untuk perintah terakhir (initdb) tersebut, karena existing data menggunakan checksum, maka harus menggunakan checksum juga:

initdb --data-checksums --locale id_ID.utf8 -E UTF8 -D /var/lib/postgres/data

Ternyata masih ada masalah:

[postgres]$ pg_upgrade -b /opt/pgsql-9.6/bin -B /usr/bin -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data
...
Checking for invalid "unknown" user columns fatal

Your installation contains the "unknown" data type in user tables. This
data type is no longer allowed in tables, so this cluster cannot currently
be upgraded. You can remove the problem tables and restart the upgrade.
A list of the problem columns is in the file:
tables_using_unknown.txt

Ternyata ada satu tabel yang masih pake tipe data “unknown”. Jadi harus menyalakan server lama:


[postgres]$ /opt/pgsql-9.6/bin/postgres -D /var/lib/postgres/olddata/

Koneksi ke server itu, kemudian perbaiki databasenya untuk kolom “unknown”, kemudian coba pg_upgrade lagi..

(continued)

… Sa’i (lanjutan)

… Apa yang disebut usaha? Apa yang disebut usaha maksimal?

Dengan mudah aku berkata “Saya sudah berusaha maksimal, tapi hasilnya masih seperti itu”.

Lihatlah Siti Hajar, yang berjalan, berlari bolak-balik Bukit Shafa dan Marwah. Mencari air. Berharap dari-Nya, cemas akan kurangnya usaha dengan apa yang telah diberikan oleh-Nya.

Tujuh kali. Bukan hanya sekali. Tujuh kali kita diwajibkan bolak-balik antara dua bukit yang jaraknya 400m itu. Kelihatannya sedikit, hanya 2,8 km. Bayangkan melakukan itu setelah tawaf tujuh putaran. Apalagi ketika haji. Setelah berjalan lebih dari 10 km dan thawaf.

Tentu tidak ada apa-apanya bila dibandingkan dengan Siti Hajar yang baru menempuh perjalanan jauh dan ditinggal oleh Nabi Ibrahim. Namun bagiku yang lemah ini, tujuh balikan Sa’i menguras sisa-sisa energiku. Walaupun terpikir juga perjalanan kembali ke Mina yang sama jauhnya.

Menurutku, begitu pula kehidupan ini. Apa yang disebut usaha maksimal? Sampai seluruh energi ini terkuras. Energi yang juga merupakan titipan, merupakan anugerah-Nya. Walaupun masih ada perjalanan lagi yang perlu dilakukan berikutnya, gunakanlah energi itu sepenuhnya untuk melakukan usaha maksimal.

Pada akhirnya, hasil dari usaha kita adalah urusan-Nya. Tugas kita hanya berusaha. Hasilnya adalah wewenang Sang Maha Pengasih dan Maha Penyayang. Yang Maha Kaya dan Maha Pemurah. Yang Kekuasaan-Nya meliputi Barat dan Timur. Yang Dengan Perkataan-Nya terjadilah segala sesuatu.

Semoga kita semua selalu diberi Petunjuk-Nya, diberi kekuatan dan jalan untuk berusaha secara maksimal, sembari tetap tunduk dan bergantung sepenuhnya pada Rahmat-Nya.. Aamiin..

Wa Shallallahu ‘ala Muhammadin wa Aali Muhammad..

Wa Maa Taufiiqi Illa BIllah, ‘Alaihi Tawakkaltu wa Ilaihi Uniib

Thawaf dan Sa’i (Take 2)

Tulisan sebelumnya tentang thawaf dan sa’i ini ruwet. Coba buat lagi yang lebih simpel, sambil mengingat kembali makna yang dirasakan…

Thawaf adalah salah satu ibadah utama Haji dan Umrah. Thawaf adalah perputaran. Perputaran mengelilingi Ka’bah. Perputaran mengelilingi-Nya. Tujuh putaran melambangkan putaran selamanya. Melambangkan perputaran kehidupan ini, selalu berputar menuju-Nya. Untuk menuju-Nya, kita tidak menyepi, namun kita menceburkan diri dalam putaran.

Begitu pula kehidupan kita, tidak lain melainkan perjalanan menuju Sang Tujuan Akhir. Islam mengajarkan kita untuk tidak berselibat. Mencebur di tengah-tengah masyarakat. “Orang yang paling baik adalah yang paling bermanfaat bagi orang lain”, begitulah ajaran Islam. Dalam thawaf, kita harus mengikuti arus, tidak menyerobot maupun menghalangi arus thawaf. Begitu pula di kehidupan kita. Niat kita luruskan untuk menuju keridhaan-Nya. Kita ikuti arus kehidupan, tidak melanggar hak orang lain dengan “menyerobot” maupun “menghalangi”.

Namun pada thawaf pun kita harus berjuang, berusaha agar syarat sahnya thawaf tetap terjaga. Menjaga wudhu, menjaga arah thawaf, tidak mundur, dan ka’bah selalu di sebelah kiri (kurang nggak ya?). Beberapa kali aku ulangi thawaf karena merasa syarat syah tersebut terganggu. Sebagai contoh karena desak-desakan jadi terdorong mundu, atau teputar.

Selanutnya, sa’i. Melambangkan usaha kita di Dunia. Kita harus berusaha maksimal, dan menyerahkan hasilnya kepada-Nya. Dalam usaha kita, harus selalu berharap akan karunia-Nya, dan cemas terhadap azab dari-Nya. Mengenai hasil akhirnya, itu merupakan anugerah dari-Nya..

Lampu Merah Perempatan Antapani

Beberapa waktu yang lalu aku tertahan lampu merah di perempatan antapani (Jl. Jakarta – Kiaracondong). Sudah lama tidak mengamati, karena sering lewat Sukabumi Dalam. Ternyata, masalah yang sama masih ada.

Masalah apa?

Sejak dibangun jalan layang pelangi, lampu merah di perempatan itu masih memberikan waktu khusus untuk kendaraan dari arah Jl. Jakarta. Khusus, karena tidak ada kendaraan dari arah lain yang mendapat lampu hijau.

Masalahnya, sejak percobaan menjadikan Jl. Jakarta secara menyeluruh jadi dua arah gagal karena tambah macet, kendaraan dari arah Jl. Jakarta tidak boleh lewat perempatan antapani. Bahkan, sudah beberapa bulan ini ditutup dengan seng karena katanya ada pekerjaan gorong-gorong (yang tidak selesai-selesai sampai saat ini).

Jadi ada waktu yang cukup lama semua kendaraan dari semua arah berhenti, tidak ada yang maju. Bayangkan tambahan waktu itu berpengaruh ke polusi, waktu tempuh, dsb.

Apakah sesulit itu mengatur konfigurasi lampu merah (traffic light) di perempatan? Kalau nanti dibuka lagi, tinggal atur ulang konfigurasinya ‘kan?

Do’a Kemenangan (1)

Bait pertama dari do’a kemenangan sangat indah:

اَللّـهُمَّ ارْزُقْنا تَوْفيقَ الطّاعَةِ

Ya Allah, karuniakanlah kepada kami kemudahan ketaatan

تَوْفيقَ maksudnya kemudahaan dengan restu/pertolongan. Seringkali kita di Indonesia ini berdoa agar mendapatkan taufik hidayah. Artinya kemudahan/pertolongan dan hidayah/petunjuk/bimbingan.

Pada do’a ini berbeda. Kita memohon karunia/rezeki dari Allah berupa pertolongan-Nya, yaitu ketaatan kepada-Nya. Hidayah tanpa ketaatan tidak berarti apa-apa. Kita mengetahui dan menyadari bahwa sesuatu itu salah, namun tanpa ketaatan, kita tidak akan melaksanakannya. Seperti rambu-rambu lalu lintas. Seorang supir kendaraan dapat saja mengetahui rambu lalu lintas, namun tidak taat.

Pada do’a ini kita hilangkan keakuan. Kita lemah, kita mohonkan Yang Maha Kuat agar dapat menolong kita agar kita dapat menta’ati perintah-Nya dan juga larangan-Nya.

Aamin..

(QS 11:88) وَمَا تَوْفِيقِي إِلَّا بِاللَّهِ عَلَيْهِ تَوَكَّلْتُ وَإِلَيْهِ أُنِيبُ