Anda di halaman 1dari 25

AGILE

ASEP TAUFIK MUHARRAM, M.KOM

Jurusan Teknik Informatika & Komputer


Politeknik Negeri Jakarta
Learning Outcomes

Mahasiswa dapat menjelaskan proses agile


Agility
 Agile : tangkas, cepat, atau ringan
 Agility merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak
 Rule-nya sedikit sehingga mudah dipelajari dan diikut
 Streamline the SDLC (Software Development Life Cycle)
• Menghilangkan pemodel dan dokumentasi yang tidak penting
• Menekankan pengembangan aplikasi yang sederhana dan berulang
Prinsip Agile
1. Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal dan berkelanjutan
dari perangkat lunak

2. Menerima perubahan requirements meskipun perubahan tersebut diminta pada akhir


pengembangan

3. Memberikan perangkat lunak yang sedang dikerjakan dengan sering, beberapa minggu atau
beberapa bulan, dengan pilihan waktu yang paling singkat

4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan
Prinsip Agile
5. Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan
lingkungan dan dukungan yang diperlukan, dan mempercayai mereka sepenuhnya untuk
menyelesaikan pekerjaannya

6. Metode yang paling efektif dan efisien dalam menyampaikan informasi kepada tim
pengembangan adalah dengan komunikasi langsung face-to-face

7. Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan


Prinsip Agile
8. Proses agile memberikan proses pengembangan yang bisa ditopang. Sponsor, pengembang, dan user
harus bisa menjaga ke-konstanan langkah yang tidak pasti

9. Perhatian yang terus menerus terhadap rancangan dan teknik yang baik meningkatkan agility

10. Kesederhanaan –seni untuk meminimalkan jumlah pekerjaan–adalah penting

11. Arsitektur, requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri

12. Pada interval reguler tertentu, tim merefleksikan bagaimana menjadi lebih efektif, kemudian
menyesuaikannya
Proses Agile
Tiga hal penting dalam pengkategorian proses agile:

1. Sulit untuk memprediksi di muka yang persyaratan perangkat lunak akan bertahan dan yang
akan berubah

2. Untuk berbagai jenis perangkat lunak, desain dan konstruksi yang disisipkan

3. Analisis, desain, konstruksi, dan pengujian yang tidak dapat diprediksi (dari titik pencanaan
pandang) seperti yang kita suka
Human Factors in Agile
Sejumlah ciri yang harus dimiliki oleh orang dalam tim agile:
Human Factors in Agile
 Competency: Staf harus kompeten, yaitu, harus memiliki keterampilan khusus perangkat lunak
yang diperlukan dan mengetahui teknologi yang terlibat dalam proyek atau inisiatif tertentu.
 Fokus: semua anggota tim harus fokus pada satu tujuan bersama
 Collaboration : mampu bekerja dengan baik didalam tim
 Decision making: tim pengembangan harus memiliki kebebasan untuk mengendalikan
keputusan yang terbaik untuk penyelesaian masalah teknis dan proyek.
 Fuzzy problemsolving : bisa menyelesaikan permsalahan yang berhubugan dengan fuzzy
 Trust and respect: tim harus konsisten dan harus menunjukkan kepercayaan dan rasa hormat
yang diperlukan untuk membuat tim yang kuat.
 Self organization: tim harus mengatur sendiri semua pekerjaan yang akan dilakukan.
Tujuan Agile
High-value & working App system, diharapkan dapat menghasilkan perangkat lunak yang
mempunyai nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak bisa
berjalan dengan baik.

Iterative, incremental, evolutionary, agile adalah metode pengembangan perangkat lunak yang
iteratif, selalu mengalami perubahan, dan evolusioner.

Cost control & value-driven development, 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.
Tujuan Agile
High-quality production, walaupun biaya pembuatan perangkat lunak bisa ditekan dan proses pembuatan
bisa dipercepat, tetapi kualitas dari perangkat lunak yang dibuat harus tetap dijaga.

Flexible & risk management, jika kita menggunakan metode pembuatan yang biasanya dipakai, jika ingin
mengubah fungsionalitas dari wireframe yang telah dibuat di butuhkan proses yang rumit.

Collaboration, 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.

Self-organizing, self-managing teams, rekrut orang terbaik, beri dan dukung kebutuhan mereka lalu
biarkan mereka bekerja. Itulah perbedaan agile dan SDM lainnya.
Agile Model Process
1. Extreme Programming (XP)
2. Scrum
3. Adaptive Software Development (ASD)
4. Dynamic Systems Development Method (DSDM)
5. Crystal
6. Feature Drive Development (FDD)
7. Lean Software Development (LSD)
8. Agile Modeling (AM)
9. Agile Unified Process (AUP)
Extreme Programming (XP)
Extreme Programming (XP) Value
1. Komunikasi : diperlukan komunikasi antara pengembang dan customer dalam membangun PL
2. Sederhana : memulai perancangan PL dengan hal yang sederhana, dapat menambah fungsi baru
jika ada
3. Umpanbalik :
 Umpan balik dari sistem : menjalankan periodic tes integrasi, sehingga programmer memiliki
umpan balik langsung dari keadaan sistem setelah menerapkan perubahan
 Umpan balik dari pelanggan : Testing direncanakan setiap dua atau tiga minggu sekali
sehingga pelanggan dapat dengan mudah mengarahkan pengembangan
 Umpan balik dari tim : jika terdapat permintaan baru dari pelanggan, tim yang ada dapat
secara langsung memperkirakan waktu implementasi
4. Keberanian : dibutuhkan keberanian untuk praktek mebangun PL.
Scrum
Anggota proyek pada Tim Scrum terdiri
dari 5-9 orang
Sasaran ditentukan dengan fungsi prioritas
yang dipecah menjadi tugas-tugas
terperinci
Tim teroganisi secara mandiri dan anggota
memiliki tanggung jawab bersama untuk
hasilnya
Meningkatkan nilai pasar produk serta
penambahan fungsi baru dapat
disampaikan kepada pelanggan
Board
Adaptive Software
Development (ASD)
1. 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.

2. 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.
 Formal Technique Reviews, tim ASD lengkap melakukan review.
 Postmortems, tim ASD melakukan instrospeksi pada kinerja dan proses
Feature Driven Development
Feature driven development merupakan sebuah
model pengembangan perangkat lunak yang
berdasarkan pada fitur yang akan dibuat.
Keuntungan dari metode feature driven
development:
 User dapat menggambarkan dengan mudah
bentuk sistem yang akan dibuat.
 Dapat diorganisasikan atau diatur ke dalam
kelompok bisnis sesuai hierarki yang ada.
 Desain dan kode lebih mudah diperiksa secara
efektif.
 Perancangan proyek, biaya pembuatan dan
jadwal rilis ditentukan oleh fiturnya.
Kelebihan & Kekurangan Agile
Beberapa kelebihan dari agile diantaranya :
 82% Menambah produktivitas tim.
 77% Menambah kualitas perangkat lunak.
 78% Menambah kepuasan klien.
 37% Menghemat biaya.
Sedangkan kekurangan dari agile antara lain:
 Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
 Tidak cocok dalam skala tim yang besar (>20 orang).
 Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
Thank You
Tugas
1. Jelasakan Apa yang anda ketahui tetang Agile..?
2. Sebutkan dan Jelasakan Siapa saja yang terlibat dalam Scrum..?
3. Sebutkan dan Jelasakan Apa saja Scrum Event..?

Anda mungkin juga menyukai