SPACE Framework

Mengukur, Memahami, dan Meningkatkan Produktivitas Software Developer

D. Husni Fahri Rizal
The Legend

--

Pengembangan software adalah dunia yang dinamis dan penuh tantangan. Keberhasilan proyek pengembangan software sangat bergantung pada produktivitas pengembang yang efektif. Dalam era teknologi yang terus berkembang, industri software menjadi salah satu sektor yang paling dinamis dan penting.

Organisasi yang bergerak di bidang ini dituntut untuk menghadapi persaingan ketat, memenuhi tuntutan pasar yang cepat berubah, dan menghadapi kompleksitas dalam mengembangkan solusi yang inovatif. Dalam konteks yang semakin kompleks ini, produktivitas pengembang software menjadi sangat penting untuk mencapai keunggulan kompetitif.

Untuk mengukur dan meningkatkan produktivitas dengan tepat, SPACE Framework menyediakan pendekatan yang holistik dengan lima dimensi utama: Satisfaction and well-being, Performance, Activity, Communication and collaboration, dan Efficiency and flow.

SPACE Framework adalah pendekatan berbasis penelitian yang memegang peranan penting dalam upaya meningkatkan produktivitas pengembang software. Dikembangkan oleh sekelompok peneliti berbakat dari perusahaan teknologi ternama seperti GitHub dan Microsoft, bersama dengan University of Victoria (Canada), kerangka kerja ini menawarkan solusi yang inovatif untuk mengukur, memahami, dan meningkatkan kinerja para pengembang.

https://www.shakebugs.com/blog/dev-space-framework/

Pada penjelasan kali ini, kita akan menjelajahi SPACE Metrics, yang merupakan bagian integral dari SPACE Framework, dan bagaimana penggunaan metrik dari setidaknya tiga dari lima dimensi utama dapat membantu mengukur dan meningkatkan produktivitas pengembang secara komprehensif.

Metrik dari dimensi Satisfaction and well-being membantu memahami kesejahteraan dan kepuasan pengembang, sementara metrik dari dimensi Performance mengukur hasil dari tugas dan proyek yang dijalankan. Aktivitas pengembang dapat diukur melalui metrik dalam dimensi Activity, dan metrik dalam dimensi Communication and collaboration mengungkap sejauh mana kolaborasi antara anggota tim berjalan efisien. Terakhir, dimensi Efficiency and flow mengukur sejauh mana pengembang dapat bekerja tanpa hambatan dan pemborosan waktu.

Dengan SPACE Metrics, organisasi dapat mengevaluasi produktivitas pengembang secara menyeluruh dan memperoleh wawasan berharga untuk meningkatkan kinerja tim. Dengan pemahaman yang lebih baik tentang kepuasan dan kesejahteraan pengembang, efisiensi proses, kolaborasi tim, dan aliran kerja, organisasi dapat mengidentifikasi area di mana perbaikan dapat dilakukan untuk mencapai produktivitas yang lebih tinggi dan menciptakan lingkungan kerja yang sukses dalam dunia yang terus berubah ini.

Melalui pendekatan berbasis penelitian yang inovatif ini, SPACE Framework memberikan solusi yang relevan dan aplikatif bagi organisasi untuk meraih keunggulan kompetitif dalam industri software yang kompetitif dan dinamis.

https://waydev.co/the-space-framework-playbook/

Satisfaction and Well-being (Kepuasan dan Kesejahteraan)

Dimensi pertama, Satisfaction and Well-being, menyoroti pentingnya kebahagiaan dan kesejahteraan pengembang dalam lingkungan kerja mereka. Untuk mengukur dimensi ini, beberapa metrik yang dapat digunakan adalah survei kepuasan kerja, tingkat kehadiran, tingkat pergantian karyawan, dan waktu respon untuk memecahkan masalah kesehatan mental dan fisik. Melalui metrik ini, organisasi dapat menilai sejauh mana pengembang merasa dihargai, didukung, dan termotivasi dalam pekerjaan mereka.

