https://www.rapa-puru.com/ https://ingemantspa.cl/ https://103.63.25.105/
– Inixindo Jogja
Pengembangan UI/UX: Merancang Nyawa Sebuah Aplikasi

Pengembangan UI/UX: Merancang Nyawa Sebuah Aplikasi

 

Beberapa hari yang lalu startup unicorn (atau decacorn) di bidang jasa angkut penumpang atau penumpang mengganti logonya setelah sekian lama berada di jajaran puncak tangga daftar aplikasi yang ada di Google Play di Indonesia. Netizen Indonesia yang ramah dan murah komentar tak mau ketinggalan obrolan seputar perubahan ini. Tak hanya perubahan logo yang menjadi bahasan netizen karena memang bukan hanya logonya saja yang berubah tapi user interface-nya juga berubah. Mulai dari icon-icon yang terdapat pada aplikasi hingga font.

Kenapa perubahan user interface ini ramai dibicarakan? Well, sebelum kita membahas mengapa user interface itu penting, yuk kita dalami dulu apa itu user interface, apa itu user experience (UX) dan mengapa penyebutan dua hal tersebut UI/UX sering dijadikan satu bagaikan komponen yang tak terpisahkan?

 

Apa itu UX?

UX adalah singkatan dari user experience. Hampir sama dengan arti literalnya, user experience berbicara tentang bagaimana pengalaman seorang user atau pengguna dalam menggunakan suatu produk. Yup, UX tidak melulu dikaitkan dengan software atau yang sekarang lebih sering kita sebut apps. Bahkan produk semacam closet duduk pun berhak memiliki UX yang baik. 

Pengembangan (development) user experience memiliki tujuan agar produk dapat memberikan suatu nilai kepada pengguna entah itu kemudahan, kenyamanan, kepuasan, estetika atau apapun itu sehingga user ingin terus menggunakan produk tersebut. Jika berbicara tentang produk software, fokus dari pengembangan user experience apalagi kalau bukan membuat wireframe dan struktur komponen-komponen yang ada dalam sebuah apps beserta fungsinya. 

 

Apa itu UI?

UI adalah akronim dari user interface sering diterjemahkan sebagai antarmuka pengguna. Hal ini juga bisa diartikan sebagai apapun yang ada di depan muka pengguna ketika mereka berinteraksi dengan suatu produk. Setiap halaman, tombol, icon, font, atau warna dalam sebuah aplikasi merupakan elemen-elemen yang ada dalam UI. Pengembangan software atau aplikasi belakangan ini semakin bersifat user centered menjadikan UI sebagai komponen utama.

Berbicara tentang UI tentu saja kita harus berbicara tentang desain, kegunaan, konten, dan masih banyak lain. Masih ingat beberapa dekade lalu ketika kita mengetikkan sebuah password di halaman web dan yang muncul masih berupa tulisan yang masih bisa dibaca bukan bulatan-bulatan kecil seperti sekarang ini? Yup, UI memang tidak hanya berbicara masalah estetika tapi juga keamanan.

 

Komponen dalam UI/UX

Penyebutan user interface dan user experience sering digabung sehingga tak sedikit yang bingung membedakan mana UI dan mana UX. Sebenarnya memang UI dan UX merupakan komponen yang tak terpisahkan, pengembangan UI akan percuma jika tidak memenuhi objective dari UX. Begitu pula pengembangan UX sepertinya tidak akan berjalan tanpa adanya UI. Dalam pengembangan UI/UX terdapat beberapa komponen penting yang berperan untuk ‘mengarahkan’ perilaku user dalam menggunakan suatu apps.

 

Information Architecture

Information architecture yang biasanya disingkat IA secara singkat adalah struktur dari segala bentuk informasi yang akan ditampilkan ke pengguna. IA merupakan bentuk paling dasar dari UI/UX baik itu web ataupun aplikasi native. Sebelum merancang information architecture kita harus memahami informasi apa saja yang dibutuhkan saat user membuka aplikasi kita. Tidak hanya ‘apa’ tapi kita juga harus tahu seberapa penting informasi tersebut bagi pengguna.

Membanjiri pengguna dengan semua informasi sekaligus dalam satu langkah dapat membuat pengguna bingung, membuatnya tak bisa mengingat poin utama yang ingin kita sampaikan, dan bahkan dapat menimbulkan ‘pengalaman buruk’ bagi pengguna karena merasa dipaksa. Oleh karena itu, mengapa setiap website terdapat ‘navigation bar’ yang membuat pengguna bisa memilih sendiri informasi apa saja yang ingin dia dapatkan.

