Enam Bulan Mencoba Adopsi Architecture Decision Record

Apa itu ADR dan Bagaimana Adopsinya

Konsep ADR sangat sederhana. Setiap keputusan desain arsitektur (Architecture Decision) ditulis (Record-ed). Ide ini muncul dari metodologi Agile. Salah satu prinsip dalam Agile, kita tidak membuat dokumentasi yang tidak akan bisa kita jaga dan selalu perbaharui (kalau ga kuat maintain dokumentasi, jangan ditulis).

Proposal Ide

Saat muncul ide desain, usulan, atau saran perbaikan, yang punya ide akan membuat sebuah dokumen ADR dengan status Not Started, artinya belum mulai didiskusikan. Formatnya sederhana, ada 1) sedikit intro atau latar belakang masalah apa yang ingin dipecahkan, dan 2) proposal solusi beserta alternatif. Kami tulis dokumennya di wiki perusahaan yang bisa dilihat dan dikomentar secara online oleh siapapun di perusahaan.

Diskusi Desain

Setiap hari Senin kami meluangkan waktu 1.5 jam (placeholder, kadang lebih kadang kurang) untuk membahas dokumen ADR yang masih dalam status Not Started. Biasanya ada beberapa ADR dibuat dalam satu minggu. ADR-ADR tersebut diantrikan untuk dibahas satu per satu.

Saat Desain Harus Berubah

Kata seseorang (saya lupa siapa) the only thing that is constant in life is change. Namun ADR dengan status Decided tidak boleh diubah atau diperbarui kembali. Alasannya karena keputusan tersebut telah didiskusikan sebelumnya, mengubahnya perlu diskusi lebih lanjut. Apalah artinya keputusan yang sudah tertulis kalau bisa seenaknya diubah.

Apa yang Kami Pelajari setelah Enam Bulan Mengadopsi

Keputusan Desain Lebih Cepat Diambil

Dengan adanya proses yang jelas bagaimana keputusan desain diambil, pengambilan keputusan menjadi cenderung lebih cepat. Hal yang tidak saya sangka mengingat diskusi kami hanya satu minggu sekali (kadang lebih sih, saat ada yang urgent perlu dibahas). Sebelumnya, pengambilan keputusan desain yang konseptual bisa memakan waktu banyak, menghabiskan banyak meeting dengan stakeholder yang berbeda-beda.

Semakin Banyak Ide Desain yang Diutarakan Anggota Tim

Sebelumnya, saat seseorang terpikirkan sebuah ide, ide biasa diutarakan di chat room saat rekan yang lain sedang fokus kerja. Biasanya karena rekannya sedang sibuk kerja, rekannya kurang merespon. Hal ini sederhana sebenarnya, karena rekannya merasa ini bukan waktunya merespon dan mempertimbangkan desain itu perlu waktu khusus untuk fokus. Karena kurang direspon, teman-teman tim jadi malas untuk mengutarakan ide.

Retrospeksi Menjadi Lebih Mudah — Continuous Improvement

Saat kita mendesain sesuatu, kita akan mendesain berdasarkan informasi yang kita miliki saat itu, konstrain dan situasi pada saat itu. Di masa depan, biasanya kita mempertanyakan kembali, kenapa waktu itu saya memutuskannya desainnya seperti ini ya?

Alat Komunikasi Antar-Tim

Saat rekan kerja di luar tim bertanya, “Kenapa desain kalian seperti ini?”, kami bisa dengan mudah menjelaskannya karena semuanya tertulis dengan baik dan jelas. Rekan di luar tim pun bisa memberikan masukan dengan memberikan komentar di ADR-nya sehingga kami bisa perbaiki lagi desainnya.

Keputusan “Kecil” Tidak Masuk ADR

ADR cocok untuk mendiskusikan konsep desain yang berdampak pada banyak hal. Keputusan-keputusan yang sederhana biasanya diputuskan dalam diskusi informal sudah cukup. Hal ini karena ADR sendiri cukup mahal dalam prosesnya. Perlu membuat proposal, dan diskusinya satu minggu sekali. Tidak ada batasan yang nyata, lebih ke personal judgement saja.

Untuk Melihat State Saat Ini, Perlu Memproses Sejarah ADR

ADR muncul sebagai kritik pada dokumentasi desain konvensional. Maksudnya bagaimana? Dokumentasi desain di proyek waterfall itu biasanya tebalnya bukan main, dan sangat tidak update. Mengapa tidak update? Alaasannya sederhana, terlalu banyak untuk terus diupdate.

Mudah Ketika ada Rekan Tim Baru untuk Memahami Semuanya

Baru saja departemen kami mendapatkan anggota tim baru dan ia senang sekali untuk bisa tahu sejarah semua desain arsitektur di dalam satu tempat. Ketika ada anggota baru, biasanya mereka mempertanyakan desain yang sebenarnya sudah ada pertimbangan di belakangnya. Dengan ADR, semuanya jelas tertulis sehingga diskusi bisa lebih efektif untuk membahas yang belum pernah dibahas sebelumnya.

Masih Belajar

Kadang ada beberapa keputusan penting yang kami lupa lewati dalam proses ADR. Kadang apa yang didokumentasikan kurang jelas. Kadang diskusinya terlalu bias. Namun sejauh ini kami melihat banyak manfaat yang berharga untuk dibagikan.

--

--

Crazy dad. Data technology enthusiast. Youtube: Insinyur Data

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rendy B. Junior

Rendy B. Junior

Crazy dad. Data technology enthusiast. Youtube: Insinyur Data