Metode - Metode SLDC (Software Life Development Cycle)

1. SCRUM

Deskripsi

Metode pendekatan agile yang menggunakan pendekatan berkala (iterative) dan bertahap (incremental) untuk meningkatkan prediktibilitas dan mengendalikan resiko.

Scrum Role

Terdapat 3 peran utama dalam metode scrum yaitu:
  1. Product Owner : pemilik produk atau sebutan dari client yang ingin merilis suatu produk. Peran ini memiliki kewajiban yaitu menentukan spesifikasi atau fitur software dan mnyediakan product backlog.
  2. SCRUM Master : dapat dikatakan sebagai servant leader bagi tim, melayani tim agar bekerja secara optimal dan mencegah hal - hal yang mengalihkan fokus team.
  3. Tim Developer : pihak atau kelompok yang memiliki keahlian untuk mengembangkan sebuah produk. Tim ini bisa terdiri dari programmer, bussines analyst, Q&A engineer.

Proses

Berikut ini adalah tahapan - tahapan metode scrum dilakukan dalam mengembangkan sebuah produk:
  1. Product Backlog : merupakan daftar keinginan (wishlist) dari product owner untuk produk yang akan dibuat. Dalam pembuatannya harus terdapat daftar penentuan prioritas serta bersifat transparan bagi semua pihak. 
  2. Sprint Backlog : merupakan daftar dari product backlog yang sudah disepakati oleh product owner dan tim developer untuk dikerjakan dalam tiap sprint. Daftar ini memuat jobdesk dan tim/orang yang bertanggung jawab atas pekerjaan tersebut. 
  3. Sprint : putaran (iterasi) yang dilakukan secara berulang - ulang hingga mencapai waktu yag ditentukan / produk telah selesai. Terdapat 3 kegiatan yang selalu dilakukan dalam sprint yaitu: 
     
  4. Deliverable : Penyaluran produk pada product owner dengan mempresentasikan atau mendemokan hasil akhir dari produk.
Metode scrum memiliki kelebihan dan kekurangan dalam penerapannya. 

Kelebihan

  • Keperluan dapat berubah dengan cepat. Hal ini akan memudahkan product owner apabila ingin adanya perubahan baik pihak spesifikasi maupun fitur tambahan meskipun selama proses pembuatan sudah dimulai. 
  • Tim yang terbentuk berukuran kecil, sehingga melancarkan komunikasi, mengurangi biaya dan lebih memperdayakan satu sama lain.
  • Pekerjaan terbagi-bagi sehingga akan cepat selesai.
  • Dokumentasi dan penyajian dilakukan setelah software dibangun.
  • Mampu menyatakan produk selesai kapanpun

Kekurangan

  •  Developer harus siap dengan perubahan yang selalu diterima saat proses pembuatan produk. 

2. KANBAN

Deskripsi

Sistem komunikasi atau penjadwalan berupa kartu visual yang mengontrol aliran aktifitas untuk menyelaraskan level produksi agar sesuai dengan permintaan pelanggan.

Sistem

  1. Sistem Dorong : mengendalikan hasil produksi dengan mengatur pekerjaan berdasarkan "pesanan yang diperkirakan" kemudian mengukur tingkat persediaan WIP.
  2. Sistem Tarik : mengendalikan WIP dengan mengendalikan produksi baru kemudian mengukur persediaan WIP. 

Konsep

  1. Memvisualisasi Workflow : membagi pekerjaan dan menvisualisasikan di nama kolom dinding serta menulis item pada kartu. 
  2. Batas  WIP (Work in Process) : menetapkan batas barang setiap segment.
  3. Lead Time : siklus waktu menyelesaikan suatu item.
  4. JIT (Just in Time) : bahan baku didatangkan tepat pada waktu bahan dibutuhkan.
  5. PULL : produk dibuat setelah ada trigger dari pelanggan.

Proses


Kelebihan

  1. Menentukan level produksi (dengan mengatur kuantitas Kanban berbasis permintaan pelanggan, area produksi akan teratur sesuai output yang diperlukan)
  2. Mengurangi WIP (Work in Process) --> membatasi sesuai dengan permintaan agar inventori dihasilkan seminim mungkin
  3. Kualitas meningkat --> salah satu prinsipnya tidak boleh membiarkan bagian produksi kualitasnya rendah dalam memproses sesuatu WIP rendah
  4. Optimasi aliran kerja --> dengan demand yang stabil
  5. Akurasi inventori dan menghindari produk menjadi using --> produksi dilakukan berdasarkan permintaan
  6. Penghematan --> tingkat inventoi rendah
  7. Keteraturan --> merencanakan tata letak area produksi sesuai kebutuhan 
  8. Fokus kepada target Bersama