Aktivitas utama dalam IA adalah mengorganisir informasi baik itu apa, kapan, di mana, dan bagaimana user mendapatkan informasi tersebut. Ada beberapa contoh metode untuk mengorganisir informasi dalam information architecture yaitu:

  • Hierarchical
    Metode pengorganisasian informasi berdasarkan hirarki didasari pada teori psikologi yang dikemukakan oleh Gestalt tentang hirarki visual di mana setiap elemen visual seperti bentuk, warna, letak, dan ukuran menyimpan informasi seberapa penting hal tersebut untuk dihiraukan. Metode inilah yang menyebabkan mengapa menu navigasi di suatu website walaupun terbilang kecil tapi terletak di atas dan ada di setiap halaman karena menu navigasi bukan informasi utama tapi informasi yang berfungsi sebagai penunjuk sesuai dengan namanya.
  • Sequential
    Metode pengorganisasian sequential adalah mem-breakdown informasi menjadi beberapa tahapan yang harus dilalui user satu per satu. Fungsi dari metode ini adalah agar user tidak lupa dengan informasi yang diberikan. Metode sequential banyak digunakan oleh e-commerce yang memiliki banyak detail informasi yang diberikan sebelum user melakukan pembelian.
  • Matrix
    Bisa dibilang metode pengorganisasian informasi yang magabut (makan gaji buta) karena metode ini melimpahkan kerjaan mengorganisir informasi kepada user. Sorting merupakan fitur yang menggunakan metode matrix. Tapi jangan senang dulu, metode ini sebenarnya agak merepotkan bagi seorang information architect karena menyusun jenis metadata apa saja yang berguna bagi user untuk setiap data cukup memakan waktu.

 

Interaction Design

Seperti yang semua orang tahu, user tidak hanya berperan pasif dengan cuma memandangi produk seperti layaknya karya seni. Mereka disebut user karena menggunakan suatu produk yang tentu saja terdapat interaksi di dalamnya. Oleh sebab itu, desain interaksi termasuk komponen yang tak kalah penting dalam pengembangan UI/UX.

Dalam produk software atau aplikasi, desain interaksi berbicara tentang bagaimana user mengklik, menekan, menggeser layar dan apa yang terjadi setelah itu. Desain interaksi yang baik itu mengacu pada ergonomi dan kebiasaan/perilaku dari pengguna. Salah satu contoh dari desain interaksi ini adalah bagaimana Google menerapkan ‘swipe’ (menggeser) untuk mengarsip email pada Gmail. Metode ‘swipe’ ini menggantikan metode ‘hold’ (menekan lama) karena metode ‘swipe’ dinilai lebih efisien dan praktis daripada ‘hold’ sedangkan jumlah rata-rata email masuk ke user semakin bertambah dari tahun ke tahun sehingga manfaat perubahan ini dapat dirasakan oleh pengguna.

 

Usability

Usability jika diterjemahkan ke dalam Bahasa Indonesia berarti kegunaan. Secara definisi usability adalah seberapa mudah pengguna menggunakan produk. Jika Anda pernah mendengar istilah ‘user-friendly’, hal tersebut merupakan tujuan dari komponen ini. Usability sering kali berbicara tentang seberapa familiar dan kompeten seorang pengguna dalam menggunakan fitur dari sebuah produk. Selain itu, usability juga berbicara tentang berapa lama waktu yang dibutuhkan bagi user untuk memahami apa yang harus dia lakukan untuk menggunakan suatu fitur dalam sebuah produk.

 

Wireframing

Wireframe merupakan prototype kasar dalam pengembangan UI/UX. Ketika kita sudah mempunyai IA, desain interaksi, dan konsep usability, saatnya bagi UI/UX designer untuk menyusun ketiga komponen dalam sebuah layout. Layout ini berfungsi sebagai acuan utama bagi engineer dalam proses produksi software atau aplikasi. Wireframe juga berguna dalam melakukan pre-test terhadap sebuah fungsi atau fitur.

 

Visual Design

