Ketika kita berbicara tentang arsitektur microservice, di depan mata kita ada satu set yang otonom, hampir tidak tergantung satu sama lain komponen. Isolasi adalah landasan dari setiap sistem layanan microser. Tetapi, bahkan jika kita yakin akan kemampuan kita menciptakan layanan-layanan mikro, muncul pertanyaan - seberapa banyak struktur organisasi siap untuk tugas semacam itu? Apakah kita dapat memanfaatkan peluang dan keterbatasan yang dibawa oleh layanan mikro? Bagaimana cara mengadaptasi tim agar berhasil dengan arsitektur ini? Pada artikel ini kita akan mencoba membahas aspek organisasi dalam mengembangkan sistem layanan-mikro.
Pendekatan tradisional
Perusahaan-perusahaan bisnis besar secara historis telah diatur sebagai seperangkat unit fungsional: keuangan, pemasaran, operasional, SDM dan sebagainya. Kebutuhan akan otomatisasi digital dari proses bisnis telah mendorong perusahaan untuk membentuk unit fungsional lain - departemen TI. Pada gilirannya, departemen TI kemudian dibagi menjadi tim fungsional programmer, penguji, administrator sistem - dengan prinsip menggabungkan kelompok spesialis dengan seperangkat pengetahuan dan fungsi tertentu. Pola pemikiran organisasi terlihat cukup jelas. Dan stabilitasnya tidak terkait dengan keengganan untuk melakukan upaya menganalisis efektivitas manajemen, tetapi dengan kelembaman proses dan tidak adanya tantangan yang jelas yang akan membahayakan keberhasilan organisasi.
Namun, pemisahan personel sesuai dengan fungsinya pasti membuat jarak antara tim. Ketika pengujian perangkat lunak dilakukan oleh tim penguji yang terpisah, pengembang hanya berfokus pada penulisan kode dan tidak terlalu peduli dengan kemampuan uji. Akibatnya, produk perangkat lunak memiliki banyak penyimpangan dalam spesifikasi dan, lebih buruk lagi, tim secara bertahap berubah menjadi yang terpisah.
Catatan: Jiwa Silo adalah keengganan untuk berbagi.
informasi dengan karyawan unit lain dari organisasi yang sama. Seperti itu
perilaku sering mengarah pada penurunan efektivitas organisasi dan, paling buruk
Kasus mengarah pada penghancuran budaya perusahaan.Selain itu, dalam unit yang sangat fungsional, proses pengambilan keputusan pasti melambat. Biaya koordinasi jadwal kerja tim meningkat. Kualifikasi dan pengalaman penguji yang sama, misalnya, perlu penyeimbangan konstan dengan mempertimbangkan spesifikasi yang dibutuhkan oleh tim pengembangan. Ya, dan ambang masuk yang tinggi dan kebutuhan untuk transfer pengetahuan memperlambat proses: ahli eksternal membutuhkan pengalihan konteks tugas yang konstan untuk melayani permintaan dari berbagai tim.
Jadi, ketika perusahaan dengan struktur organisasi tradisional dihadapkan dengan kebutuhan akan respons yang hampir seketika terhadap tantangan yang datang terus-menerus dari bisnis, departemen TI mereka tidak dapat memastikan efektivitas solusi. Evolusi teknologi yang cepat hanya memperburuk kelambatan ini dan mempersulit tugas mempertahankan tingkat motivasi dan profesionalisme yang diperlukan dalam tim khusus yang melayani pengembangan. Dan karena tujuan utama TI adalah dan untuk secara efektif memastikan siklus hidup penuh produk yang berdiri sendiri (termasuk layanan mikro), kebutuhan untuk mengatur kembali tim dari tim fungsional yang berorientasi horizontal menjadi tim yang berorientasi vertikal, mandiri dan mandiri menjadi jelas.
Perintah Fungsional Lintas
Menurut Wikipedia, tim lintas fungsi adalah sekelompok orang dengan berbagai tugas fungsional dan bekerja menuju tujuan bersama. Dalam bisnis saat ini, inovasi adalah keunggulan kompetitif terkemuka. Tim lintas fungsi menumbuhkan inovasi melalui kolaborasi kreatif - baik di dalam tim maupun dengan tim lain dalam organisasi.
Gambar 1. Tim fungsional dan lintas fungsional.Tim pengembangan layanan mikro lintas fungsional terdiri dari pengembang, insinyur basis data, penguji, insinyur infrastruktur, dan spesialis lainnya. Tim semacam itu membuat modifikasi lebih cepat daripada yang fungsional, karena mereka dapat membuat keputusan sendiri dan bekerja secara independen dari tim lain. Dengan berfokus pada peningkatan waktu siklus pengembangan dan penerapan penyebaran berkelanjutan, tim ini mampu menyelesaikan masalah hampir secara instan.
Shamim Mohammad, Direktur IT CarMax, mengatakan: โDalam dunia yang berkembang pesat, penting untuk menciptakan tim produk lintas fungsi yang fleksibel yang dapat dengan cepat memilah solusi untuk suatu masalah. Mereka diberkahi dengan semua kekuatan yang diperlukan dan manajemen tidak pernah memberi tahu mereka bagaimana menyelesaikan masalah, tetapi hanya terdiri dari apa itu dan apa indikator kinerja utama yang dapat digunakan untuk bekerja. Pendekatan ini memungkinkan Anda untuk meningkatkan umpan balik, mempercepat proses pengembangan secara signifikan, menggunakan coba-coba untuk akhirnya menemukan solusi terbaik bagi pelanggan dan mitra. Kami juga menemukan bahwa tim lebih berisiko dan kreatif dalam mencapai tujuan mereka. Jika Anda tidak memiliki tim yang terintegrasi sepenuhnya, lihat dan pikirkan, apakah Anda siap untuk transformasi digital yang sukses? "
Menurut survei dari Massachusetts Institute of Technology dan Deloitte Global Human Capital Trend, perusahaan dengan digitalisasi proses tingkat tinggi dalam pengembangan inovasi mereka sangat tergantung pada kehadiran tim lintas fungsi. 83% perusahaan dewasa mengakui mereka menggunakan tim lintas fungsi. Meskipun kompleksitas operasional meningkat (biaya tambahan hingga 16%), perusahaan menerima peningkatan signifikan dalam indikator operasi (hingga 53%), peningkatan akses ke sumber daya dan aset (hingga 37%), fleksibilitas yang lebih besar (hingga 12%) dan penurunan tingkat birokrasi yang berlebihan karena pengurangan hierarki struktur organisasi (hingga 11%).

