際際滷

際際滷Share a Scribd company logo
Metode SCRUM 
sebagai 
Pendekatan Rekayasa Perangkat Lunak AGILE 
By Didik Ariyanto 
2014
Kenapa kita butuh 
Framework Rekayasa Perangkat 
Lunak? 
 Software itu abstract 
 Software juga tidak mudah dikembangkan 
 Lingkungan bisnis modern yang menghasilkan sistem 
berbasis komputer 
 Semakin komplek kebutuhan dan jenis methodology 
 Gap Antara User dan Tim IT
Metode Klasik
Waterfall Model 
1. Project dibagi-bagi dalam beberapa fase yang saling berurutan 
2. Project dibagi-bagi dalam beberapa fase yang saling berurutan 
3. Kontrol yang ketat dalam siklus hidup project dengan menggunakan bantuan 
dokumentasi tertulis
Kelebihan Waterfall 
1. Mudah dimengerti, mudah digunakan 
2. Requirement dari sistem bersifat stabil 
3. Baik dalam manajemen kontrol 
4. Bekerja dengan baik ketika kualitas lebih diutamakan dibandingkan dengan 
biaya dan jadwal (deadline) 
5. Cocok untuk software berskala besar dan yang bersifat umum 
6. Mudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai
Kekurangan Waterfall 
1. Semua kebutuhan sistem harus diketahui terlebih dahulu 
2. Perpindahan dari setiap fase ke fase lainnya dapat dikatakan statis (tidak 
fleksible) 
3. Kesalahan atau kekurangan yang terjadi pada tahap awal akan 
mengakibatkan kesalahan berantai ditahap-tahap selanjutnya 
4. Karena testing (UAT) baru mulai dilakukan setelah semua program selesai, 
respon terhadap kesalahan akan sangat terlambat sehingga proses 
perbaikan akan jauh lebih lama 
5. Membutuhkan waktu yang cukup lama (walaupun projectnya tidak terlalu 
besar) 
6. Perubahan requirement dapat merubah keseluruhan proses yang telah 
dilaksanakan 
7. SDM bisa lebih sering idle
Incremental Model 
1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan 
2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk 
dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama 
hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih 
lengkap dari yang sebelumnya.
Incremental Model 
1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan 
2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk 
dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama 
hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih 
lengkap dari yang sebelumnya. 
3. Model ini cocok jika jumlah anggota tim pengembang/pembangun tidak 
cukup 
4. Mampu mengakomodasi perubahan secara fleksibel 
5. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi 
produk yang sudah bisa berfungsi dengan spesifikasi dasar.
Kelemahan Incremental Model 
1. Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding) 
2. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam 
rencana spesifikasi masing-masing hasil increment
Spiral
Spiral Model 
 Menggabungkan antara elemen waterfall model 
dengan prototyping dalam setiap tahap, dalam 
upaya untuk menggabungkan keuntungan dari 
konsep top-down dan bottom-up
Kelebihan Spiral 
1. User dapat melihat sistem lebih awal dengan adanya rapid prototyping tools 
2. Fungsi-fungsi yang memiliki resiko tinggi diprioritaskan lebih utamaBaik 
dalam manajemen kontrol 
3. Desain sistem tidak perlu perfect 
4. Mendapat respon yang lebih cepat dari user 
5. Mudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai 
6. Perhitungan biaya dilakukan setiap saat
Kelemahan Spiral 
1. Rumit, membutuhkan manajemen yang penuh perhatian dan berpengalaman 
untuk bisa melakukannya 
2. Beresiko besar jika tidak sesuai dengan budget atau schedule 
3. Penggunaan waktu untuk melakukan evaluasi resiko terlalu besar 
4. Model ini hanya bekerja dengan baik pada project yang berukuran besar dan 
memiliki waktu pengerjaan yang panjang juga.
AGILE
Apa itu Agile ? 
 Agile merupakan sekumpulan metode-metode 
pengembangan perangkat lunak yang dikembangkan 
untuk menyelesaikan permasalahan-permasalahan yang 
ditemukan pada metode metode klasik 
 Kumpulan dari metode-metode pengembangan perangkat 
lunak yang berbasis pada Iterative dan Incremental Model 
 Merupakan sebuah metode pengembangan perangkat lunak 
