Scrum master =
• Memastikan scrum itu dipahami dan dihidupi oleh tim scrum sesuai scrum guide
• Dia adalah servant leader, pemimpin yang melayani (Servant Leader).
• Mereka diluar team scrum, harus memahami interaksi mana yang bermanfaat dan mana
yang tidak. scrum master harus berani memastikan tim diluar scrum tidak mengganggu
tim scrum.
• Scrum master harus bisa membuat seseorang keep improving.
• Scrum master harus selalu bertanya dalam diri “Bagaimana saya dapat melayani orang-
orang didalam perusahaan lebih baik lagi dari kemarin agar seluruh potensi mereka keluar
dari dalam diri mereka”
1. Scrum master adalah nama lain technical leader
2. Scrum master adalah customer proxy
3. Scrum master adalah nama lain dari manajer proyek
4. Scrum master adalah sekretaris pribadi untuk tim dev
5. Scrum master adalah Subject Matter Expert (SME)
Hal-hal yang harus diketahui scrum master, Based in scrum guide :
1.Scrum Guide Knowledge
DT mengambil jumlah kerjaan sendiri, tanpa ada intervensi dari siapapun ketika awal sprint. Ada pengontrol
Kualitas, Definition of done. Dev team bisa mengontrol sendiri standar minimum kualitasnya.
2. Teaching Skill, merupakan kemampuan menyusun materi ajar scrum
3. Process Managing Skill, merupakan Self Organize, Proses nya yang jadi inti nya. Scrum master tidak bertanggung
jawab pada keluaran program, tapi bertanggung jawab pada minimum proses itu berjalan. Scrum master harus dapat
mengencourage other to Team & Improve the process, harus dapat menumbuhkan rasa memiliki ke product ke
semua team scrum.
4. Retrospective Facilitator Skill, membantu mengarahkan orang-orang untuk perbaikan diri & perbaikan komitmen.
Bagian ini terdiri dari Continous Improvement Mindset (Jadikan spirit & semangatnya harus ada dalam diri scrum
master sebelum memberi motivasi ke pada orang lain), Emphiricms, pengetahuan hanya didapat oleh indera data
metric fokus, dan Discipline on retrospective, Scrum master harus pertama kali bertiindak ketika sesuatu yang buruk
terjadi dalam tim nya.
Hal-hal yang harus diketahui scrum master, Based in scrum guide :
5. Organization Influencing Skill, wajib untuk memastikan proses minimum berjalan. Scrum master tidak melakukan
locked deadline, Tidak ada deadline sesuai scope dan lainlain. Bagian ini terdiri dari:
a. Bird View, harus mampu melihat organisasi. Idea, idea solutif.
b. Contagious, berani untuk interupt
c. Persistance, ngotot ga ngeyel.
6. People Skill
a. Human Happiness
b. Conflict Mediation
c. Team Motivating
Membantu memahami Mempasilitasi praktik Bersama scrum master lain:
perancangan produk ala scrum terlaksana untuk DT Memimpin dan
empirisme (bisa diukur & yang baru mengenal membimbing organisasi
fleksible diubah) SCRUM dalam penerapan scrum
berdasarkan data nyata Membantu DT untuk
dari pengguna. Bukan Membantu setiap pegawai
mengatur diri sendiri. SM
harus
master harus
Untuk ORGANISASI, Scrum
perintah CEO. dan stakeholder untuk
harus jadi inspirator DT memahami scrum
Membantu terus mencari Bekerja iterative dalam membantu membuat
teknik terbaik untuk waktu yg singkat. Ini butuh perubahan di level
mengelola backlog (antrian skill tinggi organisasi yang mendukung
pekerjaan yang fleksible) Mendorong DT untuk selalu tim scrum
memperbaiki cara kerja
dan kualitas sw buatan
mereka
Menghilangkan gangguan-
gangguan lain yang
menghambat mereka
namun diluar kendali DT
• Scrum master adalah seorang ‘Master’ dalam scrum
• Scrum master adalah seorang partner. Scrum master akan berjalan disamping tim nya,
bukan hanya dalam keadaan senang, tapi juga dalam keadaan susah. Scrum master tidak
menghakimi timnya ketika mereka gagal atau khilaf
• Scrum master bukanlah orang yang ‘sok tahu’ hanya karena ia lebih berpengalaman
dibanding timnya.
• Scrum master menggunakan ‘artful questions’untuk memandu mencari jawaban itu
sendiri dan mencari teknik-teknik lain untuk memecahkan sebuah masalah.
• Scrum master tidak mengelola dan memberi instruksi kepada tim pengembang. Ia bahkan
tidak menugaskan orang-orang untuk mengerjakan sebuah pekerjaan.
Incement membuat sw semakin lama semakin matang, kenaopa agile? Increment dibuat
berdasarkan respon terbaru dari penguna. Jadi kita benar-benar membuat sw yang sesuai dengan
maunya pengguna. ITULAH INDAHNYA AGILE
Kita mulai dari sprint planning, simplenya,
kita membuat sprin backlog & sprint goal
Peserta:
1. Semua tim scrum
2. Tenaga ahli (optional)
Masukkan (INPUT) Sprint planning,
sebelum alur dimulai :
1. Product backlog
2. Inkrement terbaru. Inkrement
sprint sebelumnya bisa dicoba
3. Rekam performa pengembangan.
Dokumen performa sprint sblmnya.
Alur
1. PO menjabarkan tujuan yang dia mau diawal
2. DT menjabarkan apa yang ingin mereka kerjakan
3. Lalu PO & DT berembuk bersama, menentukan
sprint goal, lalu mendetailkan PBI-PBI Terkait.
4. Fokus ke DT, DT mengambil jumlah pekerjaan (PBI)
untuk SPRINT BACKLOG yang visible dikerjakan 1
sprint(sanggup) (2minggu / 1 bulan). TIDAK ADA 1
ORANG PUN YANG BISA MENDIKTE DT untuk
mengambil jumlah kerjaan yang tidak mampu DT
kerjakan. DISINI DILAPANGAN SERING TERJADI
MEMBUAT DT bekerja lebih menderita. BAHAYA YA,
JANGAN.
5. Pendetailan PBI-PBI di SPRINT BACKLOG menjadi
plan (task) setidaknya garis besar. Minimal untuk
beberapa hari kedepan, yang jelas, detail HOW TO
nya bisa terus diubah dibeberapa hari kedepan.
Keluaran
1.Sprint Goal
2. Spring Backlog (PBI & PLAN)
Karena scrum menggunakan pendekatan BOTTOM-UP, yang dapat menjawab berapa durasi sprint yang ideal
hanyalah Product owner dan tim pengembang. Kedua pihak ini yang akan membuat kesepakatan mengenai durasi
sprint setelah mempertimbangkan semua faktor.
“ ”
• Dod = ceklis prasyarat yang harus dilalui setiap PBI, tapi tidak
tertulis di deksripsi PBI, Syarat standar kena ke semua PBI &
DT.
• Versi minimum DOD adalah standar perusahan sendiri
• Maks DOD? Tidak ada, DOD adalah milik DT karena SB adalah
milik DT, Harus terus memperbaiki diri. DT boleh
menambahkan standar kualitas sw dia. BANYAK BANGET
EKSEKUSI DILAPANGAN yang membuat penggunaan SCRUM
menjadi sw yang tidak berkualitas. Karena dituntut dalam
waktu singkat, jadinya ada teknical dev issue. Solusinya jaga
oleh DEV OF 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
1. Code refactored, clean code all the time with low 5. Documentation has been created with best effort:
cyclomatic complexity and high maintain ability index • User requirement specification
2. All automated test script has been created with best • User guide and user manual
effort: • Architexture & texhincal specification
• Unit test script • Test scenario
• Integration test script • Functional test result
• Functional test script • Executale document that validate the code
• Performance test script 6. All code are checked in and built by continouos build
• Security test script 7. Continuous build have build package to be runable inside
• Coded UI test script Docker
3. Mission ciritcal business method are: 8. Sexy and clean UI/UX
• Pair programmed 9. Page loading time should not be more than 2 second
• Code reviewed by the whole team
10. Manual functional testing and explanatory testing has
• Covered by automated test and code coverage shoul been done with best effort
not be lower than 85%
11. Product owner can deploy the system with a single click
4. No Compiler warning of a button with in release
12. We are proud to mention this software in our resume
• Sepanjang pengembangan:
• Sprint GOAL Tidak boleh berubah (Masalah besar untuk tujuan
bersama tidak boleh berubah)
• Plan pengerjaan boleh berubah, ga usah nunggu dari PO. DT boleh
mengubah cara how to mencapai tujuan.
• Terkait detail deskripsi PBI di SB bisa merubah (PB refinement)
• PB refinement bisa terjadi (seperti sprint planning PO & DT
berembuk untuk tujuannya untuk mempercantik, memperdetail &
memperjelas product backlog) secara adhoc(tidak bisa diduga)
ditengah2 (max. perubahan 10%)
• PBI di SB boleh berubah biasanya karena kendala teknis yg besar
atau instruksi darurat PO. Bisa ada PBI yang keluar
1. Perubahan vs Kualitas 2. Test engineering vs click testing
• Tujuannya bukanlah menghabiskan • Seorang tester tidak boleh hanya dapat
banyak waktu untuk menciptakan melakukan ‘Click testing’ karena
software dengan arsitektur siapapun dapat melakukan hal tersebut.
sempurna, namun menciptakan • Test engineering adalah aktifitas
sebuah software dengan arsitektur mengembangkan automated test script
yang dapat menerima perubahan dan membangun infrastruktur untuk
kapanpun juga automated test.
• DT perlu meningkatkan skillnya • TE bukan hanya mahir dalam test dari
dengan menerapkan design tampilan sistem (black box testing),
principle dan design pattern yang namun harus mahir juga dalam internal
meastikan fw tetap berkualitas dan sistem test (whitebox testing)
feksibel terhadap perubahan
b) Method dan class yang
susah untuk di unittest
c) Algoritma dan kode
3. Executable documents not static 4. Dirty Code yang masih di copy
documents • Kode yang pertama kali paste dari sumber
• Tugas seorang bisnis analyst ditulis oleh software diinternet
adalah menerjemahkan engineer itu bagaikan d) Class yang terlalu
kebutuhan dari pihak bisnis draft buku. Karena panjang dan melakukan
dalam bentuk dokumentasi masih draft. Maka kode banyak hal
yang nantinya akan tersebut sifatnya masih e) Method yang berada di
diterjemahkan oleh kotor. dalam class yang salah
software engineer. BA harus • Sangat mungkin draft f) Algoritma yang masih
kolaborasi dengan test kode ini memiliki kompleks dan belum
engineer dan belajar atribut berikut: efisien bila di ukur
mengembangkan executable a) Method terlalu dengan BIG-Onotation
document yang dapat besar dan g) Penamaan variabel,
memvalidasi bisnis logic melakukan banyak class dan method yang
hal (God method) belum self explaining
5. Nanti juga ada yang membersihkan
Dirty Code bersifat menular dalam tim dev yang tidak memiliki mental
profesionalisma. Perbedaan seorang software engineer yang profesional dengan
software engineer yang tidak dapat dilihat ketika mereka melihat sebuah kode
berjumlah 1000 baris sebelum menambahkan kode.
a) Software engineer yang tidak profesional akan menambahkan kode diatas kode
yang sudah berjumlah 1000 baris tersebut yang bisa menyebabkan kode melebihi
1000 baris
b) Software engineer yang profesional akan melakukan pairing dengan test engineer
untuk menuliskan unit test dan me-refactor kode yang berjumlah 1000 baris
tersebut sebelum menambahkan kode baru.
6. Production Ready Software 7. Yang penting jalan dulu deh
• Dibutuhkan seorang software developer berkaliber • Mental “yang penting
untuk dapat melakukan rilis product ready secara jalan dulu deh” tidak
konsisten di setiap sprint memiliki kebudayaan
• Kebanyakan software dev mengatakan kalau fanatisme terhadap
production ready software adalah SUDAH DI TEST kualitas
& MEMENUHI ACCEPTANCE CRITERIA. Definisi ini • Managemen & pimpinan
tidak dapat diterima karena untuk harus memiliki perusahaan harus
standar tinggi terhadap software yang dibuat menciptakan sebuah
dengan yang diberi nama DEFINITION OF DONE. lingkungan kerja dimana
• Sebelum product development dimulai, Product kualitas menjadi budaya
owner dan DT berkolaborasi mendefinsikan perusahaan
“DEFINITION OF DONE” seperti contoh yang ada
pada slide DEFINITION OF DONE.
Peserta :
Hanya DT
Penyelenggara (EO) :
Dev Team
Alur :
1. Masing-masing DT bergantian, tanpa diinterupsi harus lanjut, bercerita
1. Aktifitas kemarin (melakukan apa saja)
2. Kendala kemarin (internal, eksternal)
3. Rencana aktifitas hari ini apa saja. Ke 3 hal ini untuk membantu tim capai
sprint goal.
Penting untuk menyebarkan informasi pengembangan
2. Setelah daily scrum meeting ditutup, baru boleh rapat adhoc (terpisah)
3. Waktu maksimum 10-15 menit
• Setelah dikerjakan increment
• Tujuannya untuk meninjau increment
• Peserta : PO & DT. Stakeholder terkait dan User
sample.
• Penyelenggara : PO mengundang
• Tujuan : meninjau increment dari DT ke PO &
memperbaharui PB.
• Waktu maks 4 jam untuk 1 sprint
• Alur :
1. PO yang punya acara, membuka dengan
menelaskan/menyatakan PBI mana yang sudah
selesai dan mana yang belum selesai
2. DT menjelaskan apa saja yang berjalan baik
sepanjang sprint, masalahnya seperti apa dan
pemecahan masalahnya seperti apa.
3. DT mendemonstrasikan inkrement (demo
produk)
4. PO mengulas keadaan pasar. (Analytic kita
begini, kompetitor kita begitu)
5. PB Refinement baru sembari tinjau hal hal
terkait perilisan produk, timeline, budget
potensi kapabilitas dan kondisi pasar
Activities :
Menginspect & mengadapt , meninjau dan mengadatasi proses
kerja DT
Peserta :
DT & SM
ALUR :
1. Ditinjau bagaimana sprint yang telah selesai berlangsung,
orangnya, hubungan antara orang, proses, dan perangkat kerja
2. Meninjau eksperimen perbaikan satu sprint ke belakang.
Adalah sebuah proses baru yang kita coba eksperiemtn 1
sprint. Ditentukan ekprerimen apa yang akan dikerjakan
ekpreimen selanjutnya. Bisa jadi eksperimen ini dilanjutkan ke
sprint selanjutnya.
3. Boleh memperbaharui DOD. Cth menambah jenis test di DOD
4. SM membuka wawasan DT terkait proses kerja (teknis,
nonteknis) boleh lewat referensi. Setidaknya bisa memberikan
pakar-pakar teknologi atau referensi buku.
https://trello.com/b/zJsfh8jP/bantu-anak-asuh-apps
• Lakukan daily standup meeting sekitar 5 menit.
• DT membahas secara bergantian,
• Apa yang sudah dikerjakan kemarin
• Apa yang akan dilakukan hari ini
• Masalah apa yang terjadi selama pengerjaan
agar dapat dilakukan improvement
Jika ada problem yang butuh didiskusikan
bersama, maka dilakukan terpisah setelah daily
standup meeting
• Diakhir sprint lakukanlah demo Minimum valuable
productnya
• Bukan product secara keseluruhan, tapi fitur yang
paling penting yang dibutuhkan user
• Selama demo, kalian grab feedback terkait product
nya dari user/customer
• Customer disini harus berkomentar, apakah
mereka APPROVED dengan fiturnya atau they need
IMPROVED fiturnya.
• Kumpul bersama tim scrum
• Bahas hal-hal berikut,
• Apa saja hal yang baik selama sprint
ini?
• Apa saja hal yang kurang baik selama
sprint ini?
• Dan improvement apa yang harus
dilakukan agar kinerja bisa lebih
meningkat, efektif & efisien