Berikut adalah beberapa contoh metrik untuk mengukur tingkat kepuasan dari tim.

Kepuasan Karyawan (eNPS dan Pemeriksaan Kesehatan Tim)

Employee Net Promoter Score (eNPS) adalah metrik yang digunakan untuk mengukur sejauh mana karyawan akan merekomendasikan tempat kerjanya kepada orang lain. Biasanya, eNPS didapatkan dengan mengajukan satu pertanyaan: “Dalam skala 0 hingga 10, seberapa besar kemungkinan Anda merekomendasikan perusahaan ini sebagai tempat kerja?” Karyawan yang memberikan skor tinggi (9–10) dianggap sebagai promoter, sedangkan yang memberikan skor rendah (0–6) dianggap sebagai detractor. Nilai eNPS dihitung dengan mengurangi persentase detractor dari persentase promoter.

Pemeriksaan Kesehatan Tim, di sisi lain, adalah penilaian berkala yang dilakukan di dalam tim pengembangan untuk mengevaluasi kesejahteraan dan kepuasan mereka secara keseluruhan. Pemeriksaan ini mungkin mencakup berbagai pertanyaan kualitatif dan kuantitatif tentang kerja tim, komunikasi, beban kerja, dan semangat kerja. Menganalisis hasil Pemeriksaan Kesehatan Tim membantu mengidentifikasi area yang perlu ditingkatkan dan dapat menyebabkan langkah-langkah konkret untuk meningkatkan kepuasan dan kesejahteraan tim.

Keseimbangan Investasi (Jumlah KTLO)

KTLO merupakan singkatan dari “Keeping the Lights On,” yang mengacu pada upaya pemeliharaan dan dukungan yang diperlukan untuk menjaga sistem dan aplikasi yang sudah ada berjalan dengan lancar. Penting untuk mencapai keseimbangan antara alokasi sumber daya untuk pengembangan fitur baru (inovasi) dan pemeliharaan sistem yang sudah ada (KTLO). Terlalu banyak investasi di KTLO dapat menghambat inovasi, sedangkan terlalu sedikit dapat menyebabkan hutang teknis dan mengurangi kepuasan pengembang.

Mengukur jumlah KTLO yang dihabiskan dibandingkan dengan investasi dalam proyek pengembangan baru memberikan wawasan tentang fokus organisasi terhadap inovasi dan memastikan bahwa para pengembang tidak terlalu sibuk dengan tugas-tugas pemeliharaan yang berkelanjutan.

Burnout dan Keterlibatan

Burnout adalah kondisi kelelahan emosional, fisik, dan mental yang dihasilkan dari stres berlebihan dan berkepanjangan. Di sisi lain, keterlibatan merujuk pada semangat dan komitmen karyawan terhadap pekerjaan mereka. Baik burnout maupun keterlibatan memainkan peran penting dalam kesejahteraan dan produktivitas para pengembang.

Metrik terkait burnout dapat mencakup tingkat absensi, perputaran karyawan, atau survei yang menilai perasaan kelelahan dan stres di kalangan tim pengembangan. Sebaliknya, keterlibatan dapat diukur melalui survei untuk mengukur antusiasme karyawan terhadap pekerjaan, kesiapan untuk berkontribusi di luar tuntutan pekerjaan mereka, dan perasaan mereka terhubung dengan tujuan organisasi.

Dengan memantau metrik-metrik ini, organisasi dapat mengidentifikasi tanda-tanda awal burnout dan mengambil langkah-langkah proaktif untuk mendukung kesehatan mental dan kesejahteraan karyawan. Selain itu, meningkatkan keterlibatan di antara para pengembang dapat mengarah pada peningkatan produktivitas, kerjasama yang lebih baik, dan lingkungan kerja yang positif.

Performance (Kinerja)

