SDLC Model Extreme Programming dan Synchronize & Stabilize
Extreme Programming
Perkembangan teknologi informasi yang pesat membawa
pengaruh yang sangat berarti pada kehidupan manusia dewasa ini.
Teknologi informasi memiliki berbagai unsur yang membangunnya menjadi
kesatuan yang kokoh. Salah satu unsur teknologi informasi adalah
perangkat lunak. Perangkat lunak merupakan
kumpulan objek yang membentuk kon gurasi yang dapat berupa program,
dokumen, atau data. Perangkat lunak adalah sesuatu yang dikembangkan,
bukan dibuat secara pabrikan seperti perangkat keras. Pengembangan
perangkat lunak memerlukan langkah-langkah yang tepat, efektif dan e
sien untuk menjamin terpenuhinya kebutuhan user.Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
- Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus.
- Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
- Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa bulan.
- Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan.
- Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
- Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan e fisien
- Software yang berfungsi adalah ukuran utama dari kemajuan proyek
- Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan
- Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
- Kesederhanaan penting
- Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
- Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
- Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya proyek.
- Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
- Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Mengurangi resiko kegagalan implementasi software dari segi non-teknis
- Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
- eXtreme Programming (XP)
- Scrum Methodology
- Crystal Family
- Dynamic Systems Development Method (DSDM)
- Adaptive Software Development (ASD)
- Feature Driven Development (FDD)
Extrem programming dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir. Selainitu XP juga dimunculkan untuk mengatasi berbagai requirements yang tidak jelasdari user. Sebagai sebuahmetodologi untuk mengembangkan peragkat lunak XP tentu memiliki siklus hidup. Siklus hidup pada XP inierdapat lima fase yaitu : Extreme Programming diciptakan oleh Kent Beck selama bekerja di Chrysler MenyeluruhbSistem Kompensasi (C3) proyek penggajian. Beck C3 menjadi pemimpin proyek Maret 1996 dan mulai untuk memperbaiki metode pengembangan yang digunakan dalam proyek dan menulis sebuah buku tentang metode (pada Oktober 1999, Extreme Programming Explained diterbitkan).
Extreme programming memiliki lima nilai yaitu :
- Komunikasi: Nilai ini berfokus pada membangun orang-ke – orang,saling pengertian dari lingkungan
- masalah melalui minimal resmi dokumentasi dan melalui interaksi tatap muka maksimal . Praktek XP
- dirancang untuk mendorong interaksi , pengembang – to- developer dan pengembang – ke-pelanggan .
– Tanggapan : Dalam extreme programming team mendapatkan umpan balik dengan menguji perangkat lunak mereka,memberikan sistem ke pelanggan sedini mungkin dan mengimplementasikan perubahan dan prioritas seperti yang disarankan oleh umpan balik dari pelanggan .
– Keberanian : Pengembang sering mengutip tekanan untuk kapal produk buggy. Itu Dibutuhkan keberanian untuk menolak tekanan ini. Beck juga menyatakan bahwa tim harus berani dan bersedia untuk membuat perubahan di akhir proyek atau bahkan membuang kode dan mulai dari awal lagi.
– Menghormati : Jika anggota tim tidak peduli satu sama lain dan pekerjaan mereka , ada metodologi dapat bekerja . Anda harus menghormati kepada rekan-rekan Anda dan kontribusi mereka , untuk organisasi Anda , untuk orang-orang yang hidupnya tersentuh oleh sistem. Beck mengatakan Praktek adalah bukti dari nilai-nilai Tugas yang dapat dijatuhkan jika kita mendapatkan kendala . Dengan cara ini akan tetap margin keamanan dan memecahkan kasus masalah.
– Seluruh : Tim tim harus terdiri dari anggota dengan semua keterampilan dan perspektif yang dibutuhkan untuk proyek untuk berhasil . Mereka harusmemiliki rasa yang kuat milik , dan harus membantu satu sama lain . Informatif Workspace : ruang kerja harus dilengkapi dengan poster informatif dan hal-hal lain , memberikan informasi tentang status proyek dan pada tugas-tugas yang akan dilakukan.
– Kerja : Berenergi pengembang harus di-refresh , sehingga dapat fokus pada pekerjaan mereka dan menjadi produktif . Akibatnya setiap orang bisa menghabiskan waktu untuk nya atau kehidupan pribadinya sendiri . praktek ini dalam versi lama XP disebut “kecepatan berkelanjutan ” .
– Pair : Programming : kode selalu ditulis oleh dua programmer di salah satu mesin . Praktek ini keluar pada extrme programming asli .
– Tambahan : Desain extreme programming menentang menghasilkan desain yang lengkap di depan .Tim pengembangan menghasilkan kode sesegera mungkin dalam rangka untuk mendapatkan umpan balik dan memperbaiki sistem terus menerus. Desain diperlukan untuk mendapatkan kode yang baik Pertanyaannya adalah ketika merancang XP menyarankan untuk melakukannya secara bertahap selama coding . Cara membantu memperoleh ini adalah untuk menghilangkan duplikasi dalam kode.
- Kelebihan dan Kelemahan Extreme Programing
- Menjalin komunikasi yang baik dengan klien. (Planning Phase)
- Menurunkan biaya pengembangan (Implementation Phase)
- Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
- XP merupkan metodologi yangsemi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan
- kata lain eksibel. (Maintenance Phase)
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan
- Prinsip Dasar Extreme Programming
- Aliran umpan balik (Rapid Feedback)
- Asumsi kesederhanaan (Asume Simplicity)
- Penambahan perubahan (Incremental Change)
- Pemelukan pekerjaan (Embrace Work)
- Kualitas kerja (Quality Work)
- Teach Learning
- Small initial investment
- Play to win
- Cncrete experiments
- Open, honest communication
- Work with people’s instinct not against them
- Accepted responsibility
- Local adaptation
- Travel light
- Honest measurement
Synchronize and Stabilize
Model ini adalah model yang digunakan oleh Microsoft. Secara garis
besar, Model Synchronize and Stabilize ini sama dengan model
incremental, tetapi oleh CUsamano dan Selby tahun 1997 menyebutnya
sebagai model Syncronize and Stabilized Model karena ada beberapa proses
manajemen yang ditekannya oleh microsoft.Analisis kebutuhan dilakukan dengan wawancara dengan sejumlah konsumen yang potensial. Kemudian kebutuhan-kebutuhan tersebut dibuat paket dan disusun daftar secara prioritas. Kemudian spesifikasi ditulis. Selanjutnya pekerjaan dibagi dalam tiga atau empat bagian pembangunan software. Bagian pertama menangani hal-hal yang paling kritis, bagian selanjutnya menangani hal-hal yang krisis selanjutnya, dan seterusnya.
Pada akhirnya, setiap hari dilakukan proses sinkronisasi, yaitu menggabungkan bagian-bagian yang terpisah tersebut kemudian ditesting. Proses stabilisasi dilakukan pada akhir pembangunan setiap bagian. Kesalahan yang terjadi akan diperbaiki, dan tidak akan ada perubahan spesifikasi.
Komentar
Posting Komentar