dengan mengutamakan kepuasan pelanggan, dan baimana 
sebuah produk dari perangkat lunak dapat diterima oleh 
konsumen
12 Prinsip 
(Agile Manifasto) 
1. Prioritas utama kami adalah memuaskan klien dengan menghasilkan perangkat lunak yang 
bernilai secara dini dan rutin 
2. Menyambut perubahan kebutuhan, walaupun terlambat dalam pengembangan perangkat lunak. 
Proses Agile memanfaatkan perubahan untuk keuntungan kompetitif klien 
3. Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu 
sampai beberapa bulan, dengan preferensi kepadajangka waktu yang lebih pendek 
4. Rekan bisnis dan pengembang perangkat lunak harus bekerja-sama tiap hari sepanjang proyek 
5. Kembangkan proyek di sekitar individual yang termotivasi. Berikan mereka lingkungan dan 
dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan dengan 
baik 
6. Metode yang paling efisien dan efektif untuk menyampaikan informasi dari dan dalam tim 
pengembangan perangkat lunak adalah dengan komunikasi secara langsung
12 Prinsip 
(Agile Manifasto) 
7. Perangkat lunak yang bekerja adalah ukuran utama kemajuan 
8. Proses Agile menggalakkan pengembangan berkelanjutan. Sponsor-sponsor, pengembang-pengembang, 
dan pengguna-pengguna akan dapat mempertahankan kecepatan tetap secara 
berkelanjutan. 
9. Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik 
meningkatkan Agility 
10. Kesederhanaan--seni memaksimalkan jumlah pekerjaan yang belum dilakukan--adalah hal yang 
amat penting 
11. Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari tim yang yang dapat 
mengorganisir diri sendiri. 
12. Secara berkala, tim pengembang berefleksi tentang bagaimana untuk menjadi lebih 
efektif,kemudian menyesuaikan dan menyelaraskan kebiasaan bekerja mereka
Scrum in agile
Beberapa Metode Agile 
 Crystal (Light, Clear, Orange, dll) 
 DSDM 
 Lean 
 Kanban 
 Rational Unifield Process (RUP) 
 Scrum 
 Extreme Programming (XP) 
 Dan lainnya
Scrum in agile
SCRUM
Scrum 
 Agile sering kali disebut-sebut oleh orang-orang Scrum. Scrum 
hanyalah salah satu cara untuk mencapai sifat agile 
 Scrum hanya framework, dia menjadi wadah untuk penerapan 
praktik-praktik Agile di atasnya 
 Scrum berjalan dengan cross functional team, self organize dan 
focus on goal 
 Agile lebih luas dari Scrum, bahkan lebih luas dari framework 
atau metodologi pengembangan software
Prinsip Scrum 
1. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis 
2. Proses menghasilkan beberapa software increment 
3. Dokumentasi dan pengujian terus menerus dilakukan setelah 
software dibangun
Scrum Role 
1.Product Owner 
2.Scrum Master 
3.Project Team
Proses Scrum
Proses Scrum 
1.First meeting 
1.Proses scrum diawali dengan pembuatan tujuan 
yang akan dicapai dan product backlog 
2.Product backlog yang berisi list yang diprioritaskan 
dari fitur-fitur atau perubahan yang akan ada pada 
produk
Proses Scrum -1 
1.First meeting 
1.Proses scrum diawali dengan pembuatan tujuan 
yang akan dicapai dan product backlog 
2.Product backlog yang berisi list yang diprioritaskan 
dari fitur-fitur atau perubahan yang akan ada pada 
produk
Proses Scrum -2 
2. Sprint planning meeting 
1.Iterasi dalam scrum disebut sprint, tidak ada jeda 
antara sprint. Maks 2-4 minggu 
2.Meeting untuk product owner, scrum team dan 
orang-orang yg berkepentingan 
3.Menentukan sprint goal yaitu tujuan yang ingin 
dicapai pada scrum sprint berikutnya (30 hari 
kedepan) 
4.Membuat sprint backlog 
5.Meeting yang tidak lebih dari 8 jam saja
Proses Scrum -3 
3. Daily Scrum meeting / Scrum Ceremony 
1.Meeting harian selama tidak lebih dari 15 menit 
2.Yang boleh bicara dalam tim ini adalah scrum 
master dan anggota tim 
3.Scrum master menanyakan 3 pertanyaan dari 
kepada anggota tim
Proses Scrum -4 
4. Sprint review meeting / demo 
1.Meeting setelah aktivitas selama 2 minggu atau 1 
bulanan (Sprint) berakhir, yang kemudian diikuti oleh 
sprint planning meeting untuk Sprint berikutnya 
2.Meeting sebagai review atas Sprint yang sudah 
dilaksanakan 
3.Memperbarui (update) sprint backlog yang 
merefleksikan berapa lama waktu yg dibutuhkan 
untuk menyelesaikan pekerjaan (task)
Proses Scrum -5 
5. Sprint retrospective meeting 
1.Meeting setelah sprint review meeting dan sprint 
planning meeting ScrumMaster dengan tim untuk 
merevisi proses dan cara kerja Scrum, proses 
development agar Sprint berikutnya lebih efektif dan 
enjoyable. 
2.Meeting ini sebaiknya tidak lebih dari 3 jam
Persepsi Salah tentang Scrum 
1. Scrum yang dianggap berisi 
anggota-anggota yang 
generalis 
2. Tim diharuskan untuk 
berfungsi antar lintas (Cross 
Functional), sehingga tim 
harus dapat melakukan 
semuanya - dari analisis, 
arsitektur sistem, 
pemrograman, testing, 
disain
When everything is simple & predictable use 
waterfall or else. 
Selesai

