https://www.rapa-puru.com/ https://ingemantspa.cl/ https://103.63.25.105/
https://fmipa.unpad.ac.id/wp-includes/robopragma/ https://unram.ac.id/wp-content/slot88/ https://fmipa.unpad.ac.id/wp-content/vvip2024/
– 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 1

 

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.

Benarkah Belajar Coding Saat Ini Lebih Mudah Dibanding Dulu?

Benarkah Belajar Coding Saat Ini Lebih Mudah Dibanding Dulu?

Benarkah Belajar Coding Saat Ini Lebih Mudah Dibanding Dulu?

Minat orang-orang untuk belajar pemrograman atau yang sekarang lebih ngetren disebut dengan belajar coding meningkat pesat belakangan ini. Selain karena kebutuhan industri dan sumber daya manusia untuk bidang tersebut memang meningkat, banyak di antara anak-anak muda yang menjadikan pemrograman sebagai hobi. Bisa menciptakan suatu program untuk memecahkan masalah yang dialami sendiri atau orang lain tentu menjadi tantangan sendiri bagi mereka.

Banyak orang yang bilang anak-anak sekarang hidupnya lebih enak apalagi kalau mau belajar sesuatu hal yang baru terutama belajar yang agak-agak berbau teknologi informasi atau IT. Sudah ada Google dan Wikipedia yang bisa menjelaskan semua hal yang ingin diketahui. Tinggal ketik kata kuncinya, ribuan halaman web tersedia dari institusi resmi maupun blog personal.

Lalu benarkah belajar coding sekarang lebih gampang bila dibandingkan dengan dulu? Belum tentu! Banyak juga hal-hal yang ada sekarang justru membuat kita semakin susah untuk belajar pemrograman. OK, mari kita bandingkan kondisi yang mempermudah dan yang mempersulit belajar coding saat ini.

 

Kondisi Yang Mempermudah Belajar Coding

 

Hadirnya Internet

Sebenarnya alasan ini sudah dibahas di awal artikel. Yup! Dengan kehadiran internet, kita dengan mudah bertanya apa saja ke mesin pencari seperti Google. Bahkan jika kita aktif di forum seperti Stack Overflow seringkali kita disuguhkan dengan kode yang sudah jadi. Cukup tekan “ctrl+C” dan “ctrl+V” saja untuk menyalin kode tersebut ke text editor yang kita gunakan seperti Sublime, Atom, atau Visual Studio.

Adanya internet juga mempermudah kita untuk mendapatkan tools dan dependencies yang dibutuhkan. Cuma butuh kesabaran dalam mengunduh file-file yang dibutuhkan dengan koneksi di negara kita yang alakadarnya ini.

 

Lahirnya Bermacam-macam Framework

Adalah sebuah kodrat jika manusia suka dengan hal yang cepat dan instan, seperti mie kardus yang laris dimana-mana. Begitu juga dengan bahasa pemrograman. Jangan mengaku gaul di dunia coding kalau belum pernah mencoba framework yang dibuat di atas bahasa pemrograman tertentu seperti Laravel, Vue.js, Spring, .NET, dan lain sebagainya.

Framework memang dibuat untuk memudahkan para developer untuk menuliskan kode pemrogramannya. Dengan framework, beberapa baris kode bisa disingkat menjadi satu baris kode saja. Selain memudahkan para developer, framework ini juga dianggap sebagai dewa penyelamat bagi orang yang sedang belajar coding tapi juga ingin langsung praktek membuat suatu project sendiri.

 

Coding Bootcamp yang Kian Menjamur

Bagi yang belum mengetahui istilah yang digunakan pada sub judul di atas, coding bootcamp adalah program pelatihan intensif belajar pemrograman. Biasanya yang sering kali diajarkan dalam coding bootcamp ini adalah pemrograman web dan mobile. Mungkin karena memang dua hal tersebut lebih sederhana daripada membuat aplikasi desktop.

Ada bermacam-macam metode coding bootcamp. Ada metode online yang tidak mewajibkan peserta datang ke tempat pelatihan dan ada metode offline yang mewajibkan pesertanya hadir ke ruang kelas. Seringnya penyedia layananan coding bootcamp ini tidak mematok syarat yang tinggi untuk menjadi pesertanya. Minimal paham caranya menggunakan komputer dan internet, walaupun ada beberapa bootcamp yang menyeleksi ketat pesertanya karena keterbatasan tempat.

