Extreme
Programming
Extreme Programming adalah sebuah pendekatan atau model pengembangan perangkat
lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan
tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus
pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP
mengambil pendekatan ‘ekstrim’ dalam iterative development.
·
Tujuan
XP mencoba untuk mengurangi biaya
perubahan persyaratan dengan memiliki beberapa siklus pengembangan pendek,
bukan yang panjang.Dalam doktrin ini, perubahan adalah aspek alami dari proyek
pengembangan perangkat lunak, yang tak terhindarkan dan diinginkan, dan harus
direncanakan, alih-alih mencoba menentukan seperangkat persyaratan yang stabil.
Program ekstrem juga
memperkenalkan sejumlah nilai dasar, prinsip dan praktik di atas kerangka
pemrograman tangkas.
·
Umpan
Balik
Pemrograman ekstrem melihat umpan
balik sebagai hal yang paling berguna jika dilakukan sesering mungkin dan
segera. Ini
menekankan bahwa penundaan minimal antara tindakan dan umpan baliknya sangat
penting untuk dipelajari dan dilakukan perubahan. Tidak seperti metode pengembangan sistem tradisional, kontak
dengan pelanggan terjadi pada iterasi yang lebih sering. Pelanggan memiliki wawasan yang jelas tentang sistem yang
sedang dikembangkan, dan dapat memberi umpan balik dan mengarahkan perkembangan
sesuai kebutuhan. Dengan umpan balik yang
sering dari pelanggan, keputusan desain yang keliru yang dibuat oleh pengembang
akan diperhatikan dan diperbaiki dengan cepat, sebelum pengembang menghabiskan
banyak waktu untuk menerapkannya.
Tes unit berkontribusi pada
prinsip umpan balik yang cepat. Saat menulis kode, menjalankan tes unit memberikan umpan
balik langsung mengenai bagaimana sistem bereaksi terhadap perubahan yang
dilakukan. Ini termasuk tidak hanya
menjalankan unit test yang menguji kode pengembang, namun juga menjalankan
semua tes unit terhadap semua perangkat lunak, dengan menggunakan proses
otomatis yang dapat diprakarsai oleh satu perintah. Dengan begitu, jika perubahan pengembang menyebabkan
kegagalan pada bagian lain dari sistem yang diketahui pengembang atau yang
tidak sama sekali, suite uji coba semua unit otomatis akan segera mengungkapkan
kegagalan tersebut, memperingatkan pengembang tentang ketidakcocokan
perubahannya dengan bagian lain dari sistem, dan keharusan untuk menghapus atau
memodifikasi perubahannya. Di bawah praktik
pengembangan tradisional, tidak adanya paket uji coba unit otomatis yang
komprehensif berarti bahwa perubahan kode semacam itu, yang dianggap tidak
berbahaya oleh pengembang, akan ditinggalkan, hanya muncul selama pengujian
integrasi - atau lebih buruk lagi, hanya dalam produksi; dan menentukan perubahan kode mana yang menyebabkan masalah,
di antara semua perubahan yang dilakukan oleh semua pengembang selama
minggu-minggu atau bahkan beberapa bulan sebelumnya untuk pengujian integrasi,
merupakan tugas yang berat.
Beberapa
aspek XP telah berubah sejak publikasi Extreme Programming Refactored ; Secara khusus, XP
sekarang mengakomodasi modifikasi terhadap praktik selama tujuan yang
dibutuhkan masih terpenuhi. XP juga
menggunakan istilah yang semakin umum untuk proses. Beberapa berpendapat bahwa perubahan ini menyalahgunakan
kritik sebelumnya;yang lain mengklaim bahwa ini hanya menyiram prosesnya.
Scrum
Scrum adalah salah satu metode rekayasa
perangkat lunak dengan menggunakan prinsip-prinsip pendekatan AGILE, yang
bertumpu pada kekuatan kolaborasi tim, incremental product dan proses iterasi
untuk mewujudkan hasil akhir.
Scrum sendiri
bukan satu-satunya metode yang menggunakan pendekatan AGILE. Mungkin kita juga
pernah mendengar metode Extreme Programming (XP) yang juga menggunakan
pendekatan AGILE dalam rekayasa perangkat lunak. Masing-masing metode memiliki
fokus atau penekanan yang berbeda yang tentu saja dapat dikombinasika untuk
menghasilkan proses yang optimal.
Teknik SCRUM dapat
dilakukan di sebuah kepanitiaan ataupun project lain diluar bisnis teknologi
informasi. Dalam teknik SCRUM terbagi dalam tiga roles, yang pertama adalah
Product Owner, Scrum Master dan Develophment/Scurm Team. Product owner bertugas
mengatur urusan dengan Stakeholder sedangkan Scrum Master mengurusi bagian
internal, di bagian Development Team mengatur urusan teknik pengerjaan project
dan pembahasan yag lebih rinci.
Banyak perusahaan
multinasional menginternalisasi atau mengadopsi teknik ini sebagai standar
bekerja mereka, karena secara umum teknik crum berhasil membuat beberapa
perusahaan menaikan omset karena system yang telah teruji ini. Teknik scrum
membuat pekerjaan anda menjadi lebih tertata dan lebih detail. Namun segala
sesuatu memiliki nilai plun dan minus, begitu juga dengan teknik scrum ini,
scrum menjadikan pekerjaan lebih rapi namun teknik ini tidak cocok diterapkan
pada perusahaan jasa yang butuh deadline cepat. Scrum membuat pekerjaan menjadi
lebih lama dalam estimasi waktu. Namun segala sesuatunya pasti dapat di
selesaikan apabila sudah memiliki persiapan yang matang dari awalnya. Teknik
srum dimulai dari pembahasan project antara Product Owner dengan Stakeholder
terkait, lalu dibentuklah Srum Master dan Team Development. Lahkah pertama yang
dilakukan oleh Scrum master adalah dengan membuat semua list pekerjaan yang
sebut juga dengan User Story, User Stori tersebut dibuat di media yang
dinamakan Backlog yang di tempel di TaskBoard. Setiap
Backlog yang dibuat diberi setimasi dan standar atau tingkat kesulitan, anda
bisa memakai angka 1, 2, 3 dan seterusnya untuk menjelaskan tingkat kesulitan
maupun huruf seperti A, B, C dan lain sebagainya, dan yang paling penting dari
kode ini adalah semua team development harus mengerti maksud kode tersebut.
Setelah dibuat kode maka tugas selanjutnya membuat sprint, sprint adalah
batasan waktu pengerjaan dan jika telah ditetapkan maka teknik scrum tidak
diberkenankan mengubah konspe ditengah jalan
Crystal
Crystal diperkenalkan
oleh Cockburn dan Highsmith, Development yang tidak pada jalur kritis, dapat
menghabiskan waktu lebih, mereka yang memperbaiki produk atau membantu orang
yang ada di jalur proyek kritis.
Karakteristik
Crystal :
1. Secara
aktual sebuah model proses keluarga yang memungkinkan manuver berdasar
karakteristik permasalahan
2. Menyarankan
penggunaan workshop refleksi untuk review kebiasaan kerja tim
3. Selalu
murah dan cepat berkomunikasi secara langsung.
4. Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan menjadi lebih tinggi.
4. Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan menjadi lebih tinggi.
Comments
Post a Comment