scruminagile 141201032842 conversion gate01

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

Upload: sii-cungkring

Post on 02-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Scruminagile

TRANSCRIPT

  • Metode SCRUMsebagaiPendekatan Rekayasa Perangkat Lunak AGILE

    By Didik Ariyanto2014

  • Kenapa kita butuhFramework Rekayasa Perangkat Lunak?

    Software itu abstractSoftware juga tidak mudah dikembangkanLingkungan bisnis modern yang menghasilkan sistem berbasis komputerSemakin komplek kebutuhan dan jenis methodologyGap Antara User dan Tim IT

  • Metode Klasik

  • Waterfall Model

    Project dibagi-bagi dalam beberapa fase yang saling berurutanProject dibagi-bagi dalam beberapa fase yang saling berurutanKontrol yang ketat dalam siklus hidup project dengan menggunakan bantuan dokumentasi tertulis

  • Kelebihan WaterfallMudah dimengerti, mudah digunakanRequirement dari sistem bersifat stabilBaik dalam manajemen kontrolBekerja dengan baik ketika kualitas lebih diutamakan dibandingkan dengan biaya dan jadwal (deadline)Cocok untuk software berskala besar dan yang bersifat umumMudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai

  • Kekurangan WaterfallSemua kebutuhan sistem harus diketahui terlebih dahuluPerpindahan dari setiap fase ke fase lainnya dapat dikatakan statis (tidak eksible)Kesalahan atau kekurangan yang terjadi pada tahap awal akan mengakibatkan kesalahan berantai ditahap-tahap selanjutnyaKarena testing (UAT) baru mulai dilakukan setelah semua program selesai, respon terhadap kesalahan akan sangat terlambat sehingga proses perbaikan akan jauh lebih lamaMembutuhkan waktu yang cukup lama (walaupun projectnya tidak terlalu besar)Perubahan requirement dapat merubah keseluruhan proses yang telah dilaksanakanSDM bisa lebih sering idle

  • Incremental Model

    Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulanganElement-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

    Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulanganElement-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. Model ini cocok jika jumlah anggota tim pengembang/pembangun tidak cukupMampu mengakomodasi perubahan secara fleksibelProduk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

  • Kelemahan Incremental Model

    Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment

  • Spiral

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

  • Kelebihan SpiralUser dapat melihat sistem lebih awal dengan adanya rapid prototyping toolsFungsi-fungsi yang memiliki resiko tinggi diprioritaskan lebih utamaBaik dalam manajemen kontrolDesain sistem tidak perlu perfectMendapat respon yang lebih cepat dari userMudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakaiPerhitungan biaya dilakukan setiap saat

  • Kelemahan SpiralRumit, membutuhkan manajemen yang penuh perhatian dan berpengalaman untuk bisa melakukannyaBeresiko besar jika tidak sesuai dengan budget atau schedulePenggunaan waktu untuk melakukan evaluasi resiko terlalu besarModel 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 klasikKumpulan dari metode-metode pengembangan perangkat lunak yang berbasis pada Iterative dan Incremental ModelMerupakan sebuah metode pengembangan perangkat lunak dengan mengutamakan kepuasan pelanggan, dan baimana sebuah produk dari perangkat lunak dapat diterima oleh konsumen

  • 12 Prinsip(Agile Manifasto)Prioritas utama kami adalah memuaskan klien dengan menghasilkan perangkat lunak yang bernilai secara dini dan rutinMenyambut perubahan kebutuhan, walaupun terlambat dalam pengembangan perangkat lunak. Proses Agile memanfaatkan perubahan untuk keuntungan kompetitif klienMenghasilkan perangkat lunak yang bekerja secara rutin, dari jangka waktu beberapa minggu sampai beberapa bulan, dengan preferensi kepadajangka waktu yang lebih pendekRekan bisnis dan pengembang perangkat lunak harus bekerja-sama tiap hari sepanjang proyekKembangkan proyek di sekitar individual yang termotivasi. Berikan mereka lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan dengan baikMetode yang paling efisien dan efektif untuk menyampaikan informasi dari dan dalam tim pengembangan perangkat lunak adalah dengan komunikasi secara langsung

  • 12 Prinsip(Agile Manifasto)Perangkat lunak yang bekerja adalah ukuran utama kemajuanProses Agile menggalakkan pengembangan berkelanjutan. Sponsor-sponsor, pengembang-pengembang, dan pengguna-pengguna akan dapat mempertahankan kecepatan tetap secara berkelanjutan.Perhatian yang berkesinambungan terhadap keunggulan teknis dan rancangan yang baik meningkatkan AgilityKesederhanaan--seni memaksimalkan jumlah pekerjaan yang belum dilakukan--adalah hal yang amat pentingArsitektur, kebutuhan, dan rancangan perangkat lunak terbaik muncul dari tim yang yang dapat mengorganisir diri sendiri.Secara berkala, tim pengembang berefleksi tentang bagaimana untuk menjadi lebih efektif,kemudian menyesuaikan dan menyelaraskan kebiasaan bekerja mereka

  • Beberapa Metode AgileCrystal (Light, Clear, Orange, dll)DSDMLeanKanbanRational Unield Process (RUP)ScrumExtreme Programming (XP)Dan lainnya

  • SCRUM

  • ScrumAgile sering kali disebut-sebut oleh orang-orang Scrum. Scrum hanyalah salah satu cara untuk mencapai sifat agileScrum hanya framework, dia menjadi wadah untuk penerapan praktik-praktik Agile di atasnyaScrum berjalan dengan cross functional team, self organize dan focus on goalAgile lebih luas dari Scrum, bahkan lebih luas dari framework atau metodologi pengembangan software

  • Prinsip ScrumProses dapat beradaptasi terhadap perubahan teknis dan bisnisProses menghasilkan beberapa software incrementDokumentasi dan pengujian terus menerus dilakukan setelah software dibangun

  • Scrum Role

    Product OwnerScrum MasterProject Team

  • Proses Scrum

  • Proses ScrumFirst meetingProses scrum diawali dengan pembuatan tujuan yang akan dicapai dan product backlogProduct backlog yang berisi list yang diprioritaskan dari fitur-fitur atau perubahan yang akan ada pada produk

  • Proses Scrum -1First meetingProses scrum diawali dengan pembuatan tujuan yang akan dicapai dan product backlogProduct backlog yang berisi list yang diprioritaskan dari fitur-fitur atau perubahan yang akan ada pada produk

  • Proses Scrum -2 2. Sprint planning meetingIterasi dalam scrum disebut sprint, tidak ada jeda antara sprint. Maks 2-4 mingguMeeting untuk product owner, scrum team dan orang-orang yg berkepentinganMenentukan sprint goal yaitu tujuan yang ingin dicapai pada scrum sprint berikutnya (30 hari kedepan)Membuat sprint backlog Meeting yang tidak lebih dari 8 jam saja

  • Proses Scrum -33. Daily Scrum meeting / Scrum CeremonyMeeting harian selama tidak lebih dari 15 menitYang boleh bicara dalam tim ini adalah scrum master dan anggota timScrum master menanyakan 3 pertanyaan dari kepada anggota tim

  • Proses Scrum -44. Sprint review meeting / demoMeeting setelah aktivitas selama 2 minggu atau 1 bulanan (Sprint) berakhir, yang kemudian diikuti oleh sprint planning meeting untuk Sprint berikutnyaMeeting sebagai review atas Sprint yang sudah dilaksanakanMemperbarui (update) sprint backlog yang merefleksikan berapa lama waktu yg dibutuhkan untuk menyelesaikan pekerjaan (task)

  • Proses Scrum -55. Sprint retrospective meetingMeeting 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.Meeting ini sebaiknya tidak lebih dari 3 jam

  • Persepsi Salah tentang ScrumScrum yang dianggap berisi anggota-anggota yang generalisTim 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