scrum in agile

Post on 13-Jul-2015

209 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Metode SCRUMsebagai

Pendekatan Rekayasa Perangkat Lunak AGILE

By Didik Ariyanto2014

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

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

Beberapa Metode Agile

Crystal (Light, Clear, Orange, dll) DSDM Lean Kanban Rational Unifield 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 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

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 / 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)

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

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

top related