Pengembangan tangkas: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Tidak ada ringkasan suntingan
Baris 54:
* Agile Modeling
* Adaptive Software Development (ASD)
:Adaptive software development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari ''adaptive software development'' adalah kolaborasi manusia dan tim yang mengatur diri sendiri. Sistem kerja ''adaptive software development'' : collaboration dan learning. '
''Adaptive cycle planning'' yaitu menggunakan informasi awal seperti misi dari klien, batasan proyek dan kebutuhan dasar untuk mendefinisikan perangkat lunak yang ingin dibuat secara berkala.
 
:#Collaboration : orang-orang yang bermotivasi tinggi bekerja sama, saling melengkapi, rela membantu, kerja keras, terampil di bidangnya, dan komunikasikan masalah untuk menyelesikan masalah secara efektif.
 
:#Learning: tim developer sering merasa sudah tahu semua hal tentang proyek, padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang proyek melalui tiga cara:
:#Fokus grup, klien dan pengguna memberi masukan terhadap perangkat lunak.
Baris 88 ⟶ 85:
* Rational Unified Process (RUP)
:''Rational unified process'', adalah suatu kerangka pengembangan perangkat lunak iteratif yang dibuat oleh '''Rational Software''', suatu divisi dari IBM sejak 2003. ''Rational unified process'' bukanlah suatu proses dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh tim pengembang perangkat lunak yang akan memilih elemen proses disesuaikan dengan kebutuhan mereka.Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis, disain, implementasi dan pengujian) pada tiap komponen. Dengan menggunakan model ini, ''Rational unified process'' membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase sebagai berikut.
:#Inception, merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem, perumusan target dari sistem yang dibuat, identifikasi kebutuhan, perumusan kebutuhan pengujian, pemodelan diagram UML, dan pembuatan dokumentasi.
:#Elaboration, merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil analisis di tahap ''inception''. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan disain arsitektur subsistem, disain komponen sistem, disain format data disain database, disain antarmuka/tampilan, disain peta tampilan, penentuan ''design pattern'' yang digunakan, pemodelan diagram UML, dan pembuatan dokumentasi.
:#Construction, merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian hasil implementasi. Pada tahap awal ''construction'', ada baiknya dilakukan pemeriksaan ulang hasil analisis dan disain, terutama disain pada diagram ''sequence,class, component, dan deployment''. Apabila disain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrograman tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan disain (misal menggunakan ''class responsibility collaborator'' untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
Baris 165 ⟶ 162:
Untuk memperdalam pengetahuan tentang ''agile development methods'', anda bisa mengunjungi website di bawah ini<ref>Taymor, E.''Agile Handbook''.USA:Philosophie.</ref> :
*[http://pragprog.com/book/jtrap/the-agile-samurai The agile samurai]
**: Secara garis besar buku ini menjelaskan tentang :
*** Cara membuat perencanaan dan jadwal pembuatan aplikasi.
*** Karakteristik untuk membuat tim yang tangkas dan bisa memanajemen dirinya sendiri.
*** Bagaimana cara mengumpulkan persyaratan yang dibutuhkan dengan lebih cepat.
*** Apa yang harus dilakukan ketika menemukan perencanaan yang tidak sesuai, dan bagaimana dapat mengoreksinya dengan benar.
*** Bagaimana mengeksekusi rencana yang ada dengan sumber daya yang tersedia dengan tepat.
*[http://agilemanifesto.org The agile manifesto]
**: Merupakan salah situs yang wajib dibaca bila anda ingin belajar tentang ''agile development methods'', didalamnya anda dapat menemukan informasi diantaranya :
*** Cara untuk mengembangkan perangkat dengan menggunakan prinsip-prinsip dari agile.
*** Bagaimana tim berinteraksi selama proses pembuatan perangkat lunak.
*** 12 prinsip ''agile manifesto''.
*[http://linkedin.com/groups/Agile-Lean-Software-Development-37631 Agile and lean software development linkedin group]
*[http://theleanstartup.com Lean startup]
*[http://www.pivotaltracker.com Pivotal tracker]
**: ''Pivotal tracker'' merupakan perangkat lunak [https://en.wikipedia.org/wiki/Agile_management agile project management] dari ''Pivotal Lab.''Di dalam perangkat lunak ini terdapat berbagi file dan fungsionalitas manajemen tugas, pelacakan kecepatan dan perencanaan iterasi, penanda rilis, dan grafik kemajuan.
** Di dalam perangkat lunak ini terdapat berbagi file dan manajemen tugas, pelacakan kecepatan dan perencanaan iterasi, penanda rilis, dan grafik kemajuan.
*[http://trello.com Trello]
**: Trello merupakan layanan berbasis web yang bisa membantu kita dalam memanajemen proyek yang kitasedang kembangkandikembangkan baik sendiri atau dalam suatu tim. Di Trello kita dapat membuat pekerjaan lebih fokus dan terarah.
** Di Trello ini dapat membuat pekerjaan kita sendiri maupun pekerjaan dengan tim lebih fokus dan terarah.
*[http://asana.com Asana]
**: Asana merupakan aplikasi alternatif yang sederhana dan intuitif untuk manajemen kerja, baik dalam tim maupun sendiri.
*[https://en.wikipedia.org/wiki/Iterative_and_incremental_development Iterative and incremental development]
**: Salah satu model pengembangan softwareperangkat lunak dimana pada model ini berawal dari suatu proses perencanaan dan berakhir pada proses ''deployment''
*[http://id.wikipedia.org/wiki/Iterasi Iterasi]