Software Architecture15 menit baca

Team Topologies: Organizing Business and Technology Teams for Fast Flow

oleh Matthew Skelton & Manuel Pais

Arsitektur sistem yang bagus percuma kalau struktur tim di baliknya justru saling menghambat satu sama lain.

Banyak organisasi menghabiskan waktu bertahun tahun merancang arsitektur software yang elegan, hanya untuk menyadari bahwa sistem mereka tetap lambat berkembang karena satu alasan yang jarang dilihat sebagai masalah teknis, yaitu struktur tim yang salah. Matthew Skelton dan Manuel Pais, dua konsultan yang telah bertahun tahun membantu organisasi teknologi menata ulang cara kerja timnya, menulis buku ini untuk menunjukkan bahwa desain organisasi dan desain sistem sebenarnya adalah dua sisi mata uang yang sama.

Lewat Team Topologies, keduanya menawarkan kerangka konkret soal bagaimana seharusnya tim teknologi disusun agar aliran kerja bisa mengalir cepat tanpa hambatan koordinasi yang berlebihan. Premis utamanya bersandar pada hukum Conway, yaitu struktur software yang dibangun organisasi akan selalu mencerminkan struktur komunikasi tim yang membangunnya, sehingga jika Anda ingin sistem yang baik, Anda harus mulai dari struktur tim yang baik pula.

Contoh Analogi

Skelton dan Pais menyamakan tim yang terus menerus perlu berkoordinasi lintas divisi untuk merilis satu fitur kecil dengan sebuah orkestra di mana setiap pemain harus meminta izin ke banyak orang lain sebelum berani memainkan satu not saja. Orkestra semacam ini akan selalu terdengar berantakan dan lambat, betapapun berbakatnya masing masing pemain individu. Tim teknologi yang sehat, menurut mereka, lebih mirip band kecil yang sudah lama berlatih bersama, di mana setiap anggota tahu perannya, punya otonomi untuk berimprovisasi dalam batas tertentu, dan hanya perlu koordinasi minimal dengan band lain saat benar benar diperlukan.


Bagian 1: Empat Jenis Tim Fundamental

Skelton dan Pais memperkenalkan empat pola dasar tim yang menurut mereka cukup untuk mengorganisasi hampir seluruh kebutuhan organisasi teknologi. Pertama adalah stream-aligned team, yaitu tim yang bertanggung jawab penuh atas satu aliran kerja bisnis tertentu dari awal sampai akhir, dan menjadi jenis tim paling umum serta idealnya paling dominan jumlahnya dalam organisasi.

Kedua adalah platform team, yang menyediakan layanan internal seperti infrastruktur atau tooling agar stream-aligned team bisa bergerak lebih cepat tanpa perlu membangun semuanya dari nol. Ketiga adalah enabling team, yang berisi spesialis dengan keahlian tertentu untuk membantu tim lain mengatasi kesenjangan kemampuan secara sementara, dan keempat adalah complicated-subsystem team, yang menangani bagian sistem dengan kompleksitas teknis sangat tinggi yang butuh keahlian mendalam dan terfokus.

“Team structures and organizational conventions play a much bigger part in the success or failure of engineering efforts than most people realize.”

Bagian 2: Beban Kognitif sebagai Batas Alami Ukuran Tim

Salah satu konsep sentral buku ini adalah cognitive load, yaitu jumlah informasi dan kompleksitas mental yang bisa ditanggung sebuah tim sebelum efektivitasnya mulai menurun drastis. Skelton dan Pais berargumen bahwa banyak organisasi gagal karena membebani satu tim dengan terlalu banyak sistem atau domain yang harus dipahami sekaligus, jauh melebihi kapasitas kognitif wajar tim tersebut.

Merancang Ukuran Domain yang Wajar

Mereka mendorong pembaca untuk secara sadar mengukur beban kognitif setiap tim, lalu membatasi cakupan tanggung jawab tim tersebut sesuai kapasitas nyatanya, bukan berdasarkan asumsi bahwa tim yang cukup pintar seharusnya bisa menangani apa saja. Prinsip ini sering bertentangan dengan kebiasaan organisasi yang terus menambah tanggung jawab ke tim yang sudah berkinerja baik, tanpa mempertimbangkan bahwa kapasitas kognitif mereka sebenarnya sudah mendekati batas.

Kesadaran akan beban kognitif ini menjadi dasar penting untuk menentukan kapan sebuah domain sebaiknya dipecah menjadi tanggung jawab beberapa tim terpisah.


Bagian 3: Interaksi Antar Tim yang Disengaja

