Pengembangan tangkas: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Baris 22:
 
Pengertian dari Agile Alliance's Manifesto<ref name=manifesto>[http://agilemanifesto.org/ ''Agile Manifesto'']. Diakses dari situs wikipedia pada 5 November 2013</ref> dijelaskan di bawah ini:
* '''Interaksi dan personel''' lebih penting dari pada proses dan alat, di dalam agile interaksi antar anggota tim sangatlah penting, karena tanpa adanya interaksi yang baik maka proses pembuatan perangkat lunak tidak akan berjalan sesuai rencana.
 
* '''Perangkat lunak yang berfungsi''' lebih penting daripada dokumentasi yang lengkap, saat melakukan proses demonstrasi kepada klien, perangkat lunak yang berfungsi dengan baik akan lebih berguna daripada dokumentasi yang lengkap.
 
* '''Kolaborasi dengan klien''' lebih penting dari pada negosiasi kontrak, salah satu ciri dari agile adalah klien menjadi bagian dari tim pengembangan perangkat lunak. Kolaborasi yang baik dengan klien saat proses pembuatan perangkat lunak sangatlah penting ketika menggunakan agile. Karena fungsi-fungsi dari perangkat lunak yang dikembangkan harus terus menerus dibicarakan dan diimprovisasi disesuaikan dengan keinginan klien.
 
* '''Respon terhadap perubahan''' lebih penting daripada mengikuti rencana, ''agile development methods'' berfokus terhadap kecepatan respon tim ketika klien menginginkan perubahan saat proses pembuatan perangkat lunak.
 
Agar suatu tim berhasil dalam menerapkan ''agile development methods'', maka tim tersebut harus mengikuti dua belas prinsip yang ditetapkan oleh '''Agile Alliance''',<ref name=manifesto>[http://agilemanifesto.org/ ''Agile Manifesto'']. Diakses dari situs wikipedia pada 5 November 2013</ref> yaitu :
Baris 149:
 
Secara garis besar tujuan dirumuskannya ''agile development methods'',<ref>Collier, K.(2011).''Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing''.USA:Addison-Wesley.</ref> yaitu :
# '''Bernilai'''High-value tinggi& danworking aplikasiApp sistem kerjasystem''''', diharapkan dengan memakai ''agile development methods'' dapat dihasilkan perangkat lunak yang mempunyai nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak bisa berjalan dengan baik.
# '''Iteratif''Iterative, inkremental danincremental, evolusionerevolutionary''''', ''agile'' adalah metode pengembangan perangkat lunak yang iteratif, selalu mengalami perubahan, dan evolusioner. Tim harus bekerja dalam waktu yang singkat(biasanya 1-3 minggu) dan juga selalu menambah fungsionalitas dari perangkat lunak sesuai dengan kebutuhan klien. ''Agile'' dapat dianalogikan ketika seseorang ingin pergi ke suatu kota dan dia tidak tahu jalannya. Lalu bagaimana dia bisa sampai tujuan? Dengan sering bertanya kepada orang yang dia temui dijalan hingga dia sampai di tempat tujuan.
# '''Kontrol''Cost biayacontrol dan& pengembanganvalue-driven berbasis nilaidevelopment''''', salah satu tujuan dari ''agile'' yaitu pengembangan perangkat lunak disesuaikan dengan kebutuhan pengguna, tim bisa dengan cepat merespon kebutuhan yang diinginkan pengguna sehingga waktu dan biaya pembuatan perangkat lunak bisa dikontrol.
# '''Produksi''High-quality berkualitas tinggiproduction''''', walaupun biaya pembuatan perangkat lunak bisa ditekan dan proses pembuatan bisa dipercepat , tetapi kualitas dari perangkat lunak yang dibuat harus tetap dijaga. Dengan melakukan tes setiap fungsionalitas perangkat lunak setelah selesei dibuat berarti ''agile'' juga mengakomodir kebutuhan ini.
# '''Fleksibel''Flexible dan& pengelolaanrisk resikomanagement''''', jika kita menggunakan metode pembuatan yang biasanya dipakai, jika ingin mengubah fungsionalitas dari ''wireframe'' yang telah dibuat di butuhkan proses yang rumit. Mulai dari pertemuan dengan sistem analis untuk merubah sistem perangkat lunak, perubahan rencana rilis produk hingga perubahan biaya produksi. Pertemuan dengan klien untuk melakukan tes perangkat lunak juga sering dilakukan sehingga fungsionalitas perangkat lunak mudah diubah dan akhirnya kegagalan perangkat lunakpun bisa diminimalisir.
# '''Kolaborasi''Collaboration''''', dengan menggunakan ''agile'', tim pengembang diharuskan sering bertemu untuk membahas perkembangan proyek dan feedback dari klien yang nantinya akan ditambahkan dalam perangkat lunak, sehingga tim bisa berkolaborasi dengan maksimal.
# '''Mengatur''Self-organizing, disiself-managing sendiri dan mengelola tim sendiriteams''''', rekrut orang terbaik, beri dan dukung kebutuhan mereka lalu biarkan mereka bekerja. Itulah perbedaan ''agile'' dan SDM lainnya. Dengan ''agile'', ''developer'' dapat memanajemen dirinya sendiri, sedangkan manajer tim hanya bertugas mengkolaborasikan ''developer'' perangkat lunak dengan klien. Sehingga terciptalah tim yang solid.
 
==Bagaimana agile bekerja==