Kenalan sama Scrum dalam Membangun Produk

Ardi
Ardi
Feb 15, 2019 · 4 min read

Kamu memiliki sebuah ide produk dan ingin mewujudkannya menjadi suatu produk berbasis perangkat lunak? Dari ide tersebut, kamu mungkin sudah melakukan validasi ide atau masalah, misalnya menemui beberapa orang yang menjadi target pengguna kamu untuk diskusi apakah ide tersebut benar-benar membantu mereka; apakah masalah yang kamu asumsikan benar-benar masalah bagi mereka. Setelah yakin dengan hadirnya masalah tersebut bagi pengguna, kemudian kamu lengkapi dengan validasi solusi, misalnya membawa purwarupa solusi untuk didiskusikan lebih lanjut dengan target pengguna kamu. Kamu berdiskusi apakah solusi yang kamu tawarkan menyelesaikan masalah mereka atau menjawab kebutuhan mereka.

Saat kamu sudah yakin dengan solusi kamu, inilah saatnya untuk membangun produk yang sebenarnya, bukan sekedar purwarupa. Ini berarti kamu sudah siap untuk memasuki fase pengembangan produk. Kamu siap membangun produk perangkat lunak yang bernilai bagi pengguna. Meskipun demikian, mengembangkan produk bukanlah pekerjaan yang sederhana. Jika kamu pernah terlibat langsung dalam pengembangan produk perangkat lunak, kamu seharusnya pernah menghadapi tantangan dan menjumpai kompleksitas di sana. Kamu melihat risiko yang perlu ditangani, baik di sisi teknis maupun bisnis, dan memahami bahwa banyak hal yang tidak pasti.

Pada titik waktu ini, mengenal kerangka kerja pengembangan produk bernama Scrum akan membantu kamu melalui perjalanan pengembangan yang penuh dengan ketidakpastian, untuk membangun produk perangkat lunak yang bernilai bagi pengguna.

Apa itu Scrum?

Sebenarnya Scrum itu apaan sih? Tulisan awal ini akan mengenalkan hal abstrak bernama Scrum kepada kita. Mari kita lihat definisi Scrum dari penyusun konsep Scrum dalam panduan definitif Scrum bernama The Scrum Guide (Schwaber & Sutherland, 2017).

Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value

Scrum merupakan sebuah kerangka kerja (framework) yang menangani masalah kompleks saat membangun produk. Perangkat lunak dapat dilihat sebagai sebuah produk yang menawarkan sebuah nilai (value) bagi penggunanya. Scrum juga dilihat sebagai kerangka kerja untuk kolaborasi tim secara efektif dalam membangun produk yang kompleks seperti perangkat lunak.

Scrum juga merupakan proses perangkat lunak (software process). Summerville (2011) mendefinisikan proses perangkat lunak sebagai serangkaian aktivitas yang terstruktur untuk membuat produk perangkat lunak. Yup, dalam suatu pengembangan perangkat lunak, kita akan menemukan berbagai macam aktivitas pengembangan seperti menyusun requirements produk aplikasi, membuat desain aplikasi, menuliskan kode, melakukan pengujian dan pengecekan aplikasi, hingga menaruh aplikasi untuk lingkungan produksi.

Elemen proses dalam Scrum membuat aktivitas-aktivitas tersebut dilakukan secara efektif. Tidak hanya itu, Scrum memberikan ruang untuk melakukan aktivitas pengembangan secara kreatif.

Secara sederhana, kita dapat mengatakan Scrum itu adalah sebuah kerangka kerja (framework); juga sebuah proses perangkat lunak (software process).

Seperti Botol Permen

Scrum bukan merupakan proses atau teknik untuk membangun produk (Schwaber & Sutherland, 2017). Scrum merupakan kerangka kerja yang di dalamnya kita dapat menempatkan berbagai macam proses dan teknik untuk membangun produk.

Scrum seperti Botol Permen (Photo by Clem Onojeghuo)

Jika saya buat perumpamaannya, Scrum seperti botol permen dan permen-permen di dalamnya adalah teknik, metode, dan proses dalam membangun produk. Di dalam botol itu, kita bisa menempatkan berbagai jenis permen yang kita sukai. Scrum adalah botol permennya.

Beberapa contoh permen yang bisa kita masukkan adalah seperti User Story dalam menuliskan requirements, Customer Journey Mapping untuk memahami dan menyusun pengalaman (experience) bagi pengguna, unit testing untuk pengujian otomatis, hingga Model-View-Presenter (MVP) dalam menuliskan kode.

Membantu Menangani Ketidakpastian

Membangun produk perangkat lunak merupakan hal yang kompleks karena kita akan menemukan berbagai macam ketidakpastian di sana. Pernah menghadapi requirements aplikasi yang berubah-ubah di tengah pengembangan, entah karena permintaan stakeholders atau permintaan pasar? Pernah merasa kurang tepat memilih teknologi yang digunakan untuk membangun aplikasi? Pernah merasa pengembangan terhambat karena salah seorang dari tim kita sakit berhari-hari lamanya?

Ketidakpastian tersebut menuntut kita untuk adaptif agar dapat merespon ketidakpastian tersebut dengan baik. Dalam konteks perangkat lunak, Scrum hadir membantu kita untuk membangun produk berbasis perangkat lunak yang memberikan nilai atau manfaat ke pengguna setinggi mungkin sekaligus menangani ketidakpastian yang umum terjadi dalam pengembangan.

Elemen-elemen dari Scrum

Sebagai sebuah kerangka kerja, Scrum terdiri dari elemen-elemen inti (core) yang membentuknya. Elemen-elemen itu sederhananya kita kelompokkan dalam pertemuan, peran, dan artefak.

Elemen-elemen dalam Kerangka Kerja Scrum (Image by Scrum.org)

Tulisan-tulisan berikutnya insya Allah akan membahas lebih detail elemen-elemen yang ada dalam Scrum.

Sudah cukup mengenal Scrum? Jika kamu punya pertanyaan tentang Scrum, silakan tanyakan di kolom komentar. :D

Referensi:

Badr Startup Studio

Berbagi pengalaman kami membangun startup dan mengembangkan…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

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