scrum in agile

33
Metode SCRUM sebagai Pendekatan Rekayasa Perangkat Lunak AGILE By Didik Ariyanto 2014

Upload: agung-subroto

Post on 13-Jul-2015

209 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Scrum in agile

Metode SCRUMsebagai

Pendekatan Rekayasa Perangkat Lunak AGILE

By Didik Ariyanto2014

Page 2: Scrum in agile

Kenapa kita butuhFramework 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

Page 3: Scrum in agile

Metode Klasik

Page 4: Scrum in agile

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

Page 5: Scrum in agile

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

Page 6: Scrum in agile

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

Page 7: Scrum in agile

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.

Page 8: Scrum in agile

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.

Page 9: Scrum in agile

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

Page 10: Scrum in agile

Spiral

Page 11: Scrum in agile

Spiral Model

Menggabungkan antara elemen waterfall model dengan prototyping dalam setiap tahap, dalam upaya untuk menggabungkan keuntungan dari konsep top-down dan bottom-up

Page 12: Scrum in agile

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

Page 13: Scrum in agile

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.

Page 14: Scrum in agile

AGILE

Page 15: Scrum in 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

Page 16: Scrum in agile

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

Page 17: Scrum in agile

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

Page 18: Scrum in agile
Page 19: Scrum in agile

Beberapa Metode Agile

Crystal (Light, Clear, Orange, dll) DSDM Lean Kanban Rational Unifield Process (RUP) Scrum Extreme Programming (XP) Dan lainnya

Page 20: Scrum in agile
Page 21: Scrum in agile

SCRUM

Page 22: Scrum in agile

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

Page 23: Scrum in agile

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

Page 24: Scrum in agile

Scrum Role

1.Product Owner

2.Scrum Master

3.Project Team

Page 25: Scrum in agile

Proses Scrum

Page 26: Scrum in agile

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

Page 27: Scrum in agile

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

Page 28: Scrum in agile

Proses Scrum -2

2. Sprint planning meeting1.Iterasi dalam scrum disebut sprint, tidak ada jeda

antara sprint. Maks 2-4 minggu2.Meeting untuk product owner, scrum team dan

orang-orang yg berkepentingan3.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

Page 29: Scrum in agile

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

Page 30: Scrum in agile

Proses Scrum -4

4. Sprint review meeting / demo1.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)

Page 31: Scrum in agile

Proses Scrum -5

5. Sprint retrospective meeting1.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

Page 32: Scrum in agile

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

Page 33: Scrum in agile

When everything is simple & predictable use waterfall or else.

Selesai