3. EXTREME PROGRAMMING

Deskripsi 

Metode pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih efektif dan fleksibel.

Proses 

  1. Planning : Customer dan XP team bekerja sama untuk memutuskan bagaimana grup story untuk release berikutnya untuk dibangun oleh XP team.
  2. Design : membuat desain yang simple apabila terjadi perubahan maka membuat desain baru untuk mengatasi perubahan tersebut dengan mudah dilakukan dan resiko kegagalna dapat diperkecil.
  3. Coding : XP menyarankan agar dua orang bekerja bersama pada satu computer untuk membuat code dari satu story (pair programming)
  4. Testing : unit test yang telah dibuat harus diimplementasikan menggunakan suatu framework. Integrasi dan validasi sistem dapat dilakukan setiap hari. 

Peran

  1. User : orang yang mendifinisikan proyek untuk digambarkan ke aplikasi oleh developer dan juga menetapkan tujuan
  2. Developer : orang yang menerjemahkan gambaran dari user ke dalam aplikasi yang dibuat
  3. Traker : orang yang berperan melacak jadwal yang dibuat untuk menentukan waktu ideal agar tugas - tugas dengan waktu yang sebenarnya dihabiskan untuk pengimplementasian.
  4. Coach : orang yang berperan menuntun anggota / tim untuk mengerti pengembangan menggunakan XP. 

Kelebihan

  1. Menjalin komunikasi yang baik dengan klien.
  2. Menurunkan biaya pengembangan.
  3. Meningkatkan komunikasi dan sifat saling menghargai antar developer.

Kekurangan

  1. Merupakan metodologi semi-format developer harus siap dengan peruahan, karena akan selalu diterima.
  2. Tidak memiliki format dokumentasi.

4. ADAPTIVE SOFTWARE DEVELOPMENT

Deskripsi

Metode pengembangan perangkat lunak yang focus untuk pengembangan perangkat lunak secara cepat serta terfokus pada kinerja perseorangan dalam tim.

Sistem Kerja

  1. SPECULATION : aktivitas adaptive cycle planning yaitu menggunakan informasi awal seperti misi dari klien, batasan proyek dan kebutuhan dasar untuk didefinisikan rangkaian software increment (product software yang secara berkala diserahkan)
  2. COLLABORATION : aktivitas saling berkomunikasi dan kerjasama antar tim namun tetap menekankan pada individualis (saling membantu, melengkapi antar anggota agar menghasilkan penyelesaiana yang efektif)
  3. LEARNING : proses pembelajaran proyek ada 3 yaitu
  • Focus grup : pelanggan dan pengguna memberi masukan (feedback) terhadap software
  • Format Technical Reviews : Tim developer melakukan review terhadap software untuk meningkatkan kualitas 
  • Postmortems : Tim ASD (developer) melakukan introspeksi pada kinerja da proses

Karakteristik

  1. Mission Driven (perencanaan berbasis misi)
  2. Component Based (fokus berbasis komponen)
  3. Iterative
  4. Time Boxed
  5. Change Tolerant
  6. Risk Driven

Kelebihan 

Menggunakan tool "time boxing" --> kita bisa mengalokasikan waktu tertentu untuk pengerjaan proyek. Apabia dalam waktu yang ditentukan pengerjaan komponen selesai maka akan berpindah ke proses selanjutnya. 

5. CRYSTAL

Deskripsi 

Metode kristal adalah sebuah keluarga metodologi yang dikembangkan Allstar Cockburn pada pertengahan 90-an. Keluarga kristal merupakan cara Cockburn untuk katalogisasi apa saja yang mereka lakukan untuk membuat proyek sukses.


Karakteristik

  • Secara aktual menjadi sebuah model proses yang memungkinkan manuver berdasarkan karakteristik permasalahan
  • Menyarankan penggunaan untuk review kebiasaan kerja tim
  • Selalu murah dan cepat karena berkomunikasi secara langsung
  • Proyek berkembang sesuai ukuran tim menjadi lebih luas dan metodologi akan menjadi lebih tinggi

SIFAT UMUM 

  • Pengiriman yang sering
  • Perbaikan efektif
  • Komunikasi tertutup
  • Keselamatan pribadi
  • Fokus 
  • Akses mudah ke pengguna yang ahli
  • Teknis lingkungan dan tes otomatis, manajemen konfigurasi dan tes yang sering

















Comments