Ketika wireframe sudah ada di tangan, sekarang saatnya bagi visual designer berkarya menuangkan ide-idenya dalam bentuk, warna, dan juga font. Walaupun ini merupakan komponen terakhir dalam UI/UX, visual design adalah komponen yang paling mudah untuk dapat dikenali, dikomentari, bahkan dicela. Ini terjadi karena visual design berada di garda depan sebuah UI/UX. Dari mata langsung jatuh ke hati, begitulah metafora yang sering dipakai oleh para pujangga untuk menggambarkan pentingnya peran elemen visual dalam membangun experience pengguna.

 

Pentingnya Pengembangan UI/UX untuk Sebuah Produk

Memberikan pengalaman yang baik bagi pengguna merupakan objective paling utama, tentunya setelah produk tersebut bisa digunakan. Seringkali UI/UX menjadi faktor penentu apakah pengguna mau untuk terus menggunakan produk tersebut atau tidak. Bahkan, UI/UX suatu produk turut menentukan asumsi seseorang terhadap produsen brand. Ya, UI/UX juga merupakan bagian dari branding. Maka tidak heran jika pengembangan UI/UX seharusnya mendapat perhatian lebih agar umur produk berlangsung lama.

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 – Environment Setup)

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 – Environment Setup)

Perangkat mobile atau smartphone pada saat sekarang ini sudah menjadi benda wajib yang selalu ada di saku atau tas masing-masing. Jumlah orang yang memiliki smartphone tentunya jauh lebih besar dibandingkan orang yang memiliki laptop atau desktop. Hal inilah yang menyebabkan aplikasi mobile laris dan terpasang pada perangkat masing-masing bagaikan pisang goreng di saat hujan di sore hari. Sebagai hukum sebab akibat yang sudah dirumuskan pepatah zaman dulu yaitu ‘ada gula ada semut’, yang bila diartikan menjadi ada ‘konsumen pisang goreng berarti ada yang jualan pisang goreng’, atau agar lebih pas bila disesuaikan dengan bahasan kita berarti ‘ada mobile user tentunya ada mobile developer’. Kondisi inilah yang menyebabkan semua kalangan mulai dari perusahaan, software house, media, dan bahkan anak magang beramai-ramai menciptakan dan mengembangkan mobile app.

Kekhawatiran muncul dari penjual es krim yang sekali lagi jika disesuaikan dengan bahasan kita berarti ‘web developer’ yang rata-rata secara natural hanya menguasai bahasa markup yaitu HTML & CSS, bahasa pemrograman seperti Javascript & PHP, dan bahasa query yaitu SQL. Padahal, pengembangan mobile apps saat ini dikuasai oleh dua bahasa pemrograman yaitu Java (untuk Android) dan Swift (untuk iOS). Masalah ini ditambah dengan keinginan agar apps dapat hadir dan berjalan di dua platform tersebut. Tentu saja ini semakin membuat kompleksitas pengembangan mobile app semakin meningkat.

Solusi untuk permasalahan ini sebenarnya sudah ada pada tahun 2011 sejak hadirnya Cordova (berganti nama menjadi PhoneGap setelah diakuisisi oleh Adobe) sebagai framework pengembangan hybrid app di mana dengan menggunakan HTML, CSS, dan Javascript kita dapat meng-compile mobile app di dua platform Android dan iOS. Sampai sekarang Cordova/PhoneGap masih dijadikan solusi tercepat untuk membangun aplikasi mobile bagi para developer web.

Tapi jangan senang dulu, Alejandro! Aplikasi hybrid yang dibuat dengan Cordova/PhoneGap ini memiliki performa yang jauh lebih rendah bila dibandingkan mobile app yang dikembangkan secara native. Hal ini membuat para developer menjadi malas-malasan untuk menggunakan Cordova/Phonegap karena resikonya besar yaitu mereka harus mengorbankan user experience. Walaupun begitu dengan berkembangnya teknologi, hadir React Native sebagai solusi dalam pengembangan aplikasi mobile.

Mirip dengan dengan Cordova/PhoneGap, React Native membuat developer dapat mengembangkan aplikasi mobile dengan menggunakan Javascript yang tentu saja telah dikuasai oleh mayoritas web developer dan bila dibandingkan secara performa, React Native jauh mengungguli Cordova/Phonegap walaupun masih berada sedikit di bawah aplikasi native dari masing-masing platform.

Kita cukupkan saja cerita panjang tentang latar belakang native mobile app, hybrid app, dan pisang goreng ini. Pada kesempatan kali ini, kami akan membagikan langkah-langkah dalam membuat native mobile app dengan menggunakan React Native. Tutorial ini akan di bagi menjadi beberapa part. Pada part 1 ini kita akan mempersiapkan environment-nya terlebih dahulu.

 

Tools of Trade

Dalam tutorial kali ini beberapa tools yang akan kita gunakan adalah:

  1. NodeJs (download di sini)
  2. Android Studio
  3. SDK Manager
  4. JDK
  5. Python2

Setting Up Tools

Setelah semua tools kita dapatkan, langkah selanjutnya adalah men-setup semua peralatan tadi ke dalam perangkat yang kita gunakan. Dalam tutorial ini kita akan menggunakan Windows 10 sebagai sistem operasi dalam environment pengembangan kita.

 

1. Extract nodejs yang telah didownload,
semisal di D:\node-v10.15.0-win-x64 Anda harus mengingat lokasi tersebut, karena nanti akan kita tambahkan lokasi tersebut ke dalam path variable.

2. Install Android Studio beserta SDK Manager-nya.
Step ini membutuhkan koneksi internet dan membutuhkan waktu yang cukup panjang. Jangan lupa catat dimana lokasi Android Studio dan SDK Managernya. Kita akan menggunakanya di step selanjutnya karena Android Studio ketika diinstal otomatis akan menginstal versi SDK terakhir maka proses instalasi SDK otomatis telah dilakukan. Yang perlu dilakukan adalah mencatat lokasi SDK manager.

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 1

3. Menginstall JDK 
Jangan lupa catat lokasi JDK terinstall biasanya default lokasi JDK bisa ditemukan di C:\Program Files\Java\jdk1.8.0_162\

 

4. Menginstall Python
Setelah menginstal jangan lupa catat lokasi nya karena nanti kita harus menambahkanya ke dalam system path variable.

 

5. Menambahkan JAVA_HOME Environment Variable
Java home adalah lokasi di mana JDK diinstall. Secara default JDK terinstal di C:\Program Files\Java\jdk1.8.0_162\

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 2

6. Menambahkan ANDROID_HOME Environment Variable

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 3

7. Menambahkan beberapa lokasi di bawah ini kedalam System Path variable
Yang perlu ditambahkan adalah lokasi folder berikut:

    1. Nodejs
    2. Java/bin
    3. Gradle/bin
    4. SDK/platform-tools
    5. SDK/tools
    6. Python
Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 4

 

React Native Installation

Setelah ke enam langkah di atas dilakukan dengan benar maka seharusnya saat ini anda telah siap untuk memasang React Native ke komputer Anda. Langkah-langkah untuk memasang React Native dapat dilakukan melalui step-step dibawah ini :

1. Buka command prompt
(bisa dilakukan dengan menekan kombinasi keyboard windows + ‘r’ dan ketikkan cmd lalu klik ‘OK’)

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 5

2. Ketikkan perintah pada command line:

npm install -g react-native-cli

Tunggu sampai selesai! Proses ini membutuhkan koneksi internet

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 6

3. Membuat project baru
Sebelum membuat project baru ada baiknya kita membuat folder khusus untuk project kita. Saya sarankan untuk membuat folder dengan nama yang singkat dan tidak terdapat spasi untuk menghindari error. Di bawah ini urutan perintah untuk memulai project baru:

D:
mkdir labReactNative
react-native init AwesomeProject

Tunggu hingga proses selesai!

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 7

 

4. Membuat android virtual device (AVD)

 

5. Jalankan project yang telah kita buat
Untuk menjankan project yang telah kita buat dapat menggunakan perintah dibawah ini:

cd AwesomeProject
react-native run-android

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 8

 


 

Itu tadi langkah-langkah dalam menginstal dan men-setup environment dalam membuat mobile app dengan menggunakan React Native. Ikuti terus update terbaru dari Inixindo Jogja agar tidak ketinggalan Tutorial React Native part selanjutnya!

 

 

 

Step by step tutorial from:

Arindra Saktiawan
Instructor of Inixindo Jogja

App Development Dengan Menggunakan Docker

App Development Dengan Menggunakan Docker

App Development Dengan Menggunakan Docker

Container merupakan sebuah unit software yang telah distandarisasi, sedangkan Docker merupakan sebuah layanan pengelolaan container. Prinsip dari Docker adalah “develop, ship and run anywhere.” Ide dari docker adalah supaya developer dapat dengan mudah membangun aplikasi, meletakkan di dalam container, dan men-deploy-nya dimanapun.