More Related Content

Scrum in agile

  • 1. Metode SCRUM sebagai Pendekatan Rekayasa Perangkat Lunak AGILE By Didik Ariyanto 2014
  • 2. Kenapa kita butuh Framework Rekayasa Perangkat Lunak? Software itu abstract Software juga tidak mudah dikembangkan Lingkungan bisnis modern yang menghasilkan sistem berbasis komputer Semakin komplek kebutuhan dan jenis methodology Gap Antara User dan Tim IT
  • 4. Waterfall Model 1. Project dibagi-bagi dalam beberapa fase yang saling berurutan 2. Project dibagi-bagi dalam beberapa fase yang saling berurutan 3. Kontrol yang ketat dalam siklus hidup project dengan menggunakan bantuan dokumentasi tertulis
  • 5. Kelebihan Waterfall 1. Mudah dimengerti, mudah digunakan 2. Requirement dari sistem bersifat stabil 3. Baik dalam manajemen kontrol 4. Bekerja dengan baik ketika kualitas lebih diutamakan dibandingkan dengan biaya dan jadwal (deadline) 5. Cocok untuk software berskala besar dan yang bersifat umum 6. Mudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai
  • 6. Kekurangan Waterfall 1. Semua kebutuhan sistem harus diketahui terlebih dahulu 2. Perpindahan dari setiap fase ke fase lainnya dapat dikatakan statis (tidak fleksible) 3. Kesalahan atau kekurangan yang terjadi pada tahap awal akan mengakibatkan kesalahan berantai ditahap-tahap selanjutnya 4. Karena testing (UAT) baru mulai dilakukan setelah semua program selesai, respon terhadap kesalahan akan sangat terlambat sehingga proses perbaikan akan jauh lebih lama 5. Membutuhkan waktu yang cukup lama (walaupun projectnya tidak terlalu besar) 6. Perubahan requirement dapat merubah keseluruhan proses yang telah dilaksanakan 7. SDM bisa lebih sering idle
  • 7. Incremental Model 1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan 2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya.
  • 8. Incremental Model 1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan 2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. 3. Model ini cocok jika jumlah anggota tim pengembang/pembangun tidak cukup 4. Mampu mengakomodasi perubahan secara fleksibel 5. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.
  • 9. Kelemahan Incremental Model 1. Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding) 2. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment
  • 11. Spiral Model Menggabungkan antara elemen waterfall model dengan prototyping dalam setiap tahap, dalam upaya untuk menggabungkan keuntungan dari konsep top-down dan bottom-up
  • 12. Kelebihan Spiral 1. User dapat melihat sistem lebih awal dengan adanya rapid prototyping tools 2. Fungsi-fungsi yang memiliki resiko tinggi diprioritaskan lebih utamaBaik dalam manajemen kontrol 3. Desain sistem tidak perlu perfect 4. Mendapat respon yang lebih cepat dari user 5. Mudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai 6. Perhitungan biaya dilakukan setiap saat
  • 13. Kelemahan Spiral 1. Rumit, membutuhkan manajemen yang penuh perhatian dan berpengalaman untuk bisa melakukannya 2. Beresiko besar jika tidak sesuai dengan budget atau schedule 3. Penggunaan waktu untuk melakukan evaluasi resiko terlalu besar 4. Model ini hanya bekerja dengan baik pada project yang berukuran besar dan memiliki waktu pengerjaan yang panjang juga.
  • 14. AGILE
  • 15. Apa itu Agile ? Agile merupakan sekumpulan metode-metode pengembangan perangkat lunak yang dikembangkan untuk menyelesaikan permasalahan-permasalahan yang ditemukan pada metode metode klasik Kumpulan dari metode-metode pengembangan perangkat lunak yang berbasis pada Iterative dan Incremental Model Merupakan sebuah metode pengembangan perangkat lunak dengan mengutamakan kepuasan pelanggan, dan baimana sebuah produk dari perangkat lunak dapat diterima oleh konsumen
  • 16. 12 Prinsip (Agile Manifasto) 1. Prioritas utama kami adalah memuaskan klien dengan menghasilkan perangkat lunak yang bernilai secara dini dan rutin 2. Menyambut perubahan kebutuhan, walaupun terlambat dalam pengembangan perangkat lunak. Proses Agile memanfaatkan perubahan untuk keuntungan kompetitif klien 3. Menghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu sampai beberapa bulan, dengan preferensi kepadajangka waktu yang lebih pendek 4. Rekan bisnis dan pengembang perangkat lunak harus bekerja-sama tiap hari sepanjang proyek 5. Kembangkan proyek di sekitar individual yang termotivasi. Berikan mereka lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan dengan baik 6. Metode yang paling efisien dan efektif untuk menyampaikan informasi dari dan dalam tim pengembangan perangkat lunak adalah dengan komunikasi secara langsung
  • 17. 12 Prinsip (Agile Manifasto) 7. Perangkat lunak yang bekerja adalah ukuran utama kemajuan 8. Proses Agile menggalakkan pengembangan berkelanjutan. Sponsor-sponsor, pengembang-pengembang, dan pengguna-pengguna akan dapat mempertahankan kecepatan tetap secara berkelanjutan. 9. Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik meningkatkan Agility 10. Kesederhanaan--seni memaksimalkan jumlah pekerjaan yang belum dilakukan--adalah hal yang amat penting 11. Arsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari tim yang yang dapat mengorganisir diri sendiri. 12. Secara berkala, tim pengembang berefleksi tentang bagaimana untuk menjadi lebih efektif,kemudian menyesuaikan dan menyelaraskan kebiasaan bekerja mereka
  • 19. Beberapa Metode Agile Crystal (Light, Clear, Orange, dll) DSDM Lean Kanban Rational Unifield Process (RUP) Scrum Extreme Programming (XP) Dan lainnya
  • 21. SCRUM
  • 22. Scrum Agile sering kali disebut-sebut oleh orang-orang Scrum. Scrum hanyalah salah satu cara untuk mencapai sifat agile Scrum hanya framework, dia menjadi wadah untuk penerapan praktik-praktik Agile di atasnya Scrum berjalan dengan cross functional team, self organize dan focus on goal Agile lebih luas dari Scrum, bahkan lebih luas dari framework atau metodologi pengembangan software
  • 23. Prinsip Scrum 1. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis 2. Proses menghasilkan beberapa software increment 3. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • 24. Scrum Role 1.Product Owner 2.Scrum Master 3.Project Team
  • 26. Proses Scrum 1.First meeting 1.Proses scrum diawali dengan pembuatan tujuan yang akan dicapai dan product backlog 2.Product backlog yang berisi list yang diprioritaskan dari fitur-fitur atau perubahan yang akan ada pada produk
  • 27. Proses Scrum -1 1.First meeting 1.Proses scrum diawali dengan pembuatan tujuan yang akan dicapai dan product backlog 2.Product backlog yang berisi list yang diprioritaskan dari fitur-fitur atau perubahan yang akan ada pada produk
  • 28. Proses Scrum -2 2. Sprint planning meeting 1.Iterasi dalam scrum disebut sprint, tidak ada jeda antara sprint. Maks 2-4 minggu 2.Meeting untuk product owner, scrum team dan orang-orang yg berkepentingan 3.Menentukan sprint goal yaitu tujuan yang ingin dicapai pada scrum sprint berikutnya (30 hari kedepan) 4.Membuat sprint backlog 5.Meeting yang tidak lebih dari 8 jam saja
  • 29. Proses Scrum -3 3. Daily Scrum meeting / Scrum Ceremony 1.Meeting harian selama tidak lebih dari 15 menit 2.Yang boleh bicara dalam tim ini adalah scrum master dan anggota tim 3.Scrum master menanyakan 3 pertanyaan dari kepada anggota tim
  • 30. Proses Scrum -4 4. Sprint review meeting / demo 1.Meeting setelah aktivitas selama 2 minggu atau 1 bulanan (Sprint) berakhir, yang kemudian diikuti oleh sprint planning meeting untuk Sprint berikutnya 2.Meeting sebagai review atas Sprint yang sudah dilaksanakan 3.Memperbarui (update) sprint backlog yang merefleksikan berapa lama waktu yg dibutuhkan untuk menyelesaikan pekerjaan (task)
  • 31. Proses Scrum -5 5. Sprint retrospective meeting 1.Meeting setelah sprint review meeting dan sprint planning meeting ScrumMaster dengan tim untuk merevisi proses dan cara kerja Scrum, proses development agar Sprint berikutnya lebih efektif dan enjoyable. 2.Meeting ini sebaiknya tidak lebih dari 3 jam
  • 32. Persepsi Salah tentang Scrum 1. Scrum yang dianggap berisi anggota-anggota yang generalis 2. Tim diharuskan untuk berfungsi antar lintas (Cross Functional), sehingga tim harus dapat melakukan semuanya - dari analisis, arsitektur sistem, pemrograman, testing, disain
  • 33. When everything is simple & predictable use waterfall or else. Selesai