Skip to content

Instantly share code, notes, and snippets.

@ynwd
Last active February 15, 2021 04:19
Show Gist options
  • Select an option

  • Save ynwd/0f48e32f62d5676096abc16a47788551 to your computer and use it in GitHub Desktop.

Select an option

Save ynwd/0f48e32f62d5676096abc16a47788551 to your computer and use it in GitHub Desktop.
Scrum: Simplified

Scrum: Simplified

Catatan ini merupakan refleksi dari pengalaman setelah merasakan implementasi scrum di beberapa tempat. Juga rangkuman-rangkuman setelah membaca-baca dokumentasi resmi dan mengikuti beberapa kursus scrum di Linked Learning.

Misalnya, klien Anda ingin membuat aplikasi e-commerce. Anda kemudian membuat semua proposal dan dokumentasinya secara detail setelah melakukan analisa yang lama dan mendalam. Klien pun kemudian setuju. Tim development lalu memulai pengerjaan.

Tapi ternyata, di tengah pengerjaan, ada kebutuhan bisnis sangat mendesak, yang memaksa klien Anda untuk mengubah sebagian atau seluruh alur bisnis.

Jika menggunakan manajemen tradisional, maka seluruh perencanaan dan penulisan dokumentasi harus dilakukan ulang hingga selesai agar pengerjaan bisa dilakukan. Tentu saja hal ini akan membutuhkan waktu sebagaimana proses sebelumnya.

Tapi jika memakai pendekatan agile, anda bisa segera melakukan perubahan secara bertahap tanpa harus menunggu semua perencanaan dan dokumentasi siap.

Perubahan ini sangat mungkin terjadi karena agile memiliki manifesto:

  • Lebih mengutamakan individu dan interaksi atas proses dan peralatan
  • Lebih mengutamakan software yang berfungsi atas dokumentasi yang komprehensif
  • Lebih mengutamakan kolaborasi dengan klien atas negosiasi kontrak
  • Lebih mengutamakan tanggap dengan perubahan atas mengikuti rencana

Scrum adalah salah satu agile framework yang sederhana dan mudah dipahami.

Karena itu ia jadi paling populer di antara yang lain.

Highlevel Diagram

Berikut ini adalah diagram yang menggambarkan keterkaitan antar scrum team.

Scrum Team

  • Product Owner yang mendefinisikan seperti apa fitur-fitur sebuah produk.
  • Scrum Master yang memastikan semua tim melaksanakan prinsip-prinsip scrum secara benar.
  • Development Team yang mewujudkan semua definisi fitur menjadi aplikasi siap pakai.

Scrum Events

Tiap anggota scrum team akan saling berinteraksi melalui serangkaian pertemuan atau acara. Tapi sebelum semuanya dimulai, product owner, dibantu scrum master, harus membuat product backlog terlebih dahulu.

Berikut ini adalah acara-acara yang harus dihadiri secara berurutan oleh semua anggota scrum:

  1. Sprint planning

  2. Daily standup

    • Pertemuan ini diadakan oleh scrum master setiap hari.
    • Dihadiri oleh semua scrum team
    • Dilaksanakan secara singkat. Biasanya 15 menit.
    • Development team menyampaikan:
      • Apa yang sudah dikerjakan kemarin
      • Menyampaikan kendala apa yang ditemui, jika ada
      • Apa yang akan dikerjakan hari ini
  3. Backlog refinement

  4. Sprint review

    • Pertemuan ini diadakan oleh scrum master di akhir sprint
    • Dihadiri oleh semua scrum team dan pemangku kepentingan
    • Product Owner menyampaikan fitur-fitur apa saja yang di-release pada sprint ini dengan mendemokannya ke khalayak
    • Semua pemangku kepentingan lalu diminta pendapatnya
  5. Sprint retrospective

    • Pertemuan ini diadakan oleh scrum master
    • Dihadiri oleh semua scrum team
    • Setiap anggota scrum team diminta pendapatnya secara anonim tentang:
      • Apa yang sudah benar dan layak dilanjutkan
      • Apa yang tidak benar dan harus dihentikan
      • Apa yang perlu diperbaiki

Glosarium

  • Product Owner

    Orang yang bertanggung jawab terkait dengan fitur-fitur produk.

  • Scrum Master

    Orang yang memastikan semua tim melaksanakan prinsip-prinsip agile dan scrum.

  • Development Team

    Orang-orang yang bertanggung jawab dalam pembuatan proyek sesuai dengan keahlian dan bidangnya masing-masing. Biasanya terdiri dari: desainer, backend developer, frontend developer, dan QA.

  • Daily standup

    Pertemuan singkat antar tim scrum yang diadakan sekitar 15 menit sehari.
    Tiap tim berbagi tentang:

    • apa yang sudah dikerjakan kemarin
    • apa yang akan dikerjakan hari ini
    • menyebutkan masalah atau blocker jika ada
  • Product backlog

    Product backlog berisi semua user story yang mungkin terdapat dalam sebuah produk. Ia dapat bertambah atau berkurang. Menyesuaikan kebutuhan bisnis.

  • User story

    • Berisi penjelasan fitur yang digunakan para pengguna
    • Jika ternyata pengerjaan fitur tersebut sangat kompleks, ia harus dipecah menjadi lebih sederhana -- agar bisa diperkirakan kapan selesainya.
    • Judul, deskripsi dan acceptance criteria dibuat oleh product owner.
    • Sedangkan story point ditentukan oleh development team saat sprint planning.

    Contoh-contoh user story:

    No Judul Deskripsi Acceptance criteria Story point
    1 Simpan email dan password Sebagai user standar, saya bisa menyimpan email dan password ke dalam sistem Email harus unik. password harus terdiri alpanumerik + tambah karakter khusus. Password minimal 8 karakter 1
    2 Aktivasi akun Sebagai user standar, saya bisa aktivasi melalui link yang dikirim ke email. Aktivasi akan expired dalam waktu 24 jam 1
    3 Tambahkan data pribadi Sebagai user standar, saya bisa menambahkan nama lengkap, alamat, dan nomor handphone. Nama, alamat, dan handphone tidak boleh kosong 1
    4 Update email dan password Sebagai user standar, saya bisa mengubah email dan password Email dan password tidak boleh sama dengan sebelumnya 2
  • Story point

    Adalah perkiraan tentang:

    • Jumlah pekerjaan yang harus dilakukan
    • Kompleksitas pekerjaan
    • Segala resiko atau ketidakpastian dalam melakukan pekerjaan

    Direpresentasikan dengan angka fibonaci: 1, 2, 3, 5, 8, 13, dan 21

  • Sprint

    Waktu yang digunakan untuk mengerjakan user story terpilih. Biasanya selama 2 minggu.

  • Sprint backlog

    Setelah user story selesai dibuat oleh product owner, ia lalu memilih beberapa yang harus dikerjakan terlebih dahulu dalam satu sprint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment