1. Waterfall
Waterfall
sebagai model rekayasa perangkat lunak
Permodelan dalam suatu
perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam
suatu rekayasa perangkat lunak, sebenarnya masih memungkinkan tanpa melakukan
permodelan. Hal ini tidak dapat lagi dilakukan dalam suatu industri perangkat lunak.
Permodelan dalam
perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal rekayasa,
dan permodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa
perangkat lunak tersebut.
Model proses perangkat
lunak masih menjadi obyek penelitian, tapi sekarang ada banyak model umum atau
paradigma yang berbeda dari pengembangan perangkat lunak, antara lain :
·
Pengembangan waterfall
·
Pengembangan secara
evolusioner
·
Transformasi formal
·
Penggabungan sistem
dengan menggunakan komponen-komponen yang dapat digunakan kembali
Waterfall model
pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model
merupakan model klasik yang sederhana dengan aliran sistem yang linier.
Output dari setiap tahap merupakan input bagi tahap berikutnya.
Model ini telah
diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan rekayasa
perangkat lunak secara lebih nyata. Model ini melibatkan tim SQA (Software
Quantity Assurance) dengan 5 tahapan, dimana setiap tahapan selalu
dilakukan verifikasi atau testing. Tahapan model waterfall meliputi :
·
Requirment
Dalam tahapan ini
jasa, kendala dan tujuandari konsultasi dengan pengguna sistem.
Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf
pengembang. Dengan kata lain, dalam tahapn ini dilakukan analisa
kebutuhan, kemdian diverifikasi klien dan tim SQA.
·
Specification
Dokumentasi
spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya jika disetujui
oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan
pengembang s0ftware. Selanjutnya merencanakan jadwal pengembangan
software. Jika disetujui oleh SQA, tahap desain baru dilakukan.
·
Design
Proses design sistem
membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat
keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain
perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk
yang mungkin ditransformasi kedalam satu atau lebih program yang dapat
dijalankan. Tahapan ini telah menentukan alur software hingga pada tahap
algoritma detail. Di akhir tahap ini, kembali diperksa tim SQA.
·
Implementation
Selama tahap ini,
desain perangkat lunak disadari sebagai sebuah program lengkap atau unit
program. Desain yang telah disetujui, diubah dalam bentuk kode-kode
program. Tahap ini, kode-kode program yang dihasilkan masih pada tahap
modul-modul. Diakhir tahap ini, tiap modul di testing tanpa diintegrasikan.
·
Integration
Unit program
diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan bahwa
persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem
disampaikan ke konsumen.
·
Operaton mode &
retirement
Normalnya, ini adalah
tahap yang terpanjang. Sistem dipasang dan digunakan. Pemeliharaan
termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan inmplementasi unit sistem dan peningkatan jasa
sistem sebagai kebutuhan baru ditemukan.
Setiap tahap dari
modelini menggunakan Document Drivent, yaitu tahap selanjutnya
selalu bekerja berdasarkan dokumen yang telah diberikan sebelumnya.
Tahapan pada waterfall
model tidak akan selesai jika tidak disetujui SQA. Modifikasi pada tahap
tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada
tahap sebelumnya untuk penyesuaian dan peninjauan ulang.
Dalam prakteknya,
setiap langkah sering tumpang tindih dan saling memberi informasi satu sama
lain. Proses perangkat lunak tidak linierdan sederhana, tapi
mengandung urutan iterasi dari aktifitas pengembangan. Selama di langkah
terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam
menentukan kebutuhan perangkat lunak original dapat diatasi.
Sayangnya model yang
banyak mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk
memeriksa seluruh rencana dan laporan. Maka dari itu, setelah sedikit
iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan
dilanjutkan dengan langkah pengembangan selanjutnya.
Masalah-masalah selama
resolusi selanjutnya, dibiarkan atau diprogram. Pemberhentian yang
prematur dari persyaratan akan berarti bahwa sistem tidak akan sesuai dengan
keinginan user. Mungkin juga sistem terstruktur secarajelek yang
sebenarnya merupakan masalah deain akan dibiarkan karenaterkalahkan olehtrik
implementasi.
Masalah pendekatan
waterfall adalah ketidakluwaesan pembagian proyek ke dalam langkah yang
jelas/nyata. Sistem yang disampaikan kadang-kadang tidak dapatdigunakan
sesuai keinginan konsumen. Namun demikian, model waterfall mencerminkan
kepraktisan rekayasa. Konsekuensinya, model proses perangkat lunak yang
berdasarkan pada pendekatan ini, digunakan dalam pengembangan sistem perangkat
lunak dan hardware yang luas.
Pengertian Water fall model
Water fall model adalah salah satu model
pengembangan software, dimana kemajuan suatu proses dipandang sebagai terus
mengalir ke bawah seperti air terjun.
Tahap – tahap pengembangan waterfall model adalah :
1. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan
user.
2. Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan
3. Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian program
4. Integrasi dan pengujian sistem
Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk
menjamin bahwa persyaratan sitem telah terpenuhi
5. Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan
mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem
dan pelayanan sistem.
Keuntungan:
Simple dan mudah diimplementasikan
mudah diatur
Cocok untuk proyek kecil
Kerugian:
Tidak mengakomodasi perubahan requirement
Resiko ketidakpastian tinggi
Model yang buruk untuk proyek yang berorientasi obyek
Model yang buruk untuk proyek
Referensi:
2. Prototype
Prototyping merupakan
salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan
metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi
selama proses pembuatan sistem.
Seiring terjadi seorang
pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa
menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan
data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang
memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang
menghubungkan manusia dan komputer.
Untuk mengatasi
ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan
kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui
dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan
segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan
sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan
jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar model prototype
ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada
saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun
untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau
seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan
implementasi yang sudah ditentukan
Tahapan-tahapan
Prototyping
Tahapan-tahapan dalam Prototyping
adalah sebagai berikut:
1. Pengumpulan kebutuhan Pelanggan dan
pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. 4
2. Membangun prototyping Membangun prototyping
dengan membuat perancangan sementara yang berfokus pada penyajian kepada
pelanggan (misalnya dengan membuat input dan format output)
3. Evaluasi protoptyping Evaluasi
ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan
diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan
3.
4. Mengkodekan sistem Dalam tahap ini
prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman
yang sesuai
5. Menguji sistem Setelah sistem
sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum
digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain
6. Evaluasi Sistem Pelanggan
mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan
. Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7. Menggunakan sistem Perangkat
lunak yang telah diuji dan diterima pelanggan siap untuk digunakan .
Keunggulan dan Kelemahan Prototyping
Keunggulan prototyping adalah:
1. Adanya komunikasi yang baik
antara pengembang dan pelanggan
2. Pengembang dapat bekerja lebih
baik dalam menentukan kebutuhan pelanggan
3. Pelanggan berperan aktif dalam
pengembangan system
4. Lebih menghemat waktu dalam pengembangan
sistem
5. Penerapan menjadi lebih mudah
karena pemakai mengetahui apa yang diharapkannya.
Kelemahan prototyping adalah :
1. Pelanggan kadang tidak melihat atau menyadari
bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak
secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk
jangja waktu lama.
2. Pengembang biasanya ingin
cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa
pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa
memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru
sistem .
3. Hubungan pelanggan dengan
komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang
baik
Prototyping bekerja dengan baik
pada penerapan-penerapan yang berciri sebagai berikut:
1. Resiko tinggi Yaitu untuk
maslaha-masalah yang tidak terstruktur dengan baik, ada perubahan yang besar
dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu.
2. Interaksi pemakai penting . Sistem harus
menyediakan dialog on-line antara pelanggan dan komputer.
3. Perlunya penyelesaian yang cepat
4. Perilaku pemakai yang sulit
ditebak
5. Sitem yang inovatif. Sistem
tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras
yang mutakhir
6. Perkiraan tahap penggunaan
sistem yang pendek
http://elista.akprind.ac.id
https://madewidiasa.files.wordpress.com
http://perpus.litbang.esdm.go.id
3. Model Spiral
Spiral Model spiral pada awalnya
diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang
merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek
sistematis model sequensial linier.
Model iteratif ditandai dengan
tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak
yang lebih lengkap secara bertahap. Perangkat lunak dikembangkan dalam deretan
pertambahan. Selama awal iterasi, rilis inkremantal bisa berupa model/prototype
kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih
lengkap.
Tahapan-Tahapan
Model Spiral
l Model spiral dibagi menjadi enam
wilayah tugas yaitu:
1. Komunikasi pelanggan 6 Yaitu tugas-tugas
untuk membangun komunikasi antara pelanggan dan kebutuhankebutuhan yang
diinginkan oleh pelanggan
2. Perencanaan Yaitu tugas-tugas
untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg
berhubungan.
3. Analisis Resiko Yaitu tugas-tugas yang
dibutuhkan untuk menaksir resikomanajemen dan teknis.
4. Perekayasaan Yaitu tugas yang dibutuhkan
untuk membangun satu atau lebih representasi dari apikasi tersebut.
5. Konstruksi dan peluncuran Yaitu
tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan
memberi pelayanan kepada pemakai.
6. Evaluasi Pelanggan
Yaitu
tugas-tugas untuk mendapatkan umpan balik dari pelanggan.
Dari
gambar tersebut, proses dimulai dari inti bergerak searah dengan jarum jam
mengelilingi spiral. Lintasan pertama putaran menghasilkan perkembangan
spesifikasi produk. Putaran selanjutnya digunakan untuk mengembangkan sebuah
prototype, dan secara progresif mengembangkan versi perangkat lunak yang lebih
canggih. Masing-masing lintasan yang melalui daerah perencanaan menghasilkan
penyesuaian pada rencanan proyek. Biaya dan jadwal disesuaikan berdasarkan
umpan balik yang disimpulakan dari evaluasi pelanggan. Manajer proyek akan
menambah jumlah iterasi sesuai dengan yang dibutuhkan.
Kelebihan
dan Kelemahan Model Spiral
a. Kelebihan model
Spiral :
1. Dapat disesuaikan agar perangkat lunak bisa dipakai
selama hidup perangkat lunak komputer.
2. Lebih cocok untuk pengembangan sistem dan perangkat lunak
skala besar
3. Pengembang dan
pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat
evolusi karena perangkat lunak terus bekerja selama proses .
4. Menggunakan prototipe sebagai mekanisme pengurangan
resiko dan pada setiap keadaan di dalam evolusi produk.
5. Tetap mengikuti langkah-langkah dalam siklus kehidupan
klasik dan memasukkannya ke dalam kerangka kerja iteratif .
6. Membutuhkan pertimbangan langsung terhadp resiko teknis
sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
b. Kelemahan model Spiral:
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan
evolusioner ini bisa dikontrol.
2. Memerlukan penaksiran resiko yang masuk akal dan akan
menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju
kepastian yang absolut
4. Rapid Aplication Development (RAD)
Rapid Aplication Development (RAD)
adalah sebuah proses perkembangan perangkat lunak sekuensial linier yang
menekankan siklus perkembangan dalam waktu yang singkat ( 60 sampai 90 hari)
dengan pendekatan konstruksi berbasis komponen.
Tahapn-Tahapan dalam RAD
Metode RAD digunakan pada aplikasi sistem
konstruksi, maka menekankan fase-fase sebagai berikut:
1. Bussiness Modelling
Fase ini untuk mencari aliran
informasi yang dapat menjawab pertanyaan berikut: Informasi apa yang
menegndalikan proses bisnis? 8 Informasi apa yang dimunculkan? Di mana
informasi digunakan ? Siapa yang memprosenya
?
2. Data Modelling
Fase ini menjelaskanobjek data yang dibutuhkan
dalam proyek. Karakteristik (atribut) masing-masing data diidentifikasikan dan
hubungan anta objek didefinisikan.
3. Process Modelling
Aliran informasi pada fase data
medelling ditransformasikan untuk mendapatkan aliran informasi yang diperlukan
pada implementasi fungsi bisnis.
Pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atu mendapatkan kembali objek data tertentu.
4. Aplication Generation
Selain menggunakan bahasa
pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada
atau menciptakan komponen yang bisa dipakai lagi. Ala-alat baantu bisa dipakai
untuk memfasilitasi konstruksi perangkat
lunak.
5. Testing and Turnover
Karena menggunakan kembali komponen yang telah
ada, maka akan mengurangi waktu pengujian. Tetapi komponen baru harus diuji dan
semua interface harus dilatih secara penuh.
Keunggulan
dan Kelemahan Model RAD
a. Keunggulan Model
RAD
1.
Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan
dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan
sehinnga waktunya lebih efesien.
2. RAD
mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai
kemampuan untuk menggunakan kembali komponen yang ada (reusable object)
sehingga pengembang pengembang tidak
perlu membuat dari awal lagi dan waktu lebih singkat .
b. Kelemahan Model
RAD :
1. Proyek yang besar dan berskala, RAD
memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang
baik.
2. RAD
menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire
yang diperlukan untuk melengkapi sebuah sistem dlam waktu yang singkat. Jika komitmen tersebut tidak ada maka proyek
RAD akan gagal.
http://elista.akprind.ac.id
5. Rational
Unified Process (RUP)
Pengertian Rational Unified
Process (RUP)
Sejarah Rational Unified Process
RUP yang dikembangkan oleh Rational software
adalah hasil kerjasama antara Grady Booch, James Rumbaugh, dan Ivar
Jacobson dalam menyusun suatu metodologi yang digunakan untuk membangun
software. RUP sendiri merupakan suatu metodologi pembangunan software.
RUP menyediakan suatu pendekatan untuk menangani pekerjaan dan tanggung
jawab dalam pengembanganan. RUP bertujuan untuk menghasilkan suatu
software yang sesuai dengan kebutuhan dari end-user nya, pada jangka waktu dan
biaya yang terukur.
Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam
praktik terbaik untuk rekayasa perangkat lunak modern, yaitu:
1.
Pengembangan iteratif,
dengan risiko sebagai pemicu iterasi primer
2.
Kelola persyaratan
3.
Terapkan arsitektur
yang berbasis komponen
4.
Visualisasikan model
perangkat lunak
5.
Secara kontinyu,
verifikasi kualitas
6.
Kendalikan perubahan
RUP
menggunakan konsep object oriented, dengan aktifitas yang berfokus pada
pengembangan model dengan menggunakan Unified Model Language (UML).
Dimensi pertama digambarkan
secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan
perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase.
Setiap fase akan memiliki suatu major milestone yang menandakan akhir
dari awal dari fase selanjutnya. Setiap fase dapat berdiri dari satu beberapa
iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction,
dan Transition.
Dimensi kedua digambarkan secara vertikal. Dimensi ini
mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang
dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak
yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting,
yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business
Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment,
Configuration dan Change Manegement, Project Management,
Environtment.
Tahapan-tahapan RUP
Insepsi
Merupakan tahap awal
dari proses Rational Unified Process, melakukan analisis kebutuhan user, dan
melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use
case). Menjawab pertanyaan apakah yang dikerjakan dapat menciptakaan good business
sense sehingga proyek dapat dijalankan.
Elaborasi
Merupakan tahapan
kedua dalam perancangan perangkat lunak mulai dari menspesifikasikan fitur
perangkat lunak hingga perilisan prototype versi Betha dari perangkat lunak
serta Menganalisa risiko dan berbagai persyaratan.
Konstruksi
Tahap ketiga dalam
pengimplementasian perancangan perangkat lunak, pada setiap iterasi juga
melibatkan proses-proses seperti analisa, desain, implementasi, coding.
Transisi
Tahapan terakhir untuk
instalasi, deployment, dan sosialisasi perangkat lunak, melaksanakan apa yang
sudah dimodelkan menjadi suatu produk jadi.
Keuntungan RUP
Keuntungan yang
didapat dengan menggunakan pendekatan iterasi diantaranya adalah : mengurangi
resiko lebih awal, perubahan yang dilakukan lebih mudah diatur, higher level of
reuse, project team memiliki waktu lama untuk memahami sistem yang akan
dibangun, dan menghasilkan kualitas yang lebih baik di segala aspek.
Referensi :
4. Extreme Programming (XP) Model
Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
Menurut Kent Beck XP adalah : “A lightweight,
efficient, low-risk, flexible,
predictable, scientific and fun way to develop software”. Suatu model yang menekankan
pada:
- keterlibatan user secara langsung
- pengujian
- pay-as-you-go design
Adapun empat nilai penting dari XP
1. Communication/Komunikasi: komunikasi antara developer dan klien sering menjadi
masalah. Karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman
berpasangan (pair programming). Developer didampingi oleh pihak klien dalam
melakukan coding dan unit testing sehingga klien bisa terlibat langsung
dalam
pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban
tugas juga diperhitungkan.
2. Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean: “What is
the simplest thing that could possibly work?” Lebih baik melakukan hal
yang sederhana dan mengembangkannya besok jika diperlukan.
Komunikasi yang lebih banyak
mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
3. Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan
tes, unit test
atau system integration dan jangan menunda karena
biaya akan membengkak (uang, tenaga, waktu).
4. Courage / Berani: Banyak ide baru dan berani mencobanya, berani
mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung
diperbaiki.
Kelebihan model Extreme Programming :
l Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan
(pair
programming). Developer didampingi oleh pihak klien dalam melakukan coding
dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman
sambil
berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga
diperhitungkan.
l Menekankan pada kesederhanaan dalam pengkodean: “What is the simplest
thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan
mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan
rancangan yang sederhana mengurangi penjelasan.
l Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration
dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
l Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali
kesalahan ditemukan, langsung diperbaiki.
Kelemahan model Extreme Programming :
l Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
l Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).
REFERENSI
l http://malikah-tutik.blogspot.com/2013/03/model-proses-rekayasa-perangka