Membangun Cross-Functional Team
Kita tak mungkin bisa membuat rumah hanya dari bahan baku pasir, kita memerlukan berbagai material berbeda sehingga mampu membuat bangunan yang kokoh.
Begitu pula dengan perusahaan dan tim, kita memiliki peran masing-masing dari mulai Product owner, scrum master, software developer, tester dan stakeholder lainya.
Cross functional team menjadi hal penting ketika kecepatan tim terus meningkat, artinya kebutuhan untuk tim dapat melaju bersama dengan keahlian beragam dan saling mersinergi.
Cukup umum di lingkungan startup ketika membahas job desc itu cukup bias, batasan lingkup kerja antar jabatan itu juga seringkali tumpang tindih, bisa jadi ini adalah salah satu indikasi dari terciptanya tim yang cross functional, bukan berarti lingkungan ini tidak menghargai adanya spesialisasi keahlian, tetapi lebih besar karena keterbatasan budget untuk mempekerjakan orang dengan keahlian khusus, tapi ternyata ini justru memberikan kesempatan kepada staff untuk membaur menjadi tim secara utuh dan saling melengkapi kekurangan skillnya, dengan adanya irisan keahlian ini ternyata tim dapat saling memahami dan tahu bagaimana cara saling support.
T-shaped skill set
dalam dunia agile yang ekstrim, dikenal dengan istilah "everyone is replaceable" tapi saya pribadi tidak setuju jika semua orang bisa bebas digantikan siapa saja, ibarat tim sepakbola, jika seorang kiper digantikan oleh seorang striker tentu tidaklah optimal toh. Tapi ya tetep aja ada juga pertanyaan "apakah seorang tester di tim yang agile harus bisa jadi programmer juga?" jawaban saya adalah seorang tester jaman now haruslah memiliki keahlian T-shaped skills, yaitu keahlian mendalam disatu bidang, dan keahlian melebar di bidang lainya. Seorang tester handal memiliki "T" shaped skill diantaranya mengerti arsitektur sistem, menguasai bahasa pemrograman, query database, debugging skill, dan keahlian implmentasi CI/CD.
Tapi setiap orang tentu memiliki keahlian yang berbeda, jadi tidak terpaku melulu berbentuk seperti huruf "T" di area lain, bisa jadi zigzag, kotak, bentuk L seperti pada tetris, dan dengan keahlian tim yang beragam itulah akan menjadikan tim saling melengkapi hingga potongan puzzle tetris terisi penuh, sehingga tim memiliki keahlian yang beragam.
Contoh nyata dari T shaped atau cross functional team ini adalah seperti seorang programmer yang menguasai testing, ia akan lebih efektif dalam berkomunikasi dengan tester dan cepat tanggap dalam mengatasi kesalahan yang timbul dari implementasi kode yang dibuatnya, sepengalaman saya, pairing dengan seoarang tester adalah cara tercepat bagi programer untuk memahami seluk beluk pengujian aplikasi, begitu pula dengan tester yang memiliki kemampuan debug aplikasi, tentu akan sangat membantu developer dalam menemukan root cause masalah yang timbul, atau mampu memisahkan mana issue frontend, backend atau database.
Kompetensi daripada Jabatan
Saya mengalami sendiri ada beberapa programmer yang sesungguhnya sangat handal disisi pengujian aplikasi, atau seorang tester yang memiliki solusi sederhana untuk menyelesaikan kendala arsitektur sistem yang rumit, atau memiliki keahlian database mumpuni. bahkan di tim saya sudah berkurang alasan dengan istilah "ini mah bukan kerjaan saya" tapi lebih banyak "ada yang bisa dibantu?" ini merupakan bukti tim yang berbuat melebihi dari jabatannya.
Bahkan pada satu tim, para developer yang sudah disiplin menulis test sedari level unit hingga level feature seringkali saat planning selalu bertanya "Trus cara kita test nya gimana? cara kita yakin implementasi sudah benar gimana?" atau bahkan mereka saling review implementasi fitur dengan teliti sebelum merge master, sehingga sangat sedikit kesalahan (bug) yang ditemukan hingga akhir, paling tidak hanya beberapa user scenario yang tidak terfikirkan di awal.
Semakin banyak upaya kita untuk menganalisa dan menguji produk di fase konsep awal, semakin sedikit bug kritikal yang ditemukan di akhir.
Memiliki seorang test spesialis di tim adalah sebuah keuntungan bagi tim, tetapi bukan berarti segala tanggung jawab kualitas aplikasi ditentukan oleh ia seorang diri. seperti halnya dengan seorang database spesialist pada tim, tapi bukan berarti hanya dia yang boleh bekerja dengan database seorang diri juga toh.
Mari kita kesampingkan dahulu label jabatan, dan coba kita renungkan, seorang software developer harus bisa menciptakan produk dengan keyakinan itu akan berfungsi dengan baik. Kepedulian software developer dalam menjaga kualitas dari karyanya sangatlah penting, untuk bisa mencapai mutu terbaik itulah kita harus lebih banyak meningkatkan kompetensi pengujian aplikasi yang berkualitas pada orang yang menciptakannya.
Dengan begitu semakin singkat feedback loops akan menciptakan rasa percaya diri yang tinggi dan meningkatkan kecepatan rilis aplikasi dengan kualitas tertinggi. siapa yang tidak senang!?
Penutup
Memiliki T shaped team sehingga menciptakan cross functional team tentu memiliki banyak kelebihan, utamanya dari segi empati kepada rekan kerja, kita bisa memberikan hasil kerja yang lebih baik dan saling gotong royong mencapai tujuan bersama,
Namun ada beberapa hal yang mesti diperhatikan untuk mencegah menjadi cross functional team yang gagal memberikan hasil terbaik karena alasan tidak ada sosok yang memimpin, tidak ada tanggung jawab, asumsi pada komunikasi dan ketika tujuan tidak jelas dan spesifik maka cross functional team bisa terpuruk.
Bagaimana kiat sukses menciptakan cross functional team yang bisa diandalkan?
- berikan tujuan akhir yang jelas
- jangan ajari tim bagaimana cara menyelesaikannya, biarkan mereka melakukan kerja tim
- berikan batasan dan tanggung jawab antar tim member
- lakukan standup meeting/branstorming untuk sinkronisasi pekerjaan
- definisi of done yang jelas dan disepakati
- retrospective secara berkala
Sepertihalnya sepakbola, akan sangat membantu ketika memiliki seorang swiper defender yang tidak hanya bisa tackling dan menghentikan lawan, tetapi bisa juga mengalirkan bola dengan tenang dan membantu serangan saat service bola mati seperti Virgl Van Dijk, atau kiper yang bisa menciptakan gol semacam Luis Chilavert.
Jika begitu apakah sudah pantas dibilang tim sepakbola agile?
Comments