Performance adalah dimensi kedua dalam SPACE Metrics yang mengukur hasil dari sistem atau proses pengembangan software. Metrik yang dapat digunakan dalam dimensi ini termasuk waktu penyelesaian proyek, tingkat keberhasilan proyek, tingkat kesalahan, dan kualitas produk yang dihasilkan. Dengan mengukur kinerja secara akurat, organisasi dapat mengidentifikasi area di mana pengembang perlu bantuan atau pelatihan tambahan untuk meningkatkan kualitas dan keberhasilan proyek.

Berikut adalah beberapa contoh metrik untuk mengukur tingkat kinerja dari tim.

Tingkat Keberhasilan Perubahan (Change Failure Rate)

Metrik ini mengukur seberapa sering perubahan yang diterapkan di lingkungan pengembangan menyebabkan kegagalan atau masalah. Change Failure Rate dapat dihitung dengan membagi jumlah perubahan yang gagal dengan total jumlah perubahan yang diterapkan dalam periode waktu tertentu. Tingkat keberhasilan perubahan yang tinggi menunjukkan kemampuan tim pengembangan untuk menerapkan perubahan dengan efektif, sementara tingkat yang rendah dapat mengindikasikan adanya masalah dalam proses pengembangan.

Keseimbangan Investasi (Jumlah Pembangunan Hal Baru)

Metrik ini menilai proporsi sumber daya dan waktu yang dialokasikan untuk membangun fitur baru dan pengembangan produk baru dibandingkan dengan pemeliharaan dan perbaikan fitur yang sudah ada. Keseimbangan Investasi mencerminkan sejauh mana organisasi fokus pada inovasi dan pengembangan produk baru, serta sejauh mana perawatan dan pemeliharaan sistem yang ada diutamakan. Keseimbangan yang tepat antara investasi ini dapat mendorong perkembangan produk dan menciptakan nilai tambah bagi pelanggan.

Kepuasan Pelanggan (NPS — Net Promoter Score)

Metrik ini mengukur sejauh mana pelanggan puas dengan produk atau layanan yang ditawarkan oleh perusahaan. NPS didapatkan dengan mengajukan pertanyaan sederhana kepada pelanggan, seperti “Seberapa besar kemungkinan Anda merekomendasikan produk/layanan kami kepada orang lain?” Jawaban diberikan dalam skala 0 hingga 10. Pelanggan yang memberikan skor 9–10 dianggap sebagai promotor, sedangkan yang memberikan skor 0–6 dianggap sebagai detraktor. NPS dihitung dengan mengurangi persentase detraktor dari persentase promotor. Tingkat NPS yang tinggi menunjukkan tingkat kepuasan pelanggan yang baik, sementara tingkat yang rendah menandakan perlu adanya perbaikan dalam produk atau layanan.

Keandalan (Reliability)

Metrik ini mengukur sejauh mana sistem atau produk yang dikembangkan dapat berfungsi dengan baik dan konsisten tanpa adanya kegagalan atau masalah. Keandalan dapat diukur dengan menggunakan metrik seperti waktu rata-rata antara kegagalan (Mean Time Between Failures — MTBF) atau waktu rata-rata untuk memperbaiki masalah (Mean Time To Repair — MTTR). Keandalan yang tinggi menunjukkan tingkat kualitas dan ketahanan produk yang baik, yang dapat meningkatkan kepercayaan pelanggan.

Activity (Aktivitas)

Dimensi ketiga adalah Activity, yang mencerminkan kuantitas pekerjaan yang diselesaikan oleh para pengembang. Metrik yang relevan dalam dimensi ini termasuk produktivitas kode (jumlah kode yang ditulis per unit waktu), tingkat penyelesaian tugas, dan penggunaan alat pengembangan. Mengukur aktivitas membantu organisasi memahami sejauh mana para pengembang berkontribusi dalam proyek dan melacak kemajuan mereka dalam menyelesaikan tugas-tugas yang ditugaskan.

