Free Scrum Workshop Jan 2011
-
Upload
scrum-asia-pasifik -
Category
Business
-
view
1.063 -
download
2
description
Transcript of Free Scrum Workshop Jan 2011
Agenda – Sesi 1
Pengenalan konsep-konsep dalam Scrum
Agenda - Sesi 2
Workshop Scrum – Full Scrum Cycle
Mengenai workshop ini
Workshop ini diadakan dengan tujuan agar peserta bisa lebih memahami mengenai Scrum
Menghilangkan persepsi yang salah mengenai Scrum selama ini
Lebih banyak orang Indonesia yang dapat mengenal Scrum
Apabila anda ingin mendapatkan hasil maksimal, anda diharapkan untuk aktif dalam setiap pertanyaan dan aktifitas serta mengikuti workshop ini sampai selesai
Perkenalan
Nama Posisi/Jabatan Pengalaman dengan manajemen proyek Alasan ingin mengetahui tentang Scrum
Sosiogram
Berikan ranking dari 1-10 dalam menjawab pertanyaan dibawah ini:
Seberapa dalam pemahaman anda tentang Scrum?
Seberapa puaskah kustomer ketika anda terakhir kali deliver sebuah proyek?
Seberapa puaskah anda dengan proses yang sedang anda jalani sekarang?
Latihan
Anda disewa sebagai Scrum Master untuk memecahkan masalah yang dihadapi tim developer yang belum deliver apapun dalam 7 bulan
Proyek ini memiliki 5 stakeholder yang masing-masing memiliki kepentingan atas proyek ini
Apa yang akan anda lakukan?
Kategorisasi Proyek
Scrum Overview
Scrum adalah...
Proses kerja sederhana dengan aturan yang dilakukan secara berulang
Sebuah kolaborasi antara tim pegembang dan kustomer dalam sebuah dialog yang berlangsung terus menerus
Pembungkus dari proses teknikal yang telah berjalan yang menghasilkan sebuah kemajuan
Kerangka kerja dengan pemantauan dan adaptasi yang dilakukan terus menerus
Scrum bukanlah...
Metodologi manajemen proyek baru melainkan sebuah proses kerja untuk meng-improve organisasi
Jawaban dari semua permasalahan yang ada dalam proyek/organisasi anda karena Scrum tidak menyediakan perencanaan (contingency plan) untuk setiap masalah yang mungkin akan terjadi di masa mendatang
Tapi bila dilakukan dengan benar dan keseluruhan, Scrum dapat menguak semua permasalahan yang ada dalam proyek/organisasi anda
Contoh permasalahan
Tim saya tidak bisa melakukan Daily Standup secara konsisten
Di organisasi/proyek saya sulit untuk melakukan pertemuan Sprint [Retrospective, Planning, Review]
Di organisasi/proyek saya sulit untuk memilih Product Owner
Peran-peran dalam Scrum
Pemilik Produk (Product Owner) Scrum Master Tim
Pemilik Produk
Menentukan fitur dari produk dan tanggal rilis Bertanggung jawab atas ROI produk Memprioritaskan fitur berdasarkan nilai dari
produk di pasaran Berhak merubah prioritas dan mengubah fitur di
setiap sprint Menyetujui atau menolak hasil kerja dari tim Gagal atau suksesnya proyek sangat
bergantung pada pemilik produk
Pemilik Produk
Siapa yang menjadi Product Owner di organisasi anda
Siapa yang bisa menjadi Product Owner? Untuk proyek komersil umumnya adalah
delegasi dari pengembangan produk atau marketing
Untuk proyek internal biasanya adalah user, manajer dari user, analyst, ataupun seseorang yang mendanai proyek
Pemilik Produk
Arsitek Solusi Konflik kepentingan karena KPI ditentukan oleh
selesainya proyek Belum berpengalaman atau merasakan
menjadi pengguna Lebih fokus pada teknologi canggih daripada
kemudahan penggunaan
Pemilik Produk
Salesperson Tidak memiliki wawasan mengenai produk
secara utuh Lebih fokus pada fitur yang menyebabkan
produk tidak jadi dibeli oleh kustomer
Marketing Lebih fokus pada kuantitas fitur daripada
kualitas fitur
Pemilik Produk
Trainer Lebih fokus pada sistem yang mudah
dijelaskan pada training
Technical Support Lebih fokus pada sistem yang mudah untuk di-
support
Pemilik Produk
Domain Expert Ahli dalam bidangnya tetapi belum tentu pernah
menggunakan sistem/menjadi pengguna Fokus pada pengguna dengan level yang sama
dengannya Menyebabkan software yang kompleks untuk
digunakan untuk end-user
Pemilik Produk
Business Analyst Pernah menginjakkan kaki di dunia teknologi
dan domain dari software Lebih fokus pada pemecahan masalah
daripada mencari tahu dari pengguna Lebih fokus pada aktifitas-aktifitas di awal
proyek
Scrum Master
Melayani dan bukan memerintah (servant leadership)
Menghilangkan hambatan yang dialami oleh tim Memastikan tim berfungsi dan produktif Memastikan tim menjalankan proses Scrum Memastikan tim terlibat dalam setiap
pertemuan Melindungi tim dari gangguan pihak luar
Scrum Master
Menyampaikan informasi mengenai proyek kepada manajemen level atas di organisasi
Mengajarkan kustomer bagaimana memaksimalkan ROI serta bagaimana mendapatkan tujuan mereka
Memfasilitasi tim lewat kreatifitas dan dukungan moril agar anggota tim tidak merasa jenuh dengan pekerjaannya
Kuis
Apa yang akan terjadi apabila sebuah proyek Scrum tidak memiliki seorang Scrum Master?
Apakah posisi Scrum Master bisa diisi sekaligus oleh anggota tim?
Apakah posisi Scrum Master bisa diisi sekaligus oleh Product Owner?
Apa yang akan terjadi apabila Scrum Master memimpin beberapa proyek sekaligus?
Apa yang akan terjadi apabila Scrum Master bekerja paruh waktu?
Tim
Terdiri dari 7 +/- 2 orang Mendemokan kemajuan (increment) produk di
setiap akhir sprint kepada Product Owner dan pihak lain yang berkepentingan atas proyek
Mengatur dirinya sendiri Memiliki otoritas penuh terhadap proyek dalam
batasan tertentu dan harus sejalan dengan tujuan proyek/organisasi
Tidak ada jabatan tertentu. Tim berfungsi antar lintas. Semua anggota tim bekerja sama untuk menghasilkan produk akhir
Komponen dalam Scrum
Product Backlog Sprint Backlog Produk Penghambat (Impediment) Sprint Burndown Chart Product/Release Burndown Chart
Product Backlog
Kumpulan fitur-fitur yang harus dimiliki oleh sebuah sistem agar sistem tersebut memiliki sebuah nilai
Bukan bersifat teknikal, tetapi lebih ke user level
Diprioritasi ulang di setiap Sprint oleh PO
Product Backlog
Harus muat dalam satu Sprint
Apabila tidak muat dalam satu Sprint, maka hendaknya dipecah agar muat dalam satu Sprint
Agar mudah dimengerti, PO dan tim baiknya dibuat dalam bentuk user story
User Story
Sebagai <peran>
Saya ingin <fitur>
Agar saya <nilai bisnis>
Contoh:
Sebagai member website
Saya ingin dapat nge-tweet
Agar saya bisa memberi tahu dunia apa yang sedang saya lakukan
User Story
User story bukanlah Use Case Scenario Jangan pernah menggunakan user sebagai
peran karena terlalu umum dan wagu User story yang terlalu besar atau dapat
dipecah menjadi beberapa user story dinamakan epic
User Story - Latihan
Coba diskusikan apakah hal berikut ini merupakan contoh user story yang baik
Software dibuat menggunakan bahasa Java Member website dapat login dengan username
atau email Database dapat mereplikasi data tanpa
sepengetahuan pengunjung website Member dapat memposting tweet dari iPhone
Story Points
Skala ditentukan bersama oleh tim berdasarkan konsensus
Skala yang biasanya digunakan:
1-10 Deretan bilangan
Fibonacci: 1,2,3,5,8 Ukuran kaos: XS, S,
M, L, XL, XXL
Story Points - Latihan
Urutkan binatang berikut ini berdasarkan ukuran yang telah disepakati
Ikan Paus Singa Kucing Jerapah Gajah Tikus
Sprint Backlog
Product Backlog yang disetujui oleh tim dan PO untuk dimasukkan dalam satu Sprint
Task
Tugas yang perlu dilakukan untuk menyelesaikan satu fitur
Muncul pada saat tim mengerjakan fitur Tim yang secara proaktif memasukkan task
baru bukan pihak luar Biasanya ukurannya dalam jam bukan hari
Task & Fitur - Latihan
Coba diskusikan apakah hal berikut ini termasuk fitur atau tugas
Menulis kode agar user dapat mengupload gambar dari telepon genggam
Mengimplementasikan OpenID agar user bisa login dengan satu token
Menulis kode untuk unit testing Menulis kode untuk meningkatkan performa
loading halaman
Velocity
Jumlah total story points yang diterima oleh Product Owner di setiap akhir Sprint
Velocity dapat digunakan sebagai acuan/pedoman untuk mengestimasi Product Backlog item pada Sprint Planning
Scrum Taskboard
Scrum Taskboard
Scrum Taskboard
Scrum Taskboard
Scrum Taskboard
Hambatan
Produktifitas Tono kurang dibandingkan anggota tim lainnya
Kenapa Tono kurang produktif? Kenapa Tono belum mendapatkan pelatihan? Kenapa tidak ada yang bisa memberikan
pelatihan? Kenapa semua pada sibuk? Kenapa terlalu banyak fitur yang harus
dikerjakan oleh tim?
Hambatan
Setiap kali mengkompilasi software memakan waktu 15 menit
Developer tidak bisa konsentrasi Komunikasi antar tim terhambat Di ruangan tidak ada tempat untuk bisa
memasang task board Tidak ada ruangan bagi tim untuk melakukan
standup meeting
Sprint Burndown Chart
Grafik harian dari jumlah tugas yang tersisa dalam satu Sprint
Diupdate oleh tim
Release Burndown Chart
Grafik dari jumlah Product Backlog yang tersisa di setiap Sprint hingga akhir rilis
Diupdate disetiap akhir Sprint
Pertemuan penting dalam Scrum
Daily Scrum Meeting Sprint Planning Sprint Review Sprint Retrospective
Daily Scrum Meeting
Tim bertemu setiap hari selama 10-15 menit
1 orang berbicara secara bergantian
Bukan pertemuan untuk menyelesaikan masalah
Mengeliminir pertemuan tidak penting
Daily Scrum Meeting
Apa yang telah saya kerjakan kemarin
Apa yang akan saya lakukan hari ini
Hal apa yang menghambat saya untuk menyelesaikan pekerjaan saya
Kuis
Kenapa Daily Scrum meeting harus dilakukan berdiri?
Apa dampaknya apabila Daily Scrum meeting tidak dilakukan setiap hari?
Apa dampaknya apabila Daily Scrum meeting tidak dilakukan secara konsisten di pagi hari?
Bagaimana caranya agar seluruh anggota tim dapat menghadiri Daily Scrum di pagi hari?
Sprint Planning
Dilakukan di awal Sprint
Tim berdiskusi dengan Product Owner mengenai Product Backlog item yang dimasukkan ke dalam Sprint
Sprint Planning
Tim membahas ukuran(size) dari Product Backlog dengan story points
Planning dilakukan berdasarkan fitur bukan aktifitas
Hasil akhir dari pertemuan ini adalah Sprint Backlog
Sprint Review
Dilakukan di akhir Sprint
Tim mendemokan produk dihadapan Product Owner
Memberikan gambaran bagi Product Owner untuk Sprint Planning berikutnya
Sprint Review
Scrum Master bertanggung jawab untuk mengkoordinasi dan memimpin pertemuan
Tanya jawab sangat dianjurkan
Bukan ruang untuk mengkritik
Sprint Retrospective
Tim mengkilas balik mengenai sprint yang telah berjalan
Scrum Master harus kreatif dalam menentukan format Sprint Retrospective
Scrum Master bertanggung jawab atas berjalannya Sprint Retrospective
Sprint Retrospective
Format umum: Apa yang telah
berjalan dengan baik Apa yang tidak
berjalan dengan baik Apa yang dapat
diperbaiki untuk sprint berikutnya
Selesai (Done)
Definisi dari selesai ditentukan bersama secara konsensus
Contoh: Telah di-deploy di local server oleh CI Semua function telah melewati unit test Semua fitur telah di-test oleh tester Software sudah dalam bentuk releasable
Workshop
Bentuk tim Scrum untuk mengerjakan pekerjaan yang akan ditampilkan setelah ini
Simulasi 1 hari = 10 menit 1 Sprint = 2 hari Kita lakukan 2 Sprint 2 demo dihadapan PO
Brosur Internet Cafe
Tentukan daftar harga sewa internet dengan komputer PC atau BYO laptop
Tentukan daftar makanan dan minuman di cafe Tentukan fasilitas lainnya Tentukan headline dan tagline agar menarik perhatian Tentukan nama dan logo internet cafe yang menarik
perhatian Gambarkan/masukkan semua yang telah disebut
diatas ke atas brosur PO: boleh menambahkan hal yang belum tercakup
disini
Sprint Retrospective
Diskusikan apa yang berjalan dengan baik dan tidak berjalan dengan baik
Diskusi
Setelah melakukan workshop, diskusikan pertanyaan berikut
Apakah saya dapat mengurangi aturan dalam Scrum? Apa yang akan terjadi apabila saya tidak melakukan salah satu aturan Scrum?
Kira-kira hal apa yang akan diungkap oleh Scrum apabila Scrum diterapkan di organisasi anda?
Dampak dari penerapan Scrum
Konflik akan terjadi Scrum akan membuat beberapa pihak tidak
nyaman Jabatan akan menjadi tidak penting Staff and management turnover Kebijakan mengenai bonus dan kenaikan gaji
akan berubah
Dampak dari penerapan Scrum
Tugas manajer akan berubah dari memerintah menjadi melayani
Tim Scrum akan memiliki nilai lebih dibandingkan tim yang tidak melakukan Scrum
Tim Scrum akan memaksa setiap pihak untuk proaktif dan peduli dengan proyek
Scrum akan membuka saluran komunikasi yang selama ini mungkin tidak ada
Suasana kerja akan menjadi lebih menyenangkan
Langkah selanjutnya...
Coba kenalkan Scrum di organisasi anda Menerapkan Scrum tidaklah mudah karena Scrum
menghadirkan sebuah perubahan Perubahan akan membuat banyak pihak menjadi tidak
nyaman dan dapat menimbulkan konflik. Konflik adalah tanda bawa perubahan sedang berjalan
Lakukan pertemuan rutin dengan komunitas untuk sharing pengalaman dengan Scrum dan kesulitan dalam mengimplementasikan Scrum
Jangan ragu untuk bertanya dan sharing cerita sukses di milis Scrum Indonesia
Terima Kasih