Peluncuran docker di tahun 2013 menyebabkan revolusi dalam bidang pengembangan aplikasi – dengan membentuk demokratisasi software container, Docker membangun teknologi container Linux – yang portable, fleksibel, dan mudah untuk dikembangkan.

Pada Comday minggu ini, akan diperkenalkan apa itu container, komponen dari docker, dan bagaimana membangun website berbasis wordpress dengan menggunakan server apache dan mysql container image dengan mudah.Acara ini gratis dan terbuka bagi siapa saja yang berkecimpung atau tertarik dalam pengembangan aplikasi.

 

This form does not exist

Biaya

Free (tempat terbatas)

DATE AND TIME

Kamis, 13 Desember 2018
14.00 WIB – Selesai

LOCATION

Eduparx – Inixindo Jogja
Jalan Kenari No 69 Yogyakarta
View Maps

Workshop SMS Portable Gateway Dengan Android

Workshop SMS Portable Gateway Dengan Android

9 Agustus 2018

Workshop SMS Portable Gateway Dengan Android

Pendaftaran Telah Ditutup

This form does not exist

 

About this Event

Banyak yang mengira bahwa SMS blasting sudah tidak berguna lagi di era di mana semua orang menggunakan aplikasi chat. Tapi perlu diketahui bahwa teknologi SMS dapat menjangkau setiap orang yang memiliki ponsel tidak peduli merek, sistem operasi, kuota internet, apalagi harga ponselnya. Jika dilihat dari perspektif pemrograman, membuat SMS gateway jauh lebih mudah daripada menggunakan akun aplikasi chat untuk menerima dan mengirim pesan otomatis. Hanya ada satu kendala yang biasanya menghambat perusahaan atau instansi yang ingin mengembangkan SMS gateway yaitu perangkat khusus yang digunakan.

Sekarang, era digital membuat teknologi SMS gateway lebih mudah lagi. Kita bisa menggunakan ponsel Android sebagai SMS gateway. Dengan bahasa pemrograman PHP, kita dapat mengembangkan SMS gateway yang praktis dan portabel sehingga bisa dibawa ke mana saja.

Dalam workshop ini, peserta akan mempelajari tentang :

  • Memrogram aplikasi web yang akan digunakan sebagai interface SMS Gateway
  • Mensinkronkan API dari third-party server dengan program web yang telah dibuat
  • Menset smartphone Android sehingga dapat berfungsi sebagai SMS Gateway

DATE AND TIME

9 Agustus 2018
14.00 WIB – Selesai

LOCATION

Eduparx – Inixindo Jogja
Jalan Kenari No 69 Yogyakarta
View Maps

This form does not exist

EduparX - Inixindo Jogja

EduparX – Inixindo Jogja

Scrum! Sebuah Framework Project Management Pendobrak Tradisi

Scrum! Sebuah Framework Project Management Pendobrak Tradisi

Istilah scrum mulai mencuat sejak tren digital meningkat tajam. Banyaknya tech start up yang lahir menuntut pengembangan produk piranti lunak dilakukan dengan tempo yang sesingkat-singkatnya dan dengan tim yang seramping-rampingnya. Walaupun begitu, masih belum banyak yang belum mengetahui apa arti sebenarnya dari scrum yang sering digembar-gemborkan oleh pelaku tech start up ini.

 

Berawal Dari Agile

Scrum merupakan sebuah framework project management yang bermula dari metode agile. Bagaikan pasangan yang baru 12 jam pacaran, hubungan agile dan scrum tak terpisahkan. Atau jika ingin mencari perumpamaan yang lebih akurat lagi, agile bisa diumpamakan sebagai bahasa pemrograman php dan scrum adalah Laravel. Scrum sendiri merupakan framework yang paling populer dalam agile (baca artikel “Agile: Project Management yang Fokus ke Pengguna“) jauh mengungguli kanban dan iterative development.

Metode agile mengharuskan sebuah pekerjaan dalam suatu project dibagi hingga bagian yang lebih kecil lagi dan sering disebut sprints oleh para pengguna scrum. Metode ini memungkinan sebuah pengembangan produk piranti lunak berjalan tanpa adanya project manager. Karena bagian pekerjaan dipecah menjadi beberapa bagian kecil, setiap bagian dari tim sudah mengetahui apa dan kapan sprints masing-masing harus dikerjakan. Bahkan dengan metode agile, sebuah tim dapat mengetahui workflow dari tim lain sehingga memudahkan setiap bagian dari organisasi untuk berkolaborasi.

 