Berikut adalah beberapa contoh metrik untuk mengukur tingkat Aktivitas dari tim.

Isu Diselesaikan (Issues Completed)

Metrik ini mengukur jumlah isu atau tugas yang berhasil diselesaikan oleh tim pengembangan dalam periode waktu tertentu. Isu-isu ini mungkin mencakup perbaikan bug, peningkatan fitur, atau tugas pengembangan lainnya. Mengukur dan melacak jumlah isu yang diselesaikan membantu memahami tingkat produktivitas dan kemajuan tim dalam menyelesaikan tugas-tugas yang diberikan.

Ulasan dan Penggabungan Permintaan Merge(Pull Requests Reviewed and Merged)

Metrik ini mencatat jumlah permintaan tarik (pull requests) yang telah ditinjau dan digabungkan oleh tim pengembangan. Ulasan dan penggabungan pull requests adalah bagian penting dari proses kolaboratif dalam pengembangan software. Mengukur frekuensi dan efisiensi ulasan serta penggabungan pull requests dapat membantu memastikan bahwa kontribusi anggota tim diintegrasikan dengan baik dan secara berkualitas ke dalam produk.

Frekuensi Implementasi (Deployment Frequency — DORA)

Metrik ini mengukur seberapa sering perubahan dan pembaruan software diterapkan dalam produksi atau lingkungan produksi secara keseluruhan. Frekuensi implementasi mencerminkan seberapa cepat tim dapat menyampaikan perubahan dan fitur baru kepada pengguna akhir. Tingkat frekuensi implementasi yang tinggi menunjukkan kelenturan tim dan kemampuan untuk merespons kebutuhan bisnis atau pengguna dengan cepat.

Communication and Collaboration (Komunikasi dan Kolaborasi)

Dimensi keempat, Communication and Collaboration, fokus pada seberapa baik para pengembang bekerja bersama dalam tim. Metrik yang relevan dalam dimensi ini meliputi frekuensi komunikasi tim, keefektifan pertemuan, dan kerjasama dalam mengatasi masalah. Dengan mengukur komunikasi dan kolaborasi, organisasi dapat memastikan bahwa tim pengembang berinteraksi secara efisien, berbagi pengetahuan, dan mendukung satu sama lain dalam mencapai tujuan bersama.

Berikut adalah beberapa contoh metrik untuk mengukur tingkat kolaborasi dari tim.

Jumlah Orang yang Bekerja pada Fitur yang Sama (Number of People Working on the Same Features)

Metrik ini mengukur jumlah orang yang terlibat dalam pengembangan dan pengerjaan fitur atau komponen yang sama dalam proyek. Jumlah orang yang bekerja pada fitur yang sama dapat mempengaruhi kolaborasi tim dan interaksi antaranggota tim. Pengukuran metrik ini membantu menilai tingkat kolaborasi dan keterlibatan dalam pengembangan proyek.

Pemeriksaan Kesehatan Tim (Silos dan Komunikasi)

Metrik ini mencakup pemeriksaan periodik yang dilakukan di tim pengembangan untuk menilai kesehatan tim secara keseluruhan. Pemeriksaan ini dapat mencakup evaluasi untuk mendeteksi adanya silo antara tim atau anggota tim, serta tingkat efektivitas komunikasi di antara mereka. Mengukur kesehatan tim membantu mengidentifikasi potensi hambatan dalam kolaborasi dan memungkinkan langkah-langkah untuk meningkatkan interaksi dan kerjasama tim.

Waktu Ulasan Permintaan Tarik (Pull Request Review Time)

Metrik ini mengukur waktu yang diperlukan untuk meninjau dan menyelesaikan proses penggabungan permintaan tarik (pull request) oleh anggota tim pengembangan. Waktu ulasan yang cepat dan efisien mencerminkan tingkat kolaborasi dan keterlibatan dalam mengulas dan memperbaiki kode yang diajukan oleh rekan tim. Memantau metrik ini membantu memastikan bahwa proses ulasan berjalan lancar dan mempercepat waktu penerapan perubahan.