Buku ini menekankan bahwa cara tim berinteraksi satu sama lain sama pentingnya dengan struktur tim itu sendiri. Skelton dan Pais mengidentifikasi tiga mode interaksi utama, yaitu collaboration, di mana dua tim bekerja sangat dekat untuk sementara waktu guna memecahkan masalah bersama, X-as-a-Service, di mana satu tim menyediakan layanan yang dikonsumsi tim lain dengan batasan jelas dan minim koordinasi, dan facilitating, di mana satu tim membantu tim lain belajar dan mengatasi hambatan tertentu.

Menghindari Kolaborasi yang Berkepanjangan

Salah satu peringatan penting yang mereka berikan adalah bahaya mode kolaborasi yang dibiarkan berlangsung terlalu lama tanpa batas waktu jelas, karena meski kolaborasi erat berguna di fase awal memecahkan masalah kompleks, mode ini menuntut komunikasi intensif yang melelahkan jika dipertahankan selamanya. Idealnya, tim yang berkolaborasi erat akan bertransisi ke mode X-as-a-Service begitu batasan tanggung jawab sudah cukup jelas, agar masing masing tim bisa kembali bergerak lebih independen.

Kejelasan mode interaksi ini membantu organisasi menghindari kebingungan soal ekspektasi komunikasi antar tim yang sering menjadi sumber gesekan tak perlu.


Bagian 4: Merancang Sistem lewat Batasan Tim

Skelton dan Pais mendorong pembaca untuk membalik cara berpikir umum soal desain arsitektur, yaitu alih-alih merancang arsitektur ideal lalu memaksa tim menyesuaikan diri dengannya, mereka menyarankan merancang batasan tim terlebih dulu sesuai kapasitas dan domain bisnis, lalu membiarkan arsitektur sistem terbentuk mengikuti batasan tim tersebut secara alami.

Menyelaraskan Arsitektur dengan Realitas Organisasi

Pendekatan ini mengakui kenyataan yang sering diabaikan, yaitu arsitektur ideal di atas kertas sering gagal diimplementasikan dengan baik kalau struktur tim yang mengeksekusinya tidak sejalan dengan batasan arsitektur tersebut. Dengan sengaja merancang batasan tim yang selaras dengan domain bisnis dan kapasitas kognitif yang wajar, organisasi justru lebih mungkin menghasilkan arsitektur sistem yang benar benar bisa dikelola dan berkembang dengan sehat dalam jangka panjang.

Pendekatan ini menantang asumsi lama bahwa arsitektur selalu harus dirancang lebih dulu secara independen dari pertimbangan struktur tim yang akan membangunnya.


Bagian 5: Evolusi Struktur Tim yang Berkelanjutan

Menjelang akhir buku, Skelton dan Pais menekankan bahwa struktur tim yang baik hari ini belum tentu tetap ideal beberapa tahun ke depan, seiring pertumbuhan organisasi dan perubahan kebutuhan bisnis. Mereka mendorong organisasi untuk memperlakukan topologi tim sebagai sesuatu yang terus dievaluasi dan disesuaikan, bukan struktur statis yang ditetapkan sekali lalu dibiarkan begitu saja.

Mereka memberikan berbagai sinyal yang menandakan sebuah struktur tim sudah perlu diubah, misalnya ketika satu tim mulai kewalahan menangani terlalu banyak permintaan dari tim lain, atau ketika batasan tanggung jawab menjadi kabur karena pertumbuhan organik yang tidak terkelola dengan baik. Kesediaan untuk terus mengevaluasi dan menyesuaikan struktur ini, menurut mereka, menjadi pembeda organisasi yang benar benar gesit dari yang terjebak struktur usang.

Pesan penutup mereka menegaskan bahwa topologi tim yang sehat bukan tujuan akhir yang sekali dicapai lalu selesai, melainkan proses adaptasi berkelanjutan seiring organisasi dan sistem yang terus bertumbuh.


Pelajaran untuk Hari Ini

1. Ukur Beban Kognitif Tim Anda Secara Jujur Evaluasi apakah tim Anda saat ini menangani terlalu banyak domain atau sistem sekaligus, melebihi kapasitas wajar untuk bekerja efektif.

2. Perjelas Mode Interaksi dengan Tim Lain Tentukan secara eksplisit apakah hubungan tim Anda dengan tim lain bersifat kolaborasi sementara, layanan mandiri, atau fasilitasi, agar ekspektasi komunikasi jelas bagi semua pihak.

