Software Process
Terdapat 2 type software process:
1. Plan-driven processes merupakan proses di mana semua kegiatan proses yang
direncanakan terlebih dahulu dan kemajuan diukur terhadap rencana ini
2. In agile processes merupakan perencanaan tambahan dan lebih mudah untuk mengubah proses yang mencerminkan perubahan
Aliran Proses
Proses secara aliran: Linier, Iterative,
4
Waterfall Model / Classic life cycle
Dengan metodologi pengembangan berbasis
waterfall: Proses berjalan berurutan dari satu tahap ke tahap berikutnya.
Dua kunci kunggulan metodologi pengembangan
berbasis waterfall adalah:
- Persyaratan sistem diidentifikasi lama sebelum pemrograman dimulai
5
Waterfall Model / Classic life cycle
Kunggulan metodologi pengembangan berbasis waterfall:
Mudah untuk dipahami, mudah untuk digunakan
Tahapan dipahami dengan baik
Kontrol management baik
Bekerja baik ketika kualitas lebih penting dari biaya atau jadwal
Pengidentifikasian system request yang lama
6 Kelemahan dari metodologi pengembangan
waterfall:
• Semua kebutuhan harus diketahui di awal
• Waktu yang lama antara system proposal (produk
dari planning) dan peyerahan sistem baru
• Design harus spesifik sebelum melakukan
programming
• Kemungkinannya kecil bagi customer untuk dapat melihat preview sistem yang sedang dikerjakan
7
9
Masalah Model Waterfall
• Sulit untuk merespon perubahan perubahan
kebutuhan customer. Oleh sebab itu, model ini
Increment Model
• Incremental Model merupakan gabungan antara model linier sekuensial dan pararel
• Setiap linier sekuen menghasilkan produk yang
deliverables (dapat dikirim)
• Increment pertama merupakan produk inti (core), yang mengandung persyaratan / kebutuhan dasar
13
Prototyping
•Metodologi berbasis prototipe melakukan fase analisis, desain dan implementasi bersamaan.
•Semua tiga fase dilakukan berulang dalam siklus sampai sistem selesai.
•Sebuah prototipe adalah versi lebih kecil dari sistem dengan jumlah minimal fitur
14 Prototyping-based Methodology
Prototyping:
Advantage
• Sangat cepat memberikan sistem bagi pengguna untuk berinteraksi (bahkan jika organisasi itu
tidak siap/tidak memiliki gambaran)
• Prototyping meyakinkan klien bahwa tim proyek bekerja dengan baik (tidak ada penundaan yang lama dimana pengguna melihat kemajuan),
• Prototyping membantu lebih cepat memperbaiki persyaratan nyata (pengguna dapat berinteraksi dengan prototipe untuk lebih memahami apa
Prototyping:
Disadvantage
• Sistem rilis yang cepat memiliki tantangan untuk mencoba melakukan dengan hati-hati pada fase analisis.
• Seringkali prototipe mengalami perubahan yang signifikan sehingga banyak keputusan desain
17
Throwaway Prototyping (1)
•Throw-Away prototyping menggunakan
prototyping untuk tujuan yang berbeda dari prototyping sebelumnya
•Melakukan analisis secara menyeluruh, untuk mengumpulkan informasi & mengembangkan ide-ide untuk sebuah konsep sistem.
18
Throwaway Prototyping (2)
•Masalah yang muncul diujicobakan atau
diselesaikan dengan menganalisa, mendesign, & membangun sebuah prototype (yang
dinamakan design prototype)
•Design prototype yang dibangun merupakan fitur yang belum dipahami dengan jelas
19
Throwaway Prototyping-based Methodology
The Evolutionary : Spiral
Model
• Evolutionary process (pengembangan bertingkat)
• Menggabungkan keunggulan prototyping yang bersifat iteratif dan waterfall yang terkendali
The Evolutionary : Spiral
Model
Keuntungan
• Model Spiral merupakan pendekatan yang cukup realistis untuk diterapkan pada
pengembangan system/perangkat lunak berskala besar
– Perangkat Lunak bergerak semakin baik saat proses bergerak maju, pengembang
perangkat lunak dan pelanggan menjadi lebih memahami spesifikasi produk dan beraksi
The Evolutionary : Spiral
Model
Kerugian
• Mengandalkan para expert untuk menilai resiko. Jika resiko tidak tersingkap dan tidak bisa dikelola dengan baik,
The Evolutionary : Spiral
Model
• Dua fitur pembeda model Spiral
dibandingkan dengan model lainnya:
• Pertama: Pendekatan siklis untuk secara sedikit demi sedikit (inkremental)
mengembangkan system/perangkat lunak yang semakin bertumbuh derajat definisi dan implementasinya dan bersamaan
The Evolutionary : Spiral
Model
• Dua fitur pembeda model Spiral
dibandingkan dengan model lainnya:
• Kedua: sejumlah titik dalam waktu pengembangan perangkat lunak
(milestone) yang digunakan untuk memastikan para stakeholder secara bersamaan menemukan solusi system/
An Agile View of Process
Agile Development
• Menggunakan sedikit aturan yang mudah untuk dipelajari dan diikuti
• Mengurangi banyak pemodelan dan dokumentasi
• Menekankan kesederhanaan (simple) dan
pengembangan aplikasi yang iteratif (berulang) • Contoh pengembangan ini:
– Extreme Programming (XP)
– Scrum
Extreme Programming (XP)
“Core Values” of XP
1. Communication2. Simplicity 3. Feedback
Extreme Programming (XP)
1. User Stories about system do
2. Code small program using defined standards
Selecting the Right
Methodology
1. Clarity of User Requirements (Kejelasan Kebutuhan Pengguna)
2. Familiarity with Technology (Kefamiliaran dengan teknologi)
3. System Complexity (Kompleksitas Sistem)
Selecting the Right
Methodology
*Prototyping dan Throwaway Prototyping merupakan bagian dari
34
Kejelasan Kebutuhan Pengguna
• RAD methodologies of prototyping
and throwaway prototyping
biasanya lebih tepat bila kebutuhan pengguna tidak jelas karena
mereka memberikan prototipe bagi pengguna untuk berinteraksi di
awal SDLC
35
Kefamiliaran Dengan Teknologi
•Jika sistem ini dirancang tanpa beberapa keakraban dengan basis teknologi, risiko meningkat karena alat mungkin tidak
mampu melakukan apa yang dibutuhkan
36
Kompleksitas Sistem
•Sistem komplek membutuhkan kehati-hatian dan analisa desain yang detail
37
Keandalan Sistem
• Keandalan sistem biasanya merupakan faktor
penting dalam pengembangan sistem.
• Metodologi berbasis prototipe umumnya bukan pilihan yang baik karena mereka tidak memiliki fase analisis dan desain yang cermat
38
Jadwal Waktu Pendek
• metodologi berbasis RAD sangat cocok untuk proyek-proyek dengan jadwal waktu yang
singkat karena mereka meningkatkan kecepatan. • metodologi berbasis waterfall adalah pilihan
terburuk ketika waktu adalah penting karena mereka tidak memungkinkan untuk perubahan jadwal dengan mudah
39
Schedule Visibility
•Metodologi berbasis RAD bergerak banyak keputusan desain kritis di awal proyek;
akibatnya, ini membantu manajer proyek mengenali dan faktor risiko dan menjaga harapan yang tinggi.
40
Project Team Skills and Rules
• Proyek harus terdiri dari berbagai individu terampil
dalam rangka untuk sistem untuk menjadi sukses.
• Enam keterampilan utama menetapkan seorang analis harus memiliki mencakup:
–Technical
41
Kasus - 1
Kasus - 1
• Pemilihan model yang tepat adalah
Throwaway Prototyping karena klien
hanya tidak mengetahui bagaimana alur informasi ditampilkan, bentuk serta
medianya jadi harus dibuatkan prototype-nya terlebih dahulu. Dan prototype tsb
Kasus 2
• PT Sukses Makmur sudah lama menggunakan perangkat
lunak yang membantu operasional perusahaan. Akan
tetapi, karena perusahaan ingin berpindah dari
Kasus 2
• Pemilihan model yang tepat adalah
Kasus 3
• Sebuah proyek pembangunan perangkat lunak berskala besar akan segera dijalankan PT SysSoftware. PT SysSoftware adalah sebuah software company skala besar, sehingga memiliki cukup banyak tenaga ahli. Perangkat lunak yang akan dibangun terdiri dari
Kasus 3
• Pemilihan model yang tepat adalah Spiral,
karena projek memiliki skala besar dengan waktu terbatas namun perusahaan
didukung oleh banyak tenaga ahli. Modul-modul yang sudah dipetakan dapat
digunakan sebagai fokus pekerjaan yang iterative dalam mengembangkan
Kasus 4
Kasus 4
• Pemilihan model yang tepat adalah
Extreme Programming (XP) karena