Efficiency and Flow (Efisiensi dan Aliran Kerja)

Dimensi terakhir, Efficiency and Flow, mengukur sejauh mana para pengembang dapat bekerja tanpa hambatan dan pemborosan waktu. Beberapa metrik yang relevan dalam dimensi ini termasuk waktu rata-rata untuk menyelesaikan tugas, tingkat revisi kode, dan rasio waktu produktif terhadap waktu tidak produktif. Dengan mengukur efisiensi dan aliran kerja, organisasi dapat mengidentifikasi potensi untuk meningkatkan efisiensi dan mengurangi hal-hal yang menghambat proses pengembangan.

Berikut adalah beberapa contoh metrik untuk mengukur tingkat efisiensi dan aliran kerja dari tim.

Pemeriksaan Kesehatan Tim (Silos dan Komunikasi)

Metrik ini juga dapat digunakan dalam dimensi Efficiency and Flow untuk menilai kesehatan tim secara keseluruhan dari perspektif efisiensi dan aliran kerja. Pemeriksaan ini mencakup evaluasi untuk mendeteksi adanya silo antara tim atau anggota tim, serta tingkat efektivitas komunikasi di antara mereka. Memastikan adanya aliran kerja yang lancar dan kolaborasi yang efisien antara anggota tim merupakan faktor penting dalam meningkatkan efisiensi proyek.

Persepsi Kemampuan untuk Tetap dalam Aliran dan Menyelesaikan Pekerjaan (Perceived Ability to Stay in Flow and Complete Work)

Metrik ini mengukur sejauh mana anggota tim merasa mampu untuk tetap dalam keadaan aliran kerja (flow) dan menyelesaikan pekerjaan dengan efisiensi. Keadaan aliran terjadi ketika seseorang sepenuhnya terfokus dan terlibat dalam pekerjaannya, sehingga meningkatkan produktivitas dan kualitas hasil pekerjaan. Memantau persepsi ini membantu organisasi untuk mengidentifikasi faktor-faktor yang dapat meningkatkan atau menghalangi efisiensi dan aliran kerja di kalangan anggota tim.

Keseimbangan Investasi (Jumlah Pekerjaan Berhubungan dengan Produktivitas)

Metrik ini menilai proporsi pekerjaan yang berhubungan dengan peningkatan produktivitas (misalnya, mengurangi tugas manual, otomatisasi, peningkatan proses) dibandingkan dengan tugas rutin yang mungkin memerlukan waktu dan sumber daya lebih banyak. Investasi pada pekerjaan berhubungan dengan produktivitas dapat meningkatkan efisiensi dan aliran kerja dalam jangka panjang.

Waktu Pelaksanaan Perubahan dan Waktu Pemulihan (Change Lead Time and Time to Recovery — DORA)

Metrik ini mengukur waktu yang diperlukan untuk menerapkan perubahan dan waktu yang dibutuhkan untuk memulihkan sistem setelah terjadinya kegagalan. Mengukur waktu ini membantu organisasi memahami efisiensi proses pengembangan dan pemulihan, serta memungkinkan identifikasi dan tindakan perbaikan pada bagian-bagian proses yang mempengaruhi aliran kerja dan produktivitas.

Waktu Siklus Story/Isu (Story/Issue Cycle Time):

Metrik ini mengukur waktu yang dibutuhkan untuk menyelesaikan siklus story atau isu, mulai dari pengajuan hingga implementasi atau pengerjaan selesai. Memantau waktu siklus story/isu membantu mengidentifikasi potensi hambatan atau perbaikan yang dapat meningkatkan aliran kerja dan efisiensi dalam penyelesaian tugas-tugas.

