Upload
lekhue
View
233
Download
4
Embed Size (px)
Citation preview
13/10/2013
1
Agile Planning and Estimation
Budi Irawan
facebook.com/deerawan @masbugan blog.budiirawan.com
Planning? Penting?
13/10/2013
2
Mana yang lebih Terencana?
Aku mau
menikah sama
kamu tahun
depan
Aku mau
menikah sama
kamu 18 Agustus
2013
Aku mau
menikah sama
kamu bulan
Agustus tahun
depan
1 2 3
Planning yg baik itu....
• Jelas waktunya
• Sesuai dengan tujuan yg ingin dicapai
13/10/2013
3
Bikin software juga butuh planning
13/10/2013
4
Traditional Planning
Ciri Traditional Planning
• Development dibagi2 menjadi fase
• Fokus requirement dan design di awal
13/10/2013
5
Requirement Tidak Jelas
• Takut masuk ke fase berikutnya
• Design menunggu dari requirement
Tingkat Keberhasilan Kurang
32% project yang berhasil di-delivery
Sumber: Standish Report 2009
13/10/2013
6
Tidak ada Waktu Testing
• Kualitas software dipertanyakan
• Telat integrasi berarti error/bug bakal makin
banyak di akhir
Sia-Sia
52% requirement yg terimplementasi
64% fitur jarang digunakan
Sumber: Standish Report 2003
13/10/2013
7
Agile Planning
Ciri Agile Planning
• Lebih fokus ke planning-nya dibanding plan
itu sendiri
• Memperbolehkan perubahan
• Hasil dari plan dapat diubah
• Dilakukan sepanjang project
13/10/2013
8
Prinsip Agile
1) Puaskan customer
2) Menerima perubahan
3) Delivery secara teratur
4) Bekerja sebagai team
5) Memotivasi orang
6) Komunikasi face-to-face
Prinsip Agile (2)
7) Mengukur kerja software
8) Maintain langkah secara konstan
9) Kualitas itu penting
10) Keep it Simple
11) Design yg berevolusi
12) Refleksi secara teratur
13/10/2013
9
Scrum
Metodologi project management yg agile
Apa itu Scrum?
13/10/2013
10
Mastahnya Scrum
Ken Schwaber Jeff Sutherland
Mike Beedle Mike Cohn
Pengguna Scrum
13/10/2013
11
Scrum
• Fokus memberikan value dalam waktu yang
singkat ke user
• Secara cepat pihak user dapat melakukan
review terhadap pengerjaan sistem
Scrum (2)
• Adanya prioritas fitur yang mau dikerjakan
• Deliverable dapat dilihat dalam waktu singkat
13/10/2013
12
Role Scrum
Product Owner
• Yg Punya Visi
• Representasi Customer
13/10/2013
13
Product Owner Tasks
• Mendefinisikan fitur (sesuai visi)
• Memprioritaskan fitur (sesuai ROI)
• Menentukan tanggal rilis
• Memberikan feedback
Product Owner Tasks (2)
• Mengelola stakeholder
• Menerima atau menolak hasil
13/10/2013
14
The Team
• 5 – 9 orang
• Colocated (satu tempat)
• Cross Functional
• Self Organized
• Full Time
The Team Tasks
• Mendefinisikan pekerjaan
• Melakukan estimasi pekerjaan
• Mengembangkan software
• Menjamin kualitas
13/10/2013
15
Scrum Master
• Scrum Guide
• Pelindung team
• Troubleshooter
• Pelayan sesama
Scrum Master Tasks
• Meminimalisir hambatan
• Mencegah adanya interupsi pekerjaan
• Memfasilitasi team
• Mendukung proses
• Mengelola manajemen
13/10/2013
16
Role Scrum
Product
Owner
Scrum
Master
The Team
3
Alur Scrum
13/10/2013
17
Alur Scrum
Product Backlog
Prioritas Item # Deskripsi Estimasi Assigned
Very High
1 Setup Requirement 13 VP
2 Eksplorasi Teknologi 1 ZG
High
3 User dapat melakukan registrasi
3 VP
4 User dapat login ke sistem
5 ZG
Medium
5 Pengaturan jadwal meeting dengan klien
2 CP
6 Siapkan berkas kontrak 1 ZG
13/10/2013
18
Product Backlog
• Dimiliki oleh Product Owner
• High level requirements
• Representasi business value
• Dapat berevolusi untuk berubah
• Ada skala prioritas dan estimasi
Product Backlog
Prioritas Item # Deskripsi Estimasi Assigned
Very High
1 Setup Requirement 13 VP
2 Eksplorasi Teknologi 1 ZG
High
3 Sebagai User, saya dapat melakukan registrasi
3 VP
4 Sebagai User, saya dapat login ke sistem
5 ZG
Medium
5 Pengaturan jadwal meeting dengan klien
2 CP
6 Siapkan berkas kontrak 1 ZG
Prioritas Estimasi
User Story
13/10/2013
19
User Story
As a <user> I want <functionality> (so that
<benefit>)
As an admin I want to be able to search
user
Sebagai admin saya ingin bisa mencari
user yang terdaftar
Versi Indonesia
Estimasi Pakai Story Point
Gunakan angka: 1, 2, 3, 5, 8, 13, 20, 40, 100
Story point Story
5 Fitur Login Fitur Registrasi
20 Fitur manajemen user Fitur manajemen berita Fitur manajemen mahasiswa
100 Fitur API
Story point => seberapa besar usaha untuk menyelesaikan story
13/10/2013
20
Sprint
Sprint
• Ada batasan waktu (2 – 4 minggu)
• Yg mau dikerjakan fixed
• Ada hasil yg bisa dideliver
13/10/2013
21
Sprint Planning
• Planning strategis
• Memberi pemahaman
fitur
• Memprioritaskan dan
memilih fitur
• Membuat kriteria fitur
selesai
Sprint Planning (2)
• Mendefinisikan sprint
backlog
• Estimasi sprint backlog
• Menggunakan velocity
• Share komitmen
Durasi 1 – 2 jam per
sprint
13/10/2013
22
Sprint Backlog
• Dimiliki oleh team
• Breakdown item yg di product backlog
• Tidak boleh ada penambahan/pengurangan
Product dan Sprint Backlog
Product Backlog Sprint 1 Sprint 2, dst
13/10/2013
23
Contoh Sprint Backlog Story Poin Task Assigned Status
Sebagai user, saya bisa login ke sistem
13 Buat skema database user
VP Done
Desain UI form login ZG Done
Backend coding VP In Progress
Testing ZG In Progress
Sebagai user, saya bisa kirim email ke user lain
20 Setup email server CP Done
Desain UI form email ZG In Progress
Velocity
50
41
62
53
0
10
20
30
40
50
60
70
Sprint 1 Sprint 2 Sprint 3 Sprint 4
Velocity
Velocity
Velocity => jumlah poin yang berhasil diselesaikan tiap sprint
Velocity dapat digunakan
untuk prediksi sprint planning
berikutnya
13/10/2013
24
Hitungan2 Poin
Product Backlog => 100 poin
Velocity => 20 poin
Kira2 ada berapa total sprint yang harus dilakukan?
Jika, satu sprint durasinya 2 minggu, berapa lama
software ini selesai?
5
10 minggu
Daily Scrum
Meeting harian max 15 menit
Yg hadir: Team, Scrum Master
Dilakukan berdiri
Tidak ada problem solving
13/10/2013
25
Daily Scrum
Apa yg saya lakukan kemarin?
Apa yg saya mau lakukan berikutnya?
Hambatan apa yang saya temui?
Untuk tiap anggota tim sharing
Scrum Board
13/10/2013
26
Scrum Board
Free Digital Board
13/10/2013
27
Burndown Chart
Untuk melihat sejauh mana story dikerjakan
Burndown Chart
Story Poin Hari ke-1 Hari ke-2
Sebagai user, saya bisa login
20 10 5
Sebagai user, saya bisa registrasi
20 20 0
Remaining 40 30 10
Coba gambarkan Burndown Chart-nya!
13/10/2013
28
Sprint Review
Informal, ga usah ada slides
Semua anggota team hadir
Pihak yg berkepentingan hadir
Tunjukkan semua fitur
Puaskan Product Owner
Dapatkan feedback
Terima atau tolak hasil pekerjaan
1 – 2 jam per sprint
Sprint Retrospective
What to start doing
What to stop doing
What to continue doing
Cukup anggota team yg hadir
Durasi 1 – 2 jam per
sprint
13/10/2013
29
Sprint Retrospective
Kita harus coba pakai github deh
Ah, Jenkins susah bgt dipakai
Ini netbeans enak dipakai
Scrum Artifact
• Product Backlog
• Sprint Backlog
• Burndown Chart 3
13/10/2013
30
Scrum Meeting
• Sprint Planning
• Sprint Review
• Sprint Retrospective
• Daily Scrum Meeting 4
Estimasi Biaya
13/10/2013
31
Bikin software juga butuh uang
13/10/2013
32
Estimasi biaya software itu tidak mudah
Gimana Kalau...
1. Requirement belum jelas
2. Di tengah project butuh programmer baru
3. Perubahan hardware
4. Teknologi yang masih awam
5. Dsb.....
13/10/2013
33
Biaya software = Cost + Profit
Jenis Cost
1. Effort cost (programmer, manager, dsb)
2. Hardware dan software cost termasuk
maintenance
3. Travel dan training cost
4. Operational cost (listrik, air, sewa)
13/10/2013
34
3 2 Cara Estimasi
1. Berdasarkan pengalaman
2. Referensi
3. Algoritma Modelling Cost
Eike pernah ngerjain
sistem informasi
akademik di kampus A
cuma 100 juta dengan
fitur2 mirip bo!
Dulu sih thn 2002
bikin fitur itu cuma 1
juta, sekarang sudah
jadi 6 juta
1) Berdasarkan Pengalaman
13/10/2013
35
2) Referensi
What we have learned?
13/10/2013
36
What we Have Learned?
• Traditional vs agile planning
• 3 Role Scrum
• Product Backlog
• Sprint Backlog
• Sprint Planning, Sprint Review, Sprint Retro
What we Have Learned?
• Daily Scrum
• Jenis Cost
• 2 cara estimasi cost
13/10/2013
37
Your Mission
The Mission
Let’s see Mission 4
13/10/2013
38
Thank You