SlideShare a Scribd company logo
1 of 34
RAD, Agile & Extreme
Programming
Bersama
Mengenal
Agung Laksono (0617104034)
Raka Maheka A (0617104023)
RPL-2019
Agenda
1. RAD
• Definisi & Konsep RAD
• Model RAD
• Fase-fase Pengembangan RAD
• Kelebihan dan Kekurangan RAD
• Tipe proyek yang cocok dengan model RAD
2. Agile
• Definisi & Konsep Agile
• Agile Manifesto
• 12 Prinsip Agile
• Agile Process Model
• Kelebihan dan Kekurangan Agile
• Tipe proyek yang cocok dengan model Agile
RPL-
2019
3. Extreme Programming
• Definisi & Konsep Extreme Programming
• Nilai-nilai Dasar Extreme Programming
• Fase-fase Pengembangan Extreme Programming
• Kelebihan dan Kekurangan Extreme Programming
• Tipe proyek yang cocok untuk Extreme Programming
RPL-
2019
RAD (Rapid Application Development)
RPL-
2019
RAD (Rapid Application Development)
Definisi RAD dari beberapa sumber,
1 Menurut McLeod, 2002, Rapid Application Development (RAD) adalah strategi siklus hidup yang
ditujukan untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan hasil
dengan kualitas yang lebih baik dibandingkan dengan hasil yang dicapai melalui siklus
tradisional
RPL-
2019
2 Menurut Bentley, 2004, RAD merupakan gabungan dari bermacam-macam teknik terstruktur
dengan teknik prototyping dan teknik pengembangan joint application untuk mempercepat
pengembangan sistem/aplikasi
3 Menurut Kendall, 2010, RAD adalah suatu pendekatan berorientasi objek terhadap
pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-
perangkat lunak
Konsep RAD
Pemaparan konsep yang lebih spesifik dijelaskan oleh Pressman
(2005) dalam bukunya, “Software Engineering: A Practitioner’s
Approach”. Ia mengatakan bahwa RAD adalah proses model
perangkat lunak inkremental yang menekankan siklus
pengembangan yang singkat. Model RAD adalah sebuah
adaptasi “kecepatan tinggi” dari model waterfall, di mana
perkembangan pesat dicapai dengan menggunakan pendekatan
konstruksi berbasis komponen. Jika tiap-tiap kebutuhan dan
batasan ruang lingkup projek telah diketahui dengan baik,
proses RAD memungkinkan tim pengembang untuk
menciptakan sebuah “sistem yang berfungsi penuh” dalam
jangka waktu yang sangat singkat.
RPL-
2019
Model RAD
 Component based construction ( pemrograman berbasis komponen bukan prosedural).
 Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
 Pembangkitan kode program otomatis/semi otomatis.
 Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama.
Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
RPL-
2019
Fase-fase Pengembangan RAD
RPL-
2019
Fase-fase Pengembangan RAD
1 Requirements Planning
RPL-
2019
2 User Design
 Meneliti masalah klien/pengguna saat ini
 Mengidentifikasi tujuan-tujuan untuk proyek/produk
 Menentukan persyaratan untuk proyek/produk
 Finalisasi persyaratan dengan persetujuan masing-masing pihak yang
berkepentingan
 Menjelaskan pola kerja dari penganalisis dengan klien/pengguna
 Membuat prototipe sebagai representasi visual desain yang akan
dikembangkan
 Melakukan testing dengan baik internal maupun eksternal dengan
klien/pengguna
 Melakukan perbaikan dari feedback yang diberikan klien/pengguna
3 Construction
RPL-
2019
4 Cutover
 Mempersiapkan untuk konstruksi pengembangan
 Implementasi prototipe dari sisi visual desain
 Coding program untuk pengembangan aplikasi
 Melakukan testing baik unit testing, integrasi dan sistem
 Finalisasi dari pengembangan aplikasi
 Pengecekan ulang baik dari data, integrasi, sistem dan aplikasi
 Persiapan untuk release aplikasi dan deliver ke klien/pengguna
Kelebihan RAD
 Penghematan waktu dalam keseluruhan fase projek dapat dicapai.
 Tim pengembangan RAD ini relatif sedikit namun lebih produktif
 RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek dan sumber daya