Sejarah Scrum

Scrum diperkenalkan pertama kali pada tahun 1986 oleh Hirotaka Takeuchi dan Ikujiro Nonaka dalam sebuah artikel di The Harvard Business Review yang berjudul “The New Product Development Game.” Mereka menggunakan metafora untuk menggambarkan dua pendekatan yang berbeda. Sebagian tim seperti pelari estafet yang berlari secara bergantian dengan mengoper tongkat estafet dan berada dalam satu jalur. Tim yang lain bagaikan tim rugby yang bermain secara bersamaan, saling mengoper satu sama lain jika dibutuhkan, dan disatukan oleh kesamaan objective untuk mencetak skor sebanyak mungkin.

Takeuchi dan Nonaka beranggapan bahwa tim ‘pelari estafet’ tersebut ketinggalan jaman dan percaya bahwa cara ‘tim rugby’ akan memberikan perusahaan sebuah kekuatan untuk bersaing di dunia bisnis multinasional.

Lalu beberapa tahun setelahnya, John Sutherland, John Scumniotales, dan Jeff McKenna mengatakan bahwa mereka telah mencoba scrum di Easel Corp pada tahun 1993. Pada tahun 1995, Ken Schwaber dan Sutherland berkolaborasi dengan beberapa orang (ternasuk McKenna dan Scumniotales) mempresentasikan sebuah paper di OOPSLA yang berjudul “SCRUM Development Process.” Hasilnya? Scrum membuat para developer mempertanyakan efektivitas dari metode klasik ‘waterfall.’

 

Prinsip dan Komponen Scrum

Ada beberapa nilai di dalam scrum yang menjadikan framework ini paling populer di antara metode agile. Beberapa nilai tersebut adalah :

  • Commitment
    Sebuah tim dalam scrum mengarahkan dan mengawasi dirinya sendiri. Setiap anggota tim berarti telah mengerti dengan tanggung jawabnya dan mendedikasikan dirinya untuk menyelesaikan sebuah pekerjaan yang telah disepakati bersama.
  • Courage
    Sebuah tim merupakan satu entitas di mana gagal atau berhasilnya sebuah ide beserta eksekusinya ditanggung bersama.
  • Focus
    Prinsip scrum yang paling terasa adalah fokus. Metode scrum membatasi distraksi sehingga setiap anggota tim akan lebih berkonsentrasi pada pekerjaan yang harus diselesaikan pada hari itu.
  • Openness
    Sebuah tim diberikan kesempatan untuk berkumpul dan berbagi agar setiap anggotanya dapat menyampaikan ide, permasalahan, atau pun pandangannya tentang sebuah pekerjaan.
  • Respect
    Setiap tim terdiri dari anggota yang memiliki kelebihan dan kekurangan masing-masing. Setiap kelebihan dan kekurangan tersebut harus dihormati agar tidak saling menyalahkan jika membahas suatu kendala atau kegagalan.

 

Selain prinsip tersebut, Scrum juga memiliki beberapa komponen yang membedakannya dari framework manajemen yang lain. Komponen itu adalah product owner, scrum master, dan scrum development team.

  • Product Owner
    Anggota tim ini berperan sebagai perantara antara customer atau klien dan tim development. Product owner bertanggung jawab untuk memastikan produk akhir sesuai dengan ekspektasi klien atau customer dan memastikan bahwa ekspektasi klien sesuai dengan kemampuan development team.
  • Scrum Master
    Scrum master merupakan seorang fasilitator bagi seluruh anggota tim agar sistem scrum dapat berjalan semestinya. Kebanyakan peran scrum master ini disalahartikan sebagai ‘supervisor’ yang mengawasi setiap anggota tim. Padahal seperti yang telah disebutkan di atas, scrum mewajibkan anggota timnya untuk mengawasi dirinya sendiri. Peran scrum master hanyalah menjadwalkan seluruh ritual dari scrum dan menjadi moderator di dalamnya.
  • Scrum Development Team
    Tim inilah yang bertanggung jawab membuat, menguji, dan mengembangkan suatu produk.

 

Sebuah Framework Dengan Ritual