Gambar 2. Manfaat mengadaptasi tim lintas fungsi. Statistik.Transisi yang mulus dan bertahap dari tim fungsional ke lintas fungsional sangat mungkin dilakukan. Tim lintas fungsi pertama dibentuk di sekitar peluang bisnis paling berharga yang membutuhkan perhatian terus-menerus dan respons cepat dari TI. Anggota tim fungsional pindah ke tim lintas fungsional, sambil memperdalam pengalaman mereka dan umumnya meningkatkan otonomi tim dan proses pengambilan keputusan. Pada titik tertentu, perintah fungsional diubah sepenuhnya menjadi seperangkat perintah lintas fungsional.
Gambar 3. Transisi ke tim lintas fungsi.Munculnya tim platform
Namun, keberadaan tim lintas fungsi semata tidak berarti bahwa kami telah menyediakan kondisi terbaik untuk penciptaan layanan mikro dan paling efektif memenuhi persyaratan bisnis. Masih ada sejumlah tugas yang terkait dengan pengembangan, dukungan dan pemeliharaan, yang paling signifikan adalah:
- Sinkronisasi (konsistensi) data;
- Keusangan data
- Keamanan;
- Komunikasi antar layanan;
- Penemuan layanan;
- Pembalakan dan pemantauan terdistribusi;
- Ketergantungan siklik antara layanan dan debugging;
- Pengujian;
- Keandalan dan toleransi kesalahan;
- Performa.
Sebagian besar dari mereka bukan tugas lokal dari layanan microser tertentu. Ini adalah tugas-tugas tingkat sistem secara keseluruhan dan lebih terkait dengan infrastruktur sistem layanan-mikro. Banyak organisasi menyebut infrastruktur ini sebagai "platform", dasar di mana layanan-layanan mikro dibuat dan dikembangkan.
Bahkan, dengan pertumbuhan organisasi, ketergantungannya pada teknologi yang digunakan meningkat. Berbagai bidang inkonsistensi muncul semakin sering, yang menyebabkan organisasi kehilangan kemampuannya untuk dengan cepat maju di pasar, menilai peluang yang muncul, dan berinovasi. Sebuah jalan keluar yang mungkin dari situasi ini adalah transisi ke penggunaan "platform digital" yang terdiri dari "blok peluang" di bidang yang paling penting dari aktivitas organisasi (seperti infrastruktur untuk memberikan solusi atau berinteraksi dengan klien). Platform digital meminimalkan kesenjangan antara konsep dan investasi; meningkatkan stabilitas sistem dan, yang lebih penting, meningkatkan iklim mikro di dalam organisasi.
Banyak organisasi TI bertanya-tanya: berapa banyak staf yang perlu dialokasikan untuk bekerja secara langsung pada "produk", dan yang mana untuk bekerja pada "platform"? Salah satu argumen paling penting untuk kepentingan pemisahan personel adalah sebagai berikut: platform digital membutuhkan pemilik yang berdedikasi untuk memastikan kepatuhan dengan prinsip-prinsip yang dinyatakan oleh platform, memiliki pengalaman yang luas dan keahlian tingkat tinggi dalam pengembangan, implementasi dan pemeliharaan platform.
Untuk menggambarkan perlunya pengenalan platform digital sebagai produk mandiri, kami beralih ke salah satu prinsip dasar layanan mikro: penggunaan filter cerdas dan saluran sederhana.
Tidak peduli sesederhana apa salurannya, itu tetap membutuhkan pemilik. Dan jika ada banyak tim, yang masing-masing โmemiliki layanan mikro sendiri,โ lalu siapa yang bertanggung jawab atas interaksi mereka? Untuk penemuan layanan, untuk keamanan, pemantauan di tingkat seluruh sistem (atau bahkan di tingkat organisasi, jika menyangkut tingkat intersistem)? Siapa yang akan bertanggung jawab atas pengujian komprehensif? Jika kita mulai menyerahkan tanggung jawab ini kepada tim pengembangan layanan mikro tertentu, apa yang akan menjadi strategi dan kriteria seleksi kita? Dan akhirnya, akankah tim semacam itu (pengembangan, saya ingatkan Anda) tetap fleksibel dan mandiri dalam produk mereka? Tampaknya sudah tiba saatnya ketika tim pengembang platform harus muncul di panggung!
Tim pengembangan platform (disingkat sebagai tim platform) adalah tim lintas fungsi khusus yang mengelola platform digital - dasar untuk pembentukan API, alat dan layanan, pengetahuan dan dukungan yang diorganisasikan ke dalam produk internal yang independen.
Strategi platform digital difokuskan pada penyediaan nilai bisnis. Untuk menghilangkan inkonsistensi dalam membangun ekosistem layanan mikro, strategi ini berfokus pada lima bidang utama pengiriman solusi teknologi:
- Infrastruktur pengiriman;
- Arsitektur dan perbaikan API;
- Data Layanan Mandiri;
- Infrastruktur dan telemetri eksperimental;
- Interaksi dengan klien.
Gambar 4: Strategi Platform DigitalTim microservice yang berdiri sendiri mendapatkan kesempatan untuk menggunakan platform untuk mempercepat dukungan untuk fungsi produk mereka dan pada saat yang sama mengurangi tingkat koordinasi lintas tim yang diperlukan.
Tidak diragukan lagi, konsep tim platform khusus yang berdedikasi memiliki kelebihan dan kekurangan:
Manfaatnya meliputi:
- penyatuan dan urutan saluran komunikasi;
- memberikan kontrol sambil mempertahankan fleksibilitas tim pengembangan individu.
Kerugiannya termasuk:
- biaya waktu untuk mengadaptasi strategi dalam organisasi;
- kebutuhan akan sumber daya tambahan - tim platform perlu mempelajari spesifikasi berbagai tim layanan mikro, serta persyaratan formulir untuk membuat platform terpadu;
- jika platform tidak diimplementasikan dengan benar, itu akan menjadi hambatan dalam proses organisasi.
Dengan demikian, kita harus memperhitungkan kemungkinan masalah dan risiko saat merencanakan tim dan kegiatan lintas tim dalam organisasi.
Sinergi interaksi
Jadi, bagaimana interaksi dengan tim platform terjadi? Ada beberapa pendekatan yang mungkin, di antaranya dua dapat dibedakan:
- Menggunakan platform sebagai produk. Tim platform secara teratur memperbarui versi platform dan menyediakannya untuk tim layanan mikro sebagai API produk. Ini bisa berupa gambar mesin virtual, atau wadah dengan kemampuan yang ditingkatkan (dibandingkan dengan versi sebelumnya), atau kerangka kerja yang dapat diperluas.
- Penetrasi ke dalam tim layanan mikro ketika perwakilan dari tim platform hadir di tim layanan mikro (atau salah satu anggota tim layanan mikro dialokasikan untuk komunikasi dengan tim platform). Saat menggunakan pendekatan ini, tim layanan mikro memiliki peluang umpan balik yang lebih cepat dengan tim platform dan dapat memulai proses memperkenalkan perubahan pada platform.
Gambar 5: Interaksi dengan tim pengembang platform: di sebelah kiri adalah platform sebagai produk, di sebelah kanan adalah penetrasi ke dalam tim.Kesimpulan
Sebagai kesimpulan, saya ingin menekankan sekali lagi bahwa struktur organisasi harus memungkinkan untuk secara efektif menggunakan keuntungan dari pilihan arsitektur dan teknologi. Hukum Conway menyatakan bahwa suatu organisasi berupaya membuat proyek yang merupakan salinan dari struktur organisasi. Tetapi saya juga cenderung percaya bahwa yang terjadi adalah yang sebaliknya: struktur sistem memberi tahu organisasi struktur yang paling cocok untuk implementasinya.
Untuk memastikan kualitas respons yang diperlukan untuk permintaan bisnis, industri TI modern harus memiliki tingkat fleksibilitas organisasi tertinggi. Dan, agar tidak kehilangan keefektifan sistem yang kami perjuangkan, kami harus mempertimbangkan kebutuhan dan kemungkinan transformasi organisasi.