manusia.
 RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
 Perubahan desain sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan
pendekatan SDLC tradisional.
 Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau
antarmuka pengguna.
 RAD menciptakan rasa kepemilikan yang kuat di antara seluruh pihak kebijakan projek
RPL-
2019
Kekurangan RAD
 Dengan metode RAD, penganalisis berusaha mepercepat projek dengan terburu-buru.
 Tidak cocok untuk tim yang besar yang dimana butuh kolaborasi yang kuat
 Kelemahan yang berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat
diselesaikan secara lebih cepat, tetapi tidak mampu mengarahkan penekanan terhadap
permasalahan-permasalahan perusahaan yang seharusnya diarahkan.
 RAD menyulitkan programmer yang tidak berpengalaman menggunakan perangkat ini di mana
programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara
pada saat yang sama mereka harus bekerja mengembangkan sistem.
RPL-
2019
Tipe proyek yang cocok dengan RAD
RPL-
2019
 Project Scope : Terfokus dan tujuan bisnisnya sudah didefinisikan dengan
baik dan cocok untuk pengembangan proyek yang kecil
 Project Data : Data untuk proyek sudah ada (sepenuhnya atau sebagian).
Tidak untuk data yang kompleks karena perlu dianalisis
 Project Decisions : Keputusan proyek atau pengembangan dibuat oleh
sejumlah kecil orang yang tersedia dan ditempatkan bersama
 Project Teams : Jumlah tim yang sedikit (6 orang atau kurang)
Agile Development Methods
RPL-
2019
Agile Development Methods
Agile Development Methods adalah sekelompok metodologi pengembangan
perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau
pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun. Agile development
methods merupakan salah satu dari metode pengembangan perangkat lunak yang
digunakan dalam pengembangan perangkat lunak.
RPL-
2019
i
Konsep Agile
Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan
sebagai kata yang mengambarkan konsep model proses yang berbeda dari konsep
model-model proses yang sudah ada.
RPL-
2019
Agile (tangkas) adalah satu pola pikir dan kebiasaan.
Ada tiga poin penting dalam agile, yakni: (1) mengindentifikasi masalah dan/atau
peluang, (2) bergerak menindaklanjutinya, dan (3) melakukan keduanya secara
iteratif tanpa henti dan dengan periode yang singkat.
Dalam situs agilecampus.org, disebutkan juga bahwa:
Agile Manifesto
Agile Manifesto merupakan nilai-nilai yang digunakan dalam mendasari berlangsungnya Agile
Software Development. Agile Manifesto muncul dilatarbelakangi oleh frustasi para software
developer akibat metode yang digunakan pada saat itu, yaitu Waterfall Model.
Pada tahun 2000, Jon Kern, Kent Beck, Ward Cunningham, Arie van Bennekum, Alistair Cockburn,
dan 12 orang lainnya mengadakan pertemuan di Oregon dan kemudian pada tahun 2001 di The
Lodge, Utah. Pertemuan tersebut menghasilkan Agile Manifesto yang dituliskan secara formal. Dan
lahir 4 nilai utama Agile Manifesto
1. Individuals and Interactions Over Processes and Tools
2. Working Software Over Comprehensive Documentation
3. Customer Collaboration Over Contract Negotiation
4. Responding to Change Over Following a Plan RPL-
2019
12 Prinsip Agile
1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan
terus menerus
2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai dua bulan.
4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja
dalam lingkungan yang mendukung dan yang dipercaya untuk dapat menyelesaikan
proyek.
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
RPL-
2019
12 Prinsip Agile
8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk
menjaga perkembangan yang berkesinambungan
9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
10.Kesederhanaan penting
11.Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur dirinya
sendiri
12.Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera
melakukannya.
RPL-
2019
Agile Process Model
Berikut ini adalah model-model proses yang termasuk agile process model :
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Scrum
• Crystal
• Feature Driven Development (FDD)
• Agile Modeling (AM)
• Spotify
• SAFe
RPL-
2019
Kelebihan Agile
 Meningkatkan kepuasan kepada klien.
 Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
 Pembangunan system dibuat lebih cepat.
 Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
 Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