Dalam prosesnya, scrum mengajak para praktisinya untuk secara terus-menerus mengevaluasi bagian mana dari pekerjaan kita yang berhasil dan mana yang tidak. Dalam scrum, komunikasi adalah bagian penting dari sebuah proses. Oleh karena itu, scrum memiliki beberapa ritual meeting yang disebut dengan event. Beberapa event itu adalah :

 

Daily Scrum

Daily scrum merupakan rapat berdiri yang sangat singkat yang dilakukan setiap hari. Pada setiap kali pertemuan, anggota tim membahas tentang pekerjaan yang telah selesai di hari sebelumnya dan merencanakan pekerjaan apa yang harus selesai dalam waktu 24 jam ke depan. Dalam kesempatan inilah, setiap anggota tim bisa mengungkapkan masalah yang mungkin akan timbul dalam pengerjaan suatu project.

 

Sprint Planning Meeting

Sprint sebenarnya merujuk pada pekerjaan mana yang harus diselesaikan dalam satuan waktu. Waktu untuk setiap sprint berbeda-beda. Di meeting inilah tim merencanakan dan  mensinkronisasi semua sprint dalam jangka waktu seminggu ataupun sebulan tergantung dari jenis project.

 

Sprint Review

Di dalam meeting inilah semua pihak yang terlibat dalam sebuah project bertemu untuk meninjau sebuah sprint yang telah dikerjakan. ‘Product owner’ bisa bertindak sebagai stakeholder yang memberikan pandangan tentang hasil produk final dari sebuah sprint, tapi alangkah baiknya jika stakeholder sendiri ikut dalam sprint review ini.

 

Sprint Retrospective

Sprint retrospective diadakan saat seluruh sprint sudah selesai dikerjakan. Di dalam ritual ini, anggota tim development mengevaluasi seluruh proses sprint. Fokus dari ritual ini adalah ‘bagaimana pekerjaan yang lalu dikerjakan’ bukan ‘apa yang telah dikerjakan.’ Jadi goal dari ritual ini adalah lebih ke pengembangan diri dari setiap anggota tim bukan produk karena  untuk evaluasi produk sudah dilakukan pada saat sprint review.

 

Scrum! Sebuah Framework Project Management Pendobrak Tradisi 9

 

Artefak Agar Tidak Lupa Dengan Sejarah

Salah satu kelebihan scrum adalah dokumentasi dari sebuah proses yang disebut dengan ‘artefak.’ Artefak ini membuat scrum menjadi sebuah framework yang membuat proses perencanaan, komunikasi, dan evaluasi menjadi mudah. Inilah jenis-jenis artefak dalam scrum :

  • Product Backlog
    Yang dimaksud dengan product backlog adalah bagian dari produk baik itu fungsi atau fitur dari suatu produk yang harus diselesaikan. Product backlog ini biasanya disusun oleh product owner bersama klien.
  • Sprint Backlog
    Sprint backlog adalah turunan dari product backlog yang disusun dalam sprint planning meeting. Sprint backlog ditujukan agar setiap tim dapat mengetahui bagian mana saja yang harus dia kerjakan dalam suatu product backlog.
  • Product Increment
    Product increment terdiri dari product backlog yang sudah selesai dikerjakan. Product increment ini mencerminkan sampai sejauh mana progres dari pengerjaan suatu product.
  • Burn Down
    Burn down adalah visualisasi data yang berisikan informasi pekerjaan yang belum terselesaikan dan waktu yang tersisa. Burn down menampilkan chart yang membandingkan linimasa pengerjaan ideal dengan linimasa pengerjaan aktual dari sebuah sprint.

 

Itulah tadi penjelasan singkat mengenai scrum. Jika kita dapat melihat gambaran besarnya, kita akan mengetahui alasan mengapa tech startup kekinian memfavoritkan scrum sebagai framework kerja dalam pengembangan sebuah produk. Tentu saja framework ini bukan tanpa kelemahan. Banyak kendala untuk mentransformasikan sistem manajemen klasik ‘waterfall’ seperti SDM yang masih awam sampai kendala tim yang terlalu besar sehingga scrum tidak berjalan efektif. Solusi yang paling masuk akal untuk menerapkan pada bisnis yang sudah lama berdiri adalah dengan mengadaptasikan scrum secara pelan-pelan ke dalam konsep waterfall yang sudah mengakar dari lama.