SPACE framework pada Level Organisasi

Untuk mendapatkan gambaran yang lebih lengkap tentang apa yang terjadi di dalam organisasi Anda, kerangka kerja SPACE menyarankan Anda untuk memilih metrik terpisah untuk masing-masing tiga tingkatan organisasi berikut:

  1. Individu: Tingkat individu mencakup pengukuran kinerja dan produktivitas setiap anggota tim atau karyawan secara individual. Metrik pada tingkat ini dapat mencakup kepuasan kerja individu, tingkat kehadiran, produktivitas individu, dan kualitas hasil pekerjaan yang dihasilkan oleh masing-masing individu. Tingkat individu membantu untuk memahami kontribusi dan efektivitas setiap anggota tim dalam lingkungan kerja.
  2. Tim atau Kelompok: Tingkat ini mencakup pengukuran kinerja dan produktivitas dari kelompok orang yang bekerja bersama dalam sebuah tim atau unit kerja. Metrik pada tingkat ini fokus pada efisiensi kolaborasi antar anggota tim, tingkat komunikasi, dan kemampuan tim untuk mencapai tujuan bersama. Beberapa metrik di tingkat ini dapat mencakup keberhasilan proyek tim, frekuensi pertemuan tim, dan tingkat keterlibatan dan partisipasi dari masing-masing anggota tim.
  3. Sistem: Tingkat sistem mencakup pengukuran kinerja dan produktivitas dari seluruh alur kerja atau sistem yang mencakup berbagai tim dan departemen dalam organisasi. Ini mencakup alur kerja dari awal hingga akhir, seperti jalur pengembangan produk dari desain hingga produksi, serta alur kerja lainnya yang melibatkan banyak tim dan proses. Metrik pada tingkat ini dapat mencakup waktu siklus proyek, efisiensi proses, dan kecepatan penerapan perubahan.

Dengan memperhatikan ketiga tingkatan organisasi ini, SPACE Framework membantu organisasi untuk memperoleh wawasan yang lebih lengkap tentang bagaimana kinerja dan produktivitas di seluruh organisasi berkontribusi terhadap pencapaian tujuan strategis secara keseluruhan. Dengan pemahaman yang komprehensif tentang setiap tingkatan ini, organisasi dapat mengidentifikasi area perbaikan dan mengambil tindakan untuk meningkatkan efisiensi dan kesuksesan proyek secara menyeluruh.

https://www.shakebugs.com/blog/dev-space-framework/

The Legend Programmer Utube Channel

Kesimpulan

SPACE Metrics memberikan pendekatan yang komprehensif untuk mengukur produktivitas pengembang melalui lima dimensi utama: Satisfaction and well-being, Performance, Activity, Communication and collaboration, dan Efficiency and flow. Dengan menggunakan metrik dari setidaknya tiga dari lima dimensi ini, organisasi dapat memahami kinerja dan potensi para pengembang secara menyeluruh. Dengan pemahaman yang lebih baik tentang kepuasan dan kesejahteraan pengembang, efisiensi proses, kolaborasi tim, dan aliran kerja, organisasi dapat mengidentifikasi area di mana perbaikan dapat dilakukan untuk mencapai produktivitas yang lebih tinggi dan menciptakan lingkungan kerja yang sukses dalam dunia yang terus berubah ini.

Referensi

  1. https://www.swarmia.com/blog/space-framework/
  2. https://cacm.acm.org/magazines/2021/6/252825-the-space-of-developer-productivity/fulltext
  3. https://www.shakebugs.com/blog/dev-space-framework/
  4. https://engineering.atspotify.com/2014/09/squad-health-check-model/
  5. https://newrelic.com/blog/nerd-life/team-health-assessment

--

--

D. Husni Fahri Rizal
The Legend

Engineering Leader | Start-Up Advisor | Agile Coach | Microservices Expert | Professional Trainer | Investor Pemula