RPL-
2019
Kekurangan Agile
 Mendefiniskan Agile berdasarkan pengetahuan sendiri tanpa mengacu pada Agile Manifesto &
Principles
 Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
 Agile tidak akan berjalan jika dalam tim tidak ada transparansi
 Agile tidak akan berjalan tanpa adanya visi product
RPL-
2019
Tipe proyek yang cocok dengan Agile
RPL-
2019
 Agile dapat menjadi solusi untuk proyek yang kompleks
 Proyek yang memiliki perubahan yang cukup cepat
 Proyek yang tidak memerlukan banyak dokumentasi dan birokrasi
 Proyek yang menginginkan release secara cepat dan berkala
Extreme Programming
RPL-
2019
Extreme Programming
Extreme Programming (XP) adalah metode pengembangan perangkat lunak yang
ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck,
Ron Je ries, dan Ward Cunningham. XP juga merupakan metode pengembangan
yang mengutamakan peningkatan kualitas software secara berkesinambungan.
Definisi menurut Kent Beck,
“Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible,
predictable, scientific, and fun way to develop software.”
RPL-
2019
i
Konsep Extreme Programming
Extreme Programming (XP) diterapkan pada proyek
yang membutuhkan hasil pemrograman yang sangat
baik, sangat reliabel, dan benar-benar teruji. Oleh
karenanya, metode ini mendukung penerapan pair
programming (pemrograman yang dikerjakan oleh dua
orang programmer).
RPL-
2019
i
Nilai-nilai Dasar Extreme Programming
RPL-
2019
1
Communication
XP mengfokuskan pada hubungan
komunikasi yang baik antar anggota tim.
2
Courage
Para anggota tim dan penanggungjawab
pengembangan perangkat lunak harus selalu
memiliki keyakinan dan integritas dalam
melakukan tugasnya.
3
Simplicity
Lakukan semua dengan sederhana.
4
Feedback
Berikan selalu feedback kepada sesama anggota
tim maupun pihak-pihak lain yang terlibat dalam
pengembangan perangkat lunak.
5
Quality Work
Dengan proses yang berkualitas maka implikasinya
akan muncul pula perangkat lunak yang
berkualitas sebagai hasil akhirnya.
Fase-fase Pengembangan XP
RPL-
2019
Fase-fase Pengembangan XP
1 Planning
RPL-
2019
2 Design
 Membuat User Stories di Indeks Card
 Membuat Requirements dan Acceptance Criteria
 Menentukan Prioritas
 Memisahkan spike
 Membuat Release Plan
 Memanfaatkan kartu CRC (Class-ResponsibilityCollaborator) untuk
identifikasi dan mengatur class-class di konsep OOP
 Membuat prototype untuk spike solution
3 Coding
RPL-
2019
4 Test
 Coding program untuk pengembangan aplikasi
 Melakukan Pair Programming
 Melakukan Refactoring Code
 Melakukan tes scenario dari user stories
 Melakukan unit testing, integration test
 Melakukan Continuous Integration
 Jika ada bug lempar ke coding lagi
 Menentukan Acceptance Test
 Melakukan small release
 Persetujuan dari klien
5 Release
Kelebihan Extreme Programming
 Metode yang populer karena lebih santai dan non-restriktif.
 Biaya lebih murah.
 Mampu mengotomatiskan tes.
 Setiap feedback ditanggapi dengan melakukan tes, unit tes atau system integration dan jangan
menunda karena biaya akan membengkak (uang, tenaga, waktu).
 Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan
ditemukan, langsung diperbaiki.
 Meningkatkan komunikasi dan sifat saling menghargai antar developer.
RPL-
2019
Kekurangan Extreme Programming
 Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
 Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk
melakukan apa yang diperlukan hari itu juga).
 User strories lebih fokus kepada kebutuhan fungsional dari pada fokus kepada kebutuhan non
fungsional.
 XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
RPL-
2019
Tipe proyek yang cocok dengan XP
RPL-
2019
 Proyek yang belum terdefinisi dengan jelas
 Proyek yang memiliki perubahan yang cukup cepat
 Proyek yang tidak memerlukan banyak dokumentasi dan birokrasi
 Proyek yang menginginkan release secara cepat dan berkala