Adanya coding bootcamp ini membuat orang-orang tidak harus kuliah di jurusan IT untuk bisa membuat aplikasi web atau mobile. Dan mengingat bahwa banyak tech start up yang tidak mensyaratkan ijazah dari Teknik Informatika dalam menerima karyawan baru, semakin menambah semangat kita yang ingin atau sedang belajar coding.

(Jika Anda tertarik dengan coding bootcamp dari Inixindo Jogja silakan menuju laman full-stack web programming bootcamp.)

 

Orang Yang Mengerti IT Jauh Lebih Banyak

Setidaknya di zaman sekarang, pemahaman IT masyarakat Indonesia sudah cukup lumayan. Hampir setiap orang yang kita jumpai paling tidak memiliki komputer kecil berwujud smartphone di sakunya. Hampir setiap universitas pun punya jurusan IT. Kenapa hal ini membantu? Ya paling tidak semakin besar jumlah orang yang paham IT semakin besar pula kemungkinan orang yang kita kenal bisa kita jadikan Google berjalan yang siap ditanya-tanya saat mengobrol di warung kopi atau di warteg.

Selain untuk ditanya-tanya, kehadiran teman yang memiliki minat dan keahlian di bidang yang sama tentu saja akan memberikan dukungan psikologis. Itulah kenapa komunitas sering berkumpul untuk sekedar sharing.

 

Kondisi Yang Mempersulit Belajar Coding

 

Teknologi Yang Berkembang Terlalu Cepat

Semakin canggih teknologi tentu saja juga mendatangkan masalah baru yaitu perubahan yang sangat cepat. Masalah ini sering dialami oleh mahasiswa IT yang baru saja lulus dari perguruan tinggi. Materi-materi kuliah yang diajarkan pada awal semester terkadang sama sekali berbeda dengan kondisi saat mereka lulus. Satu per satu framework lahir menggantikan framework populer yang dipakai sebelumnya.

Repotnya lagi, industri saat ini menuntut para calon karyawannya untuk menguasai framework baru. Tidak sedikit dari mahasiswa yang belum sempat istirahat sambil kipas-kipas setelah wisuda harus belajar lagi agar bisa diterima di perusahaan tempat incarannya untuk bekerja. Kondisi inilah yang kadang-kadang membuat bingung orang yang akan belajar coding. Mereka takut pembelajarannya akan sia-sia setelah setahun atau dua tahun lagi.

 

Distraksi

Sebenarnya ini adalah hambatan yang muncul dari faktor internal diri kita sendiri. Pernakah Anda mencari-cari tutorial di internet dan tanpa Anda sadari Anda tiba-tiba menonton video musik yang sedang populer saat ini? Jika pernah, Anda tidak sendirian.

Jika dulu hanya ada komputer, buku teknis tentang pemrograman, dan cemilan saat kita belajar. Sekarang kita diberikan pilihan konten yang dapat mendistraksi fokus kita dalam belajar coding. Tentunya hal ini akan mengurangi efisiensi waktu yang dibutuhkan untuk mendalami dan mempraktikkan setiap baris kode yang kita dalami.

 

Project Dengan Skala Besar

Hadirnya platform kolaborasi dalam pemrograman seperti Git membuat suatu project berkembang dari skala kecil hingga ke skala besar dengan sangat cepat. Lalu? Jika Anda baru belajar coding dan belum punya pengalaman mengerjakan project dengan skala besar, bersiaplah untuk ternganga melihat ribuan baris kode yang dibuat oleh puluhan orang. Tentu saja dengan alur logika mereka masing-masing.

Satu hal yang lebih susah daripada coding itu sendiri adalah memahami kode yang dibuat oleh developer lain. Hal ini akan terasa mudah saat dulu procedural programming masih berjaya dan belum diserang oleh “negara api” (object-oriented programming, Red.).  Memang secara garis besar OOP (object-oriented programming) memang dibuat untuk memudahkan developer dalam mengembangkan aplikasi dengan skala besar, tapi beda ceritanya jika kita masuk saat project berjalan ditengah-tengah dan kita harus melakukan reverse engineering terhadap aplikasi yang dibuat oleh banyak orang.

 

Telah sampailah kita pada penghujung artikel yang tidak memberikan kesimpulan dan agak berbau click bait ini. Lalu bagaimana tips dan trik agar belajar coding atau pemrograman bisa berjalan efektif dan menyenangkan? Baca artikel dari kami tentang 7 jurus (tips & trik) belajar coding secara otodidak!