Anda di halaman 1dari 33

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
eksible)
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, pengembangpengembang, 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

Beberapa Metode Agile

Crystal (Light, Clear, Orange, dll)

DSDM

Lean

Kanban

Rational Unield Process (RUP)

Scrum

Extreme Programming (XP)

Dan lainnya

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

Anda mungkin juga menyukai