Terima kasih
RPL-
2019
Ada yang ingin bertanya?

More Related Content

What's hot

Cobit 5 untuk manajemen teknologi informasi dan proses bisnis
Cobit 5 untuk manajemen teknologi informasi dan proses bisnisCobit 5 untuk manajemen teknologi informasi dan proses bisnis
Cobit 5 untuk manajemen teknologi informasi dan proses bisnis
Agreindra Helmiawan
 
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
Rizki Saputra
 

What's hot (20)

Project charter-Contoh
Project charter-ContohProject charter-Contoh
Project charter-Contoh
 
Analisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem InformasiAnalisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem Informasi
 
Project Charter Aplikasi FedEx
Project Charter Aplikasi FedExProject Charter Aplikasi FedEx
Project Charter Aplikasi FedEx
 
Cobit 5 untuk manajemen teknologi informasi dan proses bisnis
Cobit 5 untuk manajemen teknologi informasi dan proses bisnisCobit 5 untuk manajemen teknologi informasi dan proses bisnis
Cobit 5 untuk manajemen teknologi informasi dan proses bisnis
 
Proposal Project Management Plan
Proposal Project Management PlanProposal Project Management Plan
Proposal Project Management Plan
 
Society 5.0: Menyiapkan SDM Cerdas dan Sehat
Society 5.0: Menyiapkan SDM Cerdas dan SehatSociety 5.0: Menyiapkan SDM Cerdas dan Sehat
Society 5.0: Menyiapkan SDM Cerdas dan Sehat
 
Contoh RAB PADATI WEB
Contoh RAB PADATI WEBContoh RAB PADATI WEB
Contoh RAB PADATI WEB
 
Analisis Sistem Informasi Penjualan Alfamart
Analisis Sistem Informasi Penjualan Alfamart Analisis Sistem Informasi Penjualan Alfamart
Analisis Sistem Informasi Penjualan Alfamart
 
Project Charter Aplikasi Tracking Barang
Project Charter Aplikasi Tracking BarangProject Charter Aplikasi Tracking Barang
Project Charter Aplikasi Tracking Barang
 
Manajemen Perencanaan Proyek
Manajemen Perencanaan ProyekManajemen Perencanaan Proyek
Manajemen Perencanaan Proyek
 
Project charter
Project charterProject charter
Project charter
 
Japan society 5.0 introduction
Japan society 5.0   introductionJapan society 5.0   introduction
Japan society 5.0 introduction
 
Paparan Rektor IPB Dr. Arif Satria pada Dies Natalis IPB ke-55, 1 September 2018
Paparan Rektor IPB Dr. Arif Satria pada Dies Natalis IPB ke-55, 1 September 2018Paparan Rektor IPB Dr. Arif Satria pada Dies Natalis IPB ke-55, 1 September 2018
Paparan Rektor IPB Dr. Arif Satria pada Dies Natalis IPB ke-55, 1 September 2018
 
Proposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking BarangProposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking Barang
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
Sosialisasi pkm 2022 polisma
Sosialisasi pkm 2022 polismaSosialisasi pkm 2022 polisma
Sosialisasi pkm 2022 polisma
 
Ekonomi Digital di Indonesia 2016 - 2019
Ekonomi Digital di Indonesia 2016 - 2019Ekonomi Digital di Indonesia 2016 - 2019
Ekonomi Digital di Indonesia 2016 - 2019
 
Tugas 5 - MPPL - Project Charter
Tugas  5 - MPPL -  Project CharterTugas  5 - MPPL -  Project Charter
Tugas 5 - MPPL - Project Charter
 
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
Analisis pengembangan jaringan komputer lokal pada rumah sakit muhammadiyah p...
 
Business requirement document.pptx
Business requirement document.pptxBusiness requirement document.pptx
Business requirement document.pptx
 

Similar to Rad, Agile & Extreme Programming

Similar to Rad, Agile & Extreme Programming (20)

Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptx
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Kualitas Source Code.pptx
Kualitas Source Code.pptxKualitas Source Code.pptx
Kualitas Source Code.pptx
 
Application Development.pptx
Application Development.pptxApplication Development.pptx
Application Development.pptx
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Rpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_aRpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_a
 
Rd
RdRd
Rd
 
Rad
RadRad
Rad
 
SourceCode.pptx
SourceCode.pptxSourceCode.pptx
SourceCode.pptx
 
. Kualitas Source Code.pptx
. Kualitas Source Code.pptx. Kualitas Source Code.pptx
. Kualitas Source Code.pptx
 
kualitas source code dan pengujian program
kualitas source code dan pengujian programkualitas source code dan pengujian program
kualitas source code dan pengujian program
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 
Agile
AgileAgile
Agile
 
Agile
AgileAgile
Agile
 
RPL 1 (Lama) - Proses Pembangunan Perangkat Lunak
RPL 1 (Lama) - Proses Pembangunan Perangkat LunakRPL 1 (Lama) - Proses Pembangunan Perangkat Lunak
RPL 1 (Lama) - Proses Pembangunan Perangkat Lunak
 
Software project management
Software project managementSoftware project management
Software project management
 
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan SistemRekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
 

Rad, Agile & Extreme Programming

  • 1. RAD, Agile & Extreme Programming Bersama Mengenal Agung Laksono (0617104034) Raka Maheka A (0617104023) RPL-2019
  • 2. Agenda 1. RAD • Definisi & Konsep RAD • Model RAD • Fase-fase Pengembangan RAD • Kelebihan dan Kekurangan RAD • Tipe proyek yang cocok dengan model RAD 2. Agile • Definisi & Konsep Agile • Agile Manifesto • 12 Prinsip Agile • Agile Process Model • Kelebihan dan Kekurangan Agile • Tipe proyek yang cocok dengan model Agile RPL- 2019
  • 3. 3. Extreme Programming • Definisi & Konsep Extreme Programming • Nilai-nilai Dasar Extreme Programming • Fase-fase Pengembangan Extreme Programming • Kelebihan dan Kekurangan Extreme Programming • Tipe proyek yang cocok untuk Extreme Programming RPL- 2019
  • 4. RAD (Rapid Application Development) RPL- 2019
  • 5. RAD (Rapid Application Development) Definisi RAD dari beberapa sumber, 1 Menurut McLeod, 2002, Rapid Application Development (RAD) adalah strategi siklus hidup yang ditujukan untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan hasil dengan kualitas yang lebih baik dibandingkan dengan hasil yang dicapai melalui siklus tradisional RPL- 2019 2 Menurut Bentley, 2004, RAD merupakan gabungan dari bermacam-macam teknik terstruktur dengan teknik prototyping dan teknik pengembangan joint application untuk mempercepat pengembangan sistem/aplikasi 3 Menurut Kendall, 2010, RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat- perangkat lunak
  • 6. Konsep RAD Pemaparan konsep yang lebih spesifik dijelaskan oleh Pressman (2005) dalam bukunya, “Software Engineering: A Practitioner’s Approach”. Ia mengatakan bahwa RAD adalah proses model perangkat lunak inkremental yang menekankan siklus pengembangan yang singkat. Model RAD adalah sebuah adaptasi “kecepatan tinggi” dari model waterfall, di mana perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan baik, proses RAD memungkinkan tim pengembang untuk menciptakan sebuah “sistem yang berfungsi penuh” dalam jangka waktu yang sangat singkat. RPL- 2019
  • 7. Model RAD  Component based construction ( pemrograman berbasis komponen bukan prosedural).  Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.  Pembangkitan kode program otomatis/semi otomatis.  Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun. RPL- 2019
  • 9. Fase-fase Pengembangan RAD 1 Requirements Planning RPL- 2019 2 User Design  Meneliti masalah klien/pengguna saat ini  Mengidentifikasi tujuan-tujuan untuk proyek/produk  Menentukan persyaratan untuk proyek/produk  Finalisasi persyaratan dengan persetujuan masing-masing pihak yang berkepentingan  Menjelaskan pola kerja dari penganalisis dengan klien/pengguna  Membuat prototipe sebagai representasi visual desain yang akan dikembangkan  Melakukan testing dengan baik internal maupun eksternal dengan klien/pengguna  Melakukan perbaikan dari feedback yang diberikan klien/pengguna
  • 10. 3 Construction RPL- 2019 4 Cutover  Mempersiapkan untuk konstruksi pengembangan  Implementasi prototipe dari sisi visual desain  Coding program untuk pengembangan aplikasi  Melakukan testing baik unit testing, integrasi dan sistem  Finalisasi dari pengembangan aplikasi  Pengecekan ulang baik dari data, integrasi, sistem dan aplikasi  Persiapan untuk release aplikasi dan deliver ke klien/pengguna
  • 11. Kelebihan RAD  Penghematan waktu dalam keseluruhan fase projek dapat dicapai.  Tim pengembangan RAD ini relatif sedikit namun lebih produktif  RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek dan sumber daya manusia.  RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.  Perubahan desain sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC tradisional.  Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka pengguna.  RAD menciptakan rasa kepemilikan yang kuat di antara seluruh pihak kebijakan projek RPL- 2019
  • 12. Kekurangan RAD  Dengan metode RAD, penganalisis berusaha mepercepat projek dengan terburu-buru.  Tidak cocok untuk tim yang besar yang dimana butuh kolaborasi yang kuat  Kelemahan yang berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak mampu mengarahkan penekanan terhadap permasalahan-permasalahan perusahaan yang seharusnya diarahkan.  RAD menyulitkan programmer yang tidak berpengalaman menggunakan perangkat ini di mana programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara pada saat yang sama mereka harus bekerja mengembangkan sistem. RPL- 2019
  • 13. Tipe proyek yang cocok dengan RAD RPL- 2019  Project Scope : Terfokus dan tujuan bisnisnya sudah didefinisikan dengan baik dan cocok untuk pengembangan proyek yang kecil  Project Data : Data untuk proyek sudah ada (sepenuhnya atau sebagian). Tidak untuk data yang kompleks karena perlu dianalisis  Project Decisions : Keputusan proyek atau pengembangan dibuat oleh sejumlah kecil orang yang tersedia dan ditempatkan bersama  Project Teams : Jumlah tim yang sedikit (6 orang atau kurang)
  • 15. Agile Development Methods Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile development methods merupakan salah satu dari metode pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak. RPL- 2019 i
  • 16. Konsep Agile Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan sebagai kata yang mengambarkan konsep model proses yang berbeda dari konsep model-model proses yang sudah ada. RPL- 2019 Agile (tangkas) adalah satu pola pikir dan kebiasaan. Ada tiga poin penting dalam agile, yakni: (1) mengindentifikasi masalah dan/atau peluang, (2) bergerak menindaklanjutinya, dan (3) melakukan keduanya secara iteratif tanpa henti dan dengan periode yang singkat. Dalam situs agilecampus.org, disebutkan juga bahwa:
  • 17. Agile Manifesto Agile Manifesto merupakan nilai-nilai yang digunakan dalam mendasari berlangsungnya Agile Software Development. Agile Manifesto muncul dilatarbelakangi oleh frustasi para software developer akibat metode yang digunakan pada saat itu, yaitu Waterfall Model. Pada tahun 2000, Jon Kern, Kent Beck, Ward Cunningham, Arie van Bennekum, Alistair Cockburn, dan 12 orang lainnya mengadakan pertemuan di Oregon dan kemudian pada tahun 2001 di The Lodge, Utah. Pertemuan tersebut menghasilkan Agile Manifesto yang dituliskan secara formal. Dan lahir 4 nilai utama Agile Manifesto 1. Individuals and Interactions Over Processes and Tools 2. Working Software Over Comprehensive Documentation 3. Customer Collaboration Over Contract Negotiation 4. Responding to Change Over Following a Plan RPL- 2019
  • 18. 12 Prinsip Agile 1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus 2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan. 3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai dua bulan. 4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung 5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukung dan yang dipercaya untuk dapat menyelesaikan proyek. 6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien 7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek RPL- 2019
  • 19. 12 Prinsip Agile 8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan 9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile 10.Kesederhanaan penting 11.Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur dirinya sendiri 12.Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya. RPL- 2019
  • 20. Agile Process Model Berikut ini adalah model-model proses yang termasuk agile process model : • Extreme Programming (XP) • Adaptive Software Development (ASD) • Dynamic Systems Development Method (DSDM) • Scrum • Crystal • Feature Driven Development (FDD) • Agile Modeling (AM) • Spotify • SAFe RPL- 2019
  • 21. Kelebihan Agile  Meningkatkan kepuasan kepada klien.  Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.  Pembangunan system dibuat lebih cepat.  Mengurangi resiko kegagalan implementasi software dari segi non-teknis.  Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil. RPL- 2019
  • 22. Kekurangan Agile  Mendefiniskan Agile berdasarkan pengetahuan sendiri tanpa mengacu pada Agile Manifesto & Principles  Agile tidak akan berjalan dengan baik jika komitmen tim kurang.  Agile tidak akan berjalan jika dalam tim tidak ada transparansi  Agile tidak akan berjalan tanpa adanya visi product RPL- 2019
  • 23. Tipe proyek yang cocok dengan Agile RPL- 2019  Agile dapat menjadi solusi untuk proyek yang kompleks  Proyek yang memiliki perubahan yang cukup cepat  Proyek yang tidak memerlukan banyak dokumentasi dan birokrasi  Proyek yang menginginkan release secara cepat dan berkala
  • 25. Extreme Programming Extreme Programming (XP) adalah metode pengembangan perangkat lunak yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck, Ron Je ries, dan Ward Cunningham. XP juga merupakan metode pengembangan yang mengutamakan peningkatan kualitas software secara berkesinambungan. Definisi menurut Kent Beck, “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software.” RPL- 2019 i
  • 26. Konsep Extreme Programming Extreme Programming (XP) diterapkan pada proyek yang membutuhkan hasil pemrograman yang sangat baik, sangat reliabel, dan benar-benar teruji. Oleh karenanya, metode ini mendukung penerapan pair programming (pemrograman yang dikerjakan oleh dua orang programmer). RPL- 2019 i
  • 27. Nilai-nilai Dasar Extreme Programming RPL- 2019 1 Communication XP mengfokuskan pada hubungan komunikasi yang baik antar anggota tim. 2 Courage Para anggota tim dan penanggungjawab pengembangan perangkat lunak harus selalu memiliki keyakinan dan integritas dalam melakukan tugasnya. 3 Simplicity Lakukan semua dengan sederhana. 4 Feedback Berikan selalu feedback kepada sesama anggota tim maupun pihak-pihak lain yang terlibat dalam pengembangan perangkat lunak. 5 Quality Work Dengan proses yang berkualitas maka implikasinya akan muncul pula perangkat lunak yang berkualitas sebagai hasil akhirnya.
  • 29. Fase-fase Pengembangan XP 1 Planning RPL- 2019 2 Design  Membuat User Stories di Indeks Card  Membuat Requirements dan Acceptance Criteria  Menentukan Prioritas  Memisahkan spike  Membuat Release Plan  Memanfaatkan kartu CRC (Class-ResponsibilityCollaborator) untuk identifikasi dan mengatur class-class di konsep OOP  Membuat prototype untuk spike solution
  • 30. 3 Coding RPL- 2019 4 Test  Coding program untuk pengembangan aplikasi  Melakukan Pair Programming  Melakukan Refactoring Code  Melakukan tes scenario dari user stories  Melakukan unit testing, integration test  Melakukan Continuous Integration  Jika ada bug lempar ke coding lagi  Menentukan Acceptance Test  Melakukan small release  Persetujuan dari klien 5 Release
  • 31. Kelebihan Extreme Programming  Metode yang populer karena lebih santai dan non-restriktif.  Biaya lebih murah.  Mampu mengotomatiskan tes.  Setiap feedback ditanggapi dengan melakukan tes, unit tes atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).  Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.  Meningkatkan komunikasi dan sifat saling menghargai antar developer. RPL- 2019
  • 32. Kekurangan Extreme Programming  Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.  Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).  User strories lebih fokus kepada kebutuhan fungsional dari pada fokus kepada kebutuhan non fungsional.  XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user. RPL- 2019
  • 33. Tipe proyek yang cocok dengan XP RPL- 2019  Proyek yang belum terdefinisi dengan jelas  Proyek yang memiliki perubahan yang cukup cepat  Proyek yang tidak memerlukan banyak dokumentasi dan birokrasi  Proyek yang menginginkan release secara cepat dan berkala