3. Rancang Batasan Tim Sebelum Memaksakan Arsitektur Ideal Pertimbangkan kapasitas dan domain tim nyata Anda saat merancang arsitektur, alih alih memaksakan struktur ideal di atas kertas yang mungkin sulit dieksekusi.

4. Evaluasi Struktur Tim Secara Berkala Jangan anggap struktur tim yang berhasil hari ini akan tetap ideal selamanya, jadwalkan evaluasi rutin untuk menyesuaikannya dengan pertumbuhan organisasi.


Penutup

Team Topologies membuka mata banyak pemimpin teknologi bahwa masalah kecepatan dan kualitas sistem sering berakar dari struktur tim yang belum dirancang dengan sengaja, bukan semata masalah teknis dalam kode itu sendiri. Skelton dan Pais menawarkan bahasa dan kerangka yang konkret untuk mendiskusikan topik yang selama ini sering terasa abstrak dan sulit diukur, yaitu bagaimana seharusnya organisasi menata timnya agar bisa bergerak cepat tanpa kehilangan kualitas.

Di era ketika organisasi semakin sering harus mengintegrasikan kemampuan baru seperti AI ke dalam produk mereka, kebutuhan akan struktur tim yang jelas dan beban kognitif yang terkelola dengan baik menjadi semakin penting, karena setiap kemampuan baru yang ditambahkan berpotensi menambah kompleksitas yang harus ditanggung tim tertentu, sehingga kejelasan batasan tanggung jawab menjadi kunci agar penambahan tersebut tidak membebani tim secara berlebihan.

Pertanyaan reflektifnya, dari sekian banyak dependensi dan koordinasi yang dibutuhkan tim Anda saat ini, mana yang benar benar perlu, dan mana yang sebenarnya tanda bahwa batasan tim Anda perlu dirancang ulang?


Tentang Buku Asli

Team Topologies terbit pada tahun 2019, ditulis oleh Matthew Skelton dan Manuel Pais, dua konsultan berpengalaman yang telah membantu puluhan organisasi teknologi di berbagai negara menata ulang struktur tim mereka untuk mendukung aliran kerja yang lebih cepat dan sehat.

Buku ini dengan cepat menjadi rujukan populer di kalangan pemimpin teknologi dan arsitek software karena berhasil menjembatani topik yang sering dianggap murni urusan manajemen, yaitu struktur organisasi, dengan implikasi teknisnya terhadap arsitektur sistem secara langsung. Kerangka empat jenis tim dan tiga mode interaksinya menjadi kosakata yang kini banyak dipakai di industri untuk mendiskusikan desain organisasi teknologi.

Buku ini paling cocok dibaca oleh engineering leader dan CTO yang sedang merancang atau menata ulang struktur tim teknologi, software architect yang ingin memahami hubungan antara struktur organisasi dan desain sistem, serta siapa saja yang penasaran kenapa hukum Conway begitu sering disebut dalam diskusi arsitektur software modern. Silakan cari versi lengkapnya untuk mendalami studi kasus dan diagram topologi tim yang dibahas lebih rinci di setiap babnya.

Selamat! Kamu telah menyelesaikan ringkasan ini.
Baca Buku Lainnya →

Buku serupa

Cover Software Engineering at Google: Lessons Learned from Programming Over Time
Software Architecture

Software Engineering at Google: Lessons Learned from Programming Over Time

oleh Titus Winters, Tom Manshreck, dan Hyrum Wright

Menulis kode itu programming. Menjaga kode itu tetap hidup selama sepuluh tahun ke depan, itu baru software engineering.

15 min baca
Cover The Mythical Man-Month: Essays on Software Engineering
Software Architecture

The Mythical Man-Month: Essays on Software Engineering

oleh Frederick P. Brooks Jr.

Sembilan wanita tidak bisa melahirkan bayi dalam satu bulan. Tapi sampai hari ini, masih ada manajer yang percaya sembilan programmer bisa.

15 min baca
Cover Domain-Driven Design: Tackling Complexity in the Heart of Software
Software Architecture

Domain-Driven Design: Tackling Complexity in the Heart of Software

oleh Eric Evans

Kode Anda bukan cuma soal logika. Kode Anda adalah bahasa, dan kalau tim Anda tidak bicara bahasa yang sama, sistem Anda akan pelan-pelan runtuh dari dalam.

15 min baca
Cover Fundamentals of Software Architecture: An Engineering Approach
Software Architecture

Fundamentals of Software Architecture: An Engineering Approach

oleh Mark Richards & Neal Ford

Arsitektur perangkat lunak bukan soal mencari satu pola yang sempurna, tapi soal memilih trade-off mana yang paling sanggup Anda tanggung.

15 min baca