SlideShare a Scribd company logo
1 of 27
Download to read offline
Software
Development Agile
topik yang dibahas
• metode Agile
• Rencana-driven dan pengembangan tangkas
• Scaling metode tangkas
pengembangan perangkat lunak yang cepat
• perkembangan yang cepat dan pengiriman sekarang sering kebutuhan yang paling penting untuk
sistem perangkat lunak
• Bisnis beroperasi dalam persyaratan -changing cepat dan praktis tidak mungkin untuk
menghasilkan satu set persyaratan perangkat lunak yang stabil
• Software memiliki berkembang dengan cepat untuk mencerminkan perubahan kebutuhan bisnis.
• pengembangan perangkat lunak yang cepat
• Spesifikasi, desain dan implementasi saling berdaun
• Sistem dikembangkan sebagai rangkaian versi dengan pemangku kepentingan yang terlibat
dalam evaluasi versi
• Antarmuka pengguna sering dikembangkan menggunakan IDE dan toolset grafis.
metode Agile
• Ketidakpuasan dengan overhead yang terlibat dalam metode desain perangkat
lunak dari tahun 1980-an dan 1990-an menyebabkan penciptaan metode
tangkas. metode ini:
• Fokus pada kode daripada desain
• Didasarkan pada pendekatan iteratif untuk pengembangan perangkat lunak
• Dimaksudkan untuk memberikan perangkat lunak bekerja dengan cepat dan berkembang ini
dengan cepat untuk memenuhi perubahan kebutuhan.
• Tujuan dari metode tangkas adalah untuk mengurangi overhead dalam proses
perangkat lunak (misalnya dengan membatasi dokumentasi) dan untuk dapat
merespon dengan cepat perubahan kebutuhan tanpa ulang berlebihan.
manifesto Agile
• Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal
Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal
Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal
itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai:
itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai:
itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai:
• Individu dan interaksi selama proses dan alat Bekerja perangkat
lunak melalui kolaborasi dokumentasi Pelanggan komprehensif atas
negosiasi kontrak Menanggapi berubah selama mengikuti rencana
• Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di
Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di
Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di
sebelah kiri lebih.
Prinsip-prinsip metode tangkas
Prinsip Deskripsi
Keterlibatan Pelanggan Pelanggan harus erat yang terlibat seluruh itu
proses pengembangan. Peran mereka adalah menyediakan dan memprioritaskan
persyaratan sistem baru dan untuk mengevaluasi iterasi dari sistem.
pengiriman bertahap Perangkat lunak ini dikembangkan secara bertahap dengan pelanggan menetapkan
persyaratan untuk dimasukkan dalam setiap kenaikan.
Orang tidak proses Keterampilan tim pengembangan harus diakui dan dimanfaatkan. Anggota tim harus
dibiarkan untuk mengembangkan cara-cara mereka sendiri bekerja tanpa proses
preskriptif.
merangkul perubahan Mengharapkan persyaratan sistem untuk mengubah dan merancang sistem untuk
mengakomodasi perubahan ini.
menjaga kesederhanaan Fokus pada kesederhanaan dalam kedua perangkat lunak yang sedang dikembangkan dan dalam
proses pembangunan. Jika memungkinkan, secara aktif bekerja untuk menghilangkan kompleksitas
dari sistem.
Agile metode penerapan
• Pengembangan produk di mana sebuah perusahaan perangkat lunak
mengembangkan produk kecil atau menengah untuk dijual.
• pengembangan sistem kustom dalam suatu organisasi, di mana ada komitmen
yang jelas dari pelanggan untuk terlibat dalam proses pembangunan dan di
mana tidak ada banyak aturan dan peraturan yang mempengaruhi perangkat
lunak eksternal.
• Karena fokus mereka pada kecil, tim erat terintegrasi, ada masalah dalam skala
metode tangkas untuk sistem yang besar.
Masalah dengan metode tangkas
• Ini bisa sulit untuk menjaga kepentingan pelanggan yang terlibat
dalam proses.
• Anggota tim mungkin tidak cocok untuk keterlibatan intens
yang mencirikan metode tangkas.
• Perubahan memprioritaskan bisa sulit di mana ada beberapa pemangku
kepentingan.
• Menjaga kesederhanaan membutuhkan kerja ekstra.
• Kontrak mungkin menjadi masalah karena dengan pendekatan lain untuk
pengembangan berulang.
metode tangkas dan pemeliharaan
perangkat lunak
• Sebagian besar organisasi menghabiskan lebih pada mempertahankan perangkat lunak yang
ada daripada yang mereka lakukan pada pengembangan perangkat lunak baru. Jadi, jika
metode tangkas adalah untuk menjadi sukses, mereka harus mendukung pemeliharaan serta
pengembangan asli.
• Dua isu kunci:
• Apakah sistem yang dikembangkan dengan menggunakan pendekatan dipertahankan gesit,
diberikan penekanan dalam proses pengembangan meminimalkan dokumentasi resmi?
• Dapat metode tangkas digunakan secara efektif untuk berkembang sistem dalam menanggapi
perubahan permintaan pelanggan?
• Masalah mungkin timbul jika tim pengembangan asli tidak dapat dipertahankan.
Rencana-driven dan
pengembangan tangkas
• pengembangan rencana-driven
• Pendekatan berbasis rencana untuk rekayasa perangkat lunak berbasis di sekitar tahap
perkembangan terpisah dengan keluaran yang akan dihasilkan pada setiap tahap ini
direncanakan terlebih dahulu.
• Belum tentu air terjun Model - rencana-driven, pembangunan inkremental
adalah mungkin
• Iterasi terjadi dalam kegiatan.
• Agile pembangunan
• Spesifikasi, desain, implementasi dan pengujian saling berdaun dan output
dari proses pembangunan diputuskan melalui proses negosiasi selama
proses pengembangan perangkat lunak.
Rencana-driven dan spesifikasi
tangkas
Teknis, manusia,
masalah organisasi
• Sebagian besar proyek mencakup unsur proses rencana-driven dan lincah. Menentukan
keseimbangan tergantung pada:
• Apakah penting untuk memiliki spesifikasi yang sangat rinci dan desain sebelum pindah ke implementasi? Jika
demikian, Anda mungkin perlu menggunakan pendekatan rencana-driven.
• Adalah strategi pengiriman bertahap, di mana Anda memberikan perangkat lunak untuk pelanggan dan
mendapatkan umpan balik yang cepat dari mereka, realistis? Jika demikian, pertimbangkan untuk
menggunakan metode tangkas.
• Berapa besar adalah sistem yang sedang dikembangkan? metode tangkas yang paling efektif bila sistem
dapat dikembangkan dengan tim co-terletak kecil yang dapat berkomunikasi secara informal. Ini mungkin
tidak mungkin bagi sistem besar yang memerlukan tim pengembangan yang lebih besar sehingga
pendekatan berbasis rencana mungkin harus digunakan.
Teknis, manusia,
masalah organisasi
• Apa jenis sistem sedang dikembangkan?
• pendekatan berbasis rencana mungkin diperlukan untuk sistem yang membutuhkan banyak analisis sebelum
pelaksanaan (misalnya sistem real-time dengan persyaratan waktu yang kompleks).
• Apa sistem hidup yang diharapkan?
• sistem lama seumur hidup mungkin memerlukan lebih banyak dokumentasi desain untuk
mengkomunikasikan niat asli dari pengembang sistem untuk tim dukungan.
• teknologi apa saja yang tersedia untuk mendukung pengembangan sistem?
• metode Agile bergantung pada alat yang baik untuk melacak desain berkembang
• Bagaimana tim pengembangan terorganisir?
• Jika tim pengembangan didistribusikan atau jika bagian dari pembangunan yang sedang outsourcing,
maka Anda mungkin perlu untuk mengembangkan dokumen desain untuk berkomunikasi di seluruh tim
pengembangan.
Teknis, manusia,
masalah organisasi
• Apakah ada masalah budaya atau organisasi yang dapat mempengaruhi perkembangan
sistem?
• organisasi teknik tradisional memiliki budaya pembangunan berbasis rencana,
karena ini adalah norma di rekayasa.
• Seberapa baik para desainer dan programer dalam tim
pengembangan?
• Kadang-kadang dikatakan bahwa metode tangkas membutuhkan tingkat keterampilan yang lebih tinggi
daripada pendekatan berbasis rencana di mana programer hanya menerjemahkan desain rinci ke dalam
kode
• Adalah subjek sistem peraturan eksternal?
• Jika sistem harus disetujui oleh regulator eksternal (misalnya FAA menyetujui perangkat lunak yang
sangat penting untuk pengoperasian pesawat udara) maka Anda mungkin akan diperlukan untuk
menghasilkan dokumentasi rinci sebagai bagian dari kasus keselamatan sistem.
manajemen proyek Agile
• Tanggung jawab utama manajer proyek perangkat lunak adalah untuk mengelola proyek
sehingga software disampaikan tepat waktu dan sesuai anggaran yang direncanakan
untuk proyek tersebut.
• Pendekatan standar untuk manajemen proyek adalah rencana-driven. Manajer
menyusun rencana untuk proyek menunjukkan apa yang harus disampaikan, ketika
harus disampaikan dan yang akan bekerja pada pengembangan deliverable
proyek.
• manajemen proyek Agile membutuhkan pendekatan yang berbeda, yang
disesuaikan dengan perkembangan inkremental dan kekuatan tertentu
metode tangkas.
Scaling metode tangkas
• metode Agile telah terbukti berhasil untuk proyek-proyek kecil dan
menengah yang dapat dikembangkan oleh tim colocated kecil.
• Hal ini kadang-kadang berpendapat bahwa keberhasilan metode ini datang karena
komunikasi ditingkatkan yang mungkin ketika semua orang bekerja bersama-sama.
• Scaling up metode tangkas melibatkan perubahan ini untuk mengatasi, proyek lagi
yang lebih besar di mana ada beberapa tim pengembangan, mungkin bekerja di
lokasi yang berbeda.
pengembangan sistem yang besar
• Sistem yang besar biasanya koleksi yang terpisah, berkomunikasi sistem, di mana
tim yang berbeda mengembangkan setiap sistem. Sering, tim ini bekerja di tempat
yang berbeda, kadang-kadang di zona waktu yang berbeda.
• Sistem yang besar adalah 'sistem brownfield', yaitu mereka termasuk dan
berinteraksi dengan sejumlah sistem yang ada. Banyak persyaratan sistem prihatin
dengan interaksi ini dan begitu tidak benar-benar meminjamkan diri untuk
fleksibilitas dan pembangunan inkremental.
• Di mana beberapa sistem yang terintegrasi untuk menciptakan sistem, fraksi yang
signifikan dari pembangunan yang bersangkutan dengan konfigurasi sistem daripada
pengembangan kode asli.
pengembangan sistem besar
• sistem yang besar dan proses pembangunan mereka sering dibatasi oleh aturan
eksternal dan peraturan yang membatasi cara yang mereka dapat dikembangkan.
• Sistem yang besar memiliki pengadaan dan pengembangan waktu yang lama. Hal ini sulit
untuk mempertahankan tim yang koheren yang tahu tentang sistem selama periode tersebut
sebagai, mau tidak mau, orang beralih ke pekerjaan lain dan proyek.
• Sistem yang besar biasanya memiliki satu set beragam pemangku kepentingan. Hal ini praktis
tidak mungkin untuk melibatkan semua pemangku kepentingan yang berbeda dalam proses
pembangunan.
Scaling dan scaling up
• 'Scaling up' prihatin dengan menggunakan metode tangkas untuk mengembangkan sistem
perangkat lunak besar yang tidak dapat dikembangkan oleh sebuah tim kecil.
• 'Scaling out' ini berkaitan dengan bagaimana metode tangkas dapat diperkenalkan di
sebuah organisasi besar dengan pengalaman bertahun-tahun pengembangan
perangkat lunak.
• Ketika skala metode tangkas adalah penting untuk mempertahankan fundamental tangkas
• perencanaan yang fleksibel, sering rilis sistem, integrasi
berkesinambungan, pengembangan tes-driven dan komunikasi tim yang
baik.
Scaling up untuk sistem yang besar
• Untuk pengembangan sistem yang besar, tidak mungkin untuk fokus hanya pada
kode sistem. Anda perlu melakukan lebih up-depan desain dan dokumentasi sistem
• mekanisme komunikasi lintas-tim harus dirancang dan digunakan. Ini harus
melibatkan konferensi telepon dan video biasa antara anggota tim dan sering,
pertemuan elektronik pendek di mana tim memperbarui satu sama lain pada
kemajuan.
• integrasi berkesinambungan, di mana seluruh sistem dibangun setiap kali cek
pengembang dalam perubahan, praktis tidak mungkin. Namun, adalah penting
untuk mempertahankan sistem sering membangun dan rilis reguler dari sistem.
Scaling untuk perusahaan besar
• manajer proyek yang tidak memiliki pengalaman metode tangkas
mungkin enggan untuk menerima risiko pendekatan baru.
• organisasi besar sering memiliki prosedur mutu dan standar yang semua
proyek diharapkan untuk mengikuti dan, karena sifat birokrasi mereka, ini
mungkin tidak sesuai dengan metode tangkas.
• metode Agile tampaknya bekerja dengan baik ketika anggota tim memiliki tingkat
keterampilan yang relatif tinggi. Namun, dalam organisasi besar, ada kemungkinan menjadi
berbagai keterampilan dan kemampuan.
• Mungkin ada resistensi budaya untuk metode tangkas, terutama di
organisasi-organisasi yang memiliki sejarah panjang menggunakan sistem
konvensional proses rekayasa.
Masalah dengan metode tangkas
• Ini bisa sulit untuk menjaga kepentingan pelanggan yang terlibat
dalam proses.
• Anggota tim mungkin tidak cocok untuk keterlibatan intens
yang mencirikan metode tangkas.
• Perubahan memprioritaskan bisa sulit di mana ada beberapa pemangku
kepentingan.
• Menjaga kesederhanaan membutuhkan kerja ekstra.
• Kontrak mungkin menjadi masalah karena dengan pendekatan lain untuk
pengembangan berulang.
Agile metode penerapan
• Pengembangan produk di mana sebuah perusahaan perangkat lunak
mengembangkan produk kecil atau menengah untuk dijual.
• pengembangan sistem kustom dalam suatu organisasi, di mana ada komitmen
yang jelas dari pelanggan untuk terlibat dalam proses pembangunan dan di
mana tidak ada banyak aturan dan peraturan yang mempengaruhi perangkat
lunak eksternal.
• Karena fokus mereka pada kecil, tim erat terintegrasi, ada masalah dalam skala
metode tangkas untuk sistem yang besar.
metode tangkas dan pemeliharaan
perangkat lunak
• Sebagian besar organisasi menghabiskan lebih pada mempertahankan perangkat lunak yang
ada daripada yang mereka lakukan pada pengembangan perangkat lunak baru. Jadi, jika
metode tangkas adalah untuk menjadi sukses, mereka harus mendukung pemeliharaan serta
pengembangan asli.
• Dua isu kunci:
• Apakah sistem yang dikembangkan dengan menggunakan pendekatan dipertahankan gesit,
diberikan penekanan dalam proses pengembangan meminimalkan dokumentasi resmi?
• Dapat metode tangkas digunakan secara efektif untuk berkembang sistem dalam menanggapi
perubahan permintaan pelanggan?
• Masalah mungkin timbul jika tim pengembangan asli tidak dapat dipertahankan.
Rencana-driven dan
pengembangan tangkas
• pengembangan rencana-driven
• Pendekatan berbasis rencana untuk rekayasa perangkat lunak berbasis di sekitar tahap
perkembangan terpisah dengan keluaran yang akan dihasilkan pada setiap tahap ini
direncanakan terlebih dahulu.
• Belum tentu air terjun Model - rencana-driven, pembangunan inkremental
adalah mungkin
• Iterasi terjadi dalam kegiatan.
• Agile pembangunan
• Spesifikasi, desain, implementasi dan pengujian saling berdaun dan output
dari proses pembangunan diputuskan melalui proses negosiasi selama
proses pengembangan perangkat lunak.
manajemen proyek Agile
• Tanggung jawab utama manajer proyek perangkat lunak adalah untuk mengelola proyek
sehingga software disampaikan tepat waktu dan sesuai anggaran yang direncanakan
untuk proyek tersebut.
• Pendekatan standar untuk manajemen proyek adalah rencana-driven. Manajer
menyusun rencana untuk proyek menunjukkan apa yang harus disampaikan, ketika
harus disampaikan dan yang akan bekerja pada pengembangan deliverable
proyek.
• manajemen proyek Agile membutuhkan pendekatan yang berbeda, yang
disesuaikan dengan perkembangan inkremental dan kekuatan tertentu
metode tangkas.
poin kunci
• metode Agile metode inkremental pengembangan yang berfokus pada perkembangan yang
cepat, sering rilis dari perangkat lunak, mengurangi overhead proses dan menghasilkan kode
berkualitas tinggi. Mereka melibatkan pelanggan secara langsung dalam proses pembangunan.
• Keputusan apakah akan menggunakan tangkas atau pendekatan berbasis rencana
pembangunan harus tergantung pada jenis perangkat lunak yang dikembangkan,
kemampuan tim pengembangan dan budaya perusahaan mengembangkan sistem.
• Scaling metode tangkas untuk sistem yang besar adalah sebuah tantangan. sistem yang
besar perlu muka desain dan beberapa dokumentasi.

More Related Content

Similar to RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf

System Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptxSystem Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptx
rifqiarif6
 
Rpl 1-introduction
Rpl 1-introductionRpl 1-introduction
Rpl 1-introduction
f' yagami
 

Similar to RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf (20)

( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptx
 
Perkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginerPerkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginer
 
tugas minggu 8 kelomok 6.pdf
tugas minggu 8 kelomok 6.pdftugas minggu 8 kelomok 6.pdf
tugas minggu 8 kelomok 6.pdf
 
System Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptxSystem Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptx
 
Agile
AgileAgile
Agile
 
Agile
AgileAgile
Agile
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
TGS PSI KLP 7 (2).pptx
TGS PSI KLP 7 (2).pptxTGS PSI KLP 7 (2).pptx
TGS PSI KLP 7 (2).pptx
 
Sim, nella dwi septiani, hapzi ali, sumber daya komputasi dan komunikasi , un...
Sim, nella dwi septiani, hapzi ali, sumber daya komputasi dan komunikasi , un...Sim, nella dwi septiani, hapzi ali, sumber daya komputasi dan komunikasi , un...
Sim, nella dwi septiani, hapzi ali, sumber daya komputasi dan komunikasi , un...
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Rpl 1-introduction
Rpl 1-introductionRpl 1-introduction
Rpl 1-introduction
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
Rd
RdRd
Rd
 
Rad
RadRad
Rad
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Sim, nurul putri pebriani, hapzi ali, sumber daya komputasi dan komunikasi, u...
Sim, nurul putri pebriani, hapzi ali, sumber daya komputasi dan komunikasi, u...Sim, nurul putri pebriani, hapzi ali, sumber daya komputasi dan komunikasi, u...
Sim, nurul putri pebriani, hapzi ali, sumber daya komputasi dan komunikasi, u...
 
0009-P01.pdf
0009-P01.pdf0009-P01.pdf
0009-P01.pdf
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering Drawing
 

More from AhmadFairuzabadi1 (7)

Sistem bilangan dan konversi bilangan.pptx
Sistem bilangan dan konversi bilangan.pptxSistem bilangan dan konversi bilangan.pptx
Sistem bilangan dan konversi bilangan.pptx
 
STATISTIKA - 8.pptx
STATISTIKA - 8.pptxSTATISTIKA - 8.pptx
STATISTIKA - 8.pptx
 
ANM3D-UWG-2020-12.pptx
ANM3D-UWG-2020-12.pptxANM3D-UWG-2020-12.pptx
ANM3D-UWG-2020-12.pptx
 
9. Flutter 1 (Pengenalan Flutter).pptx
9. Flutter 1 (Pengenalan Flutter).pptx9. Flutter 1 (Pengenalan Flutter).pptx
9. Flutter 1 (Pengenalan Flutter).pptx
 
STATISTIKA - 10.pptx
STATISTIKA - 10.pptxSTATISTIKA - 10.pptx
STATISTIKA - 10.pptx
 
APSI - 1.pptx
APSI - 1.pptxAPSI - 1.pptx
APSI - 1.pptx
 
ARVR-UWG-2020-5.pptx
ARVR-UWG-2020-5.pptxARVR-UWG-2020-5.pptx
ARVR-UWG-2020-5.pptx
 

RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf

  • 2. topik yang dibahas • metode Agile • Rencana-driven dan pengembangan tangkas • Scaling metode tangkas
  • 3. pengembangan perangkat lunak yang cepat • perkembangan yang cepat dan pengiriman sekarang sering kebutuhan yang paling penting untuk sistem perangkat lunak • Bisnis beroperasi dalam persyaratan -changing cepat dan praktis tidak mungkin untuk menghasilkan satu set persyaratan perangkat lunak yang stabil • Software memiliki berkembang dengan cepat untuk mencerminkan perubahan kebutuhan bisnis. • pengembangan perangkat lunak yang cepat • Spesifikasi, desain dan implementasi saling berdaun • Sistem dikembangkan sebagai rangkaian versi dengan pemangku kepentingan yang terlibat dalam evaluasi versi • Antarmuka pengguna sering dikembangkan menggunakan IDE dan toolset grafis.
  • 4. metode Agile • Ketidakpuasan dengan overhead yang terlibat dalam metode desain perangkat lunak dari tahun 1980-an dan 1990-an menyebabkan penciptaan metode tangkas. metode ini: • Fokus pada kode daripada desain • Didasarkan pada pendekatan iteratif untuk pengembangan perangkat lunak • Dimaksudkan untuk memberikan perangkat lunak bekerja dengan cepat dan berkembang ini dengan cepat untuk memenuhi perubahan kebutuhan. • Tujuan dari metode tangkas adalah untuk mengurangi overhead dalam proses perangkat lunak (misalnya dengan membatasi dokumentasi) dan untuk dapat merespon dengan cepat perubahan kebutuhan tanpa ulang berlebihan.
  • 5. manifesto Agile • Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal Kami mengungkap cara yang lebih baik untuk mengembangkan software dengan melakukan hal itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai: itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai: itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai: • Individu dan interaksi selama proses dan alat Bekerja perangkat lunak melalui kolaborasi dokumentasi Pelanggan komprehensif atas negosiasi kontrak Menanggapi berubah selama mengikuti rencana • Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di Artinya, sementara ada nilai dalam item pada kanan, kami nilai item di sebelah kiri lebih.
  • 6. Prinsip-prinsip metode tangkas Prinsip Deskripsi Keterlibatan Pelanggan Pelanggan harus erat yang terlibat seluruh itu proses pengembangan. Peran mereka adalah menyediakan dan memprioritaskan persyaratan sistem baru dan untuk mengevaluasi iterasi dari sistem. pengiriman bertahap Perangkat lunak ini dikembangkan secara bertahap dengan pelanggan menetapkan persyaratan untuk dimasukkan dalam setiap kenaikan. Orang tidak proses Keterampilan tim pengembangan harus diakui dan dimanfaatkan. Anggota tim harus dibiarkan untuk mengembangkan cara-cara mereka sendiri bekerja tanpa proses preskriptif. merangkul perubahan Mengharapkan persyaratan sistem untuk mengubah dan merancang sistem untuk mengakomodasi perubahan ini. menjaga kesederhanaan Fokus pada kesederhanaan dalam kedua perangkat lunak yang sedang dikembangkan dan dalam proses pembangunan. Jika memungkinkan, secara aktif bekerja untuk menghilangkan kompleksitas dari sistem.
  • 7. Agile metode penerapan • Pengembangan produk di mana sebuah perusahaan perangkat lunak mengembangkan produk kecil atau menengah untuk dijual. • pengembangan sistem kustom dalam suatu organisasi, di mana ada komitmen yang jelas dari pelanggan untuk terlibat dalam proses pembangunan dan di mana tidak ada banyak aturan dan peraturan yang mempengaruhi perangkat lunak eksternal. • Karena fokus mereka pada kecil, tim erat terintegrasi, ada masalah dalam skala metode tangkas untuk sistem yang besar.
  • 8. Masalah dengan metode tangkas • Ini bisa sulit untuk menjaga kepentingan pelanggan yang terlibat dalam proses. • Anggota tim mungkin tidak cocok untuk keterlibatan intens yang mencirikan metode tangkas. • Perubahan memprioritaskan bisa sulit di mana ada beberapa pemangku kepentingan. • Menjaga kesederhanaan membutuhkan kerja ekstra. • Kontrak mungkin menjadi masalah karena dengan pendekatan lain untuk pengembangan berulang.
  • 9. metode tangkas dan pemeliharaan perangkat lunak • Sebagian besar organisasi menghabiskan lebih pada mempertahankan perangkat lunak yang ada daripada yang mereka lakukan pada pengembangan perangkat lunak baru. Jadi, jika metode tangkas adalah untuk menjadi sukses, mereka harus mendukung pemeliharaan serta pengembangan asli. • Dua isu kunci: • Apakah sistem yang dikembangkan dengan menggunakan pendekatan dipertahankan gesit, diberikan penekanan dalam proses pengembangan meminimalkan dokumentasi resmi? • Dapat metode tangkas digunakan secara efektif untuk berkembang sistem dalam menanggapi perubahan permintaan pelanggan? • Masalah mungkin timbul jika tim pengembangan asli tidak dapat dipertahankan.
  • 10. Rencana-driven dan pengembangan tangkas • pengembangan rencana-driven • Pendekatan berbasis rencana untuk rekayasa perangkat lunak berbasis di sekitar tahap perkembangan terpisah dengan keluaran yang akan dihasilkan pada setiap tahap ini direncanakan terlebih dahulu. • Belum tentu air terjun Model - rencana-driven, pembangunan inkremental adalah mungkin • Iterasi terjadi dalam kegiatan. • Agile pembangunan • Spesifikasi, desain, implementasi dan pengujian saling berdaun dan output dari proses pembangunan diputuskan melalui proses negosiasi selama proses pengembangan perangkat lunak.
  • 12. Teknis, manusia, masalah organisasi • Sebagian besar proyek mencakup unsur proses rencana-driven dan lincah. Menentukan keseimbangan tergantung pada: • Apakah penting untuk memiliki spesifikasi yang sangat rinci dan desain sebelum pindah ke implementasi? Jika demikian, Anda mungkin perlu menggunakan pendekatan rencana-driven. • Adalah strategi pengiriman bertahap, di mana Anda memberikan perangkat lunak untuk pelanggan dan mendapatkan umpan balik yang cepat dari mereka, realistis? Jika demikian, pertimbangkan untuk menggunakan metode tangkas. • Berapa besar adalah sistem yang sedang dikembangkan? metode tangkas yang paling efektif bila sistem dapat dikembangkan dengan tim co-terletak kecil yang dapat berkomunikasi secara informal. Ini mungkin tidak mungkin bagi sistem besar yang memerlukan tim pengembangan yang lebih besar sehingga pendekatan berbasis rencana mungkin harus digunakan.
  • 13. Teknis, manusia, masalah organisasi • Apa jenis sistem sedang dikembangkan? • pendekatan berbasis rencana mungkin diperlukan untuk sistem yang membutuhkan banyak analisis sebelum pelaksanaan (misalnya sistem real-time dengan persyaratan waktu yang kompleks). • Apa sistem hidup yang diharapkan? • sistem lama seumur hidup mungkin memerlukan lebih banyak dokumentasi desain untuk mengkomunikasikan niat asli dari pengembang sistem untuk tim dukungan. • teknologi apa saja yang tersedia untuk mendukung pengembangan sistem? • metode Agile bergantung pada alat yang baik untuk melacak desain berkembang • Bagaimana tim pengembangan terorganisir? • Jika tim pengembangan didistribusikan atau jika bagian dari pembangunan yang sedang outsourcing, maka Anda mungkin perlu untuk mengembangkan dokumen desain untuk berkomunikasi di seluruh tim pengembangan.
  • 14. Teknis, manusia, masalah organisasi • Apakah ada masalah budaya atau organisasi yang dapat mempengaruhi perkembangan sistem? • organisasi teknik tradisional memiliki budaya pembangunan berbasis rencana, karena ini adalah norma di rekayasa. • Seberapa baik para desainer dan programer dalam tim pengembangan? • Kadang-kadang dikatakan bahwa metode tangkas membutuhkan tingkat keterampilan yang lebih tinggi daripada pendekatan berbasis rencana di mana programer hanya menerjemahkan desain rinci ke dalam kode • Adalah subjek sistem peraturan eksternal? • Jika sistem harus disetujui oleh regulator eksternal (misalnya FAA menyetujui perangkat lunak yang sangat penting untuk pengoperasian pesawat udara) maka Anda mungkin akan diperlukan untuk menghasilkan dokumentasi rinci sebagai bagian dari kasus keselamatan sistem.
  • 15. manajemen proyek Agile • Tanggung jawab utama manajer proyek perangkat lunak adalah untuk mengelola proyek sehingga software disampaikan tepat waktu dan sesuai anggaran yang direncanakan untuk proyek tersebut. • Pendekatan standar untuk manajemen proyek adalah rencana-driven. Manajer menyusun rencana untuk proyek menunjukkan apa yang harus disampaikan, ketika harus disampaikan dan yang akan bekerja pada pengembangan deliverable proyek. • manajemen proyek Agile membutuhkan pendekatan yang berbeda, yang disesuaikan dengan perkembangan inkremental dan kekuatan tertentu metode tangkas.
  • 16. Scaling metode tangkas • metode Agile telah terbukti berhasil untuk proyek-proyek kecil dan menengah yang dapat dikembangkan oleh tim colocated kecil. • Hal ini kadang-kadang berpendapat bahwa keberhasilan metode ini datang karena komunikasi ditingkatkan yang mungkin ketika semua orang bekerja bersama-sama. • Scaling up metode tangkas melibatkan perubahan ini untuk mengatasi, proyek lagi yang lebih besar di mana ada beberapa tim pengembangan, mungkin bekerja di lokasi yang berbeda.
  • 17. pengembangan sistem yang besar • Sistem yang besar biasanya koleksi yang terpisah, berkomunikasi sistem, di mana tim yang berbeda mengembangkan setiap sistem. Sering, tim ini bekerja di tempat yang berbeda, kadang-kadang di zona waktu yang berbeda. • Sistem yang besar adalah 'sistem brownfield', yaitu mereka termasuk dan berinteraksi dengan sejumlah sistem yang ada. Banyak persyaratan sistem prihatin dengan interaksi ini dan begitu tidak benar-benar meminjamkan diri untuk fleksibilitas dan pembangunan inkremental. • Di mana beberapa sistem yang terintegrasi untuk menciptakan sistem, fraksi yang signifikan dari pembangunan yang bersangkutan dengan konfigurasi sistem daripada pengembangan kode asli.
  • 18. pengembangan sistem besar • sistem yang besar dan proses pembangunan mereka sering dibatasi oleh aturan eksternal dan peraturan yang membatasi cara yang mereka dapat dikembangkan. • Sistem yang besar memiliki pengadaan dan pengembangan waktu yang lama. Hal ini sulit untuk mempertahankan tim yang koheren yang tahu tentang sistem selama periode tersebut sebagai, mau tidak mau, orang beralih ke pekerjaan lain dan proyek. • Sistem yang besar biasanya memiliki satu set beragam pemangku kepentingan. Hal ini praktis tidak mungkin untuk melibatkan semua pemangku kepentingan yang berbeda dalam proses pembangunan.
  • 19. Scaling dan scaling up • 'Scaling up' prihatin dengan menggunakan metode tangkas untuk mengembangkan sistem perangkat lunak besar yang tidak dapat dikembangkan oleh sebuah tim kecil. • 'Scaling out' ini berkaitan dengan bagaimana metode tangkas dapat diperkenalkan di sebuah organisasi besar dengan pengalaman bertahun-tahun pengembangan perangkat lunak. • Ketika skala metode tangkas adalah penting untuk mempertahankan fundamental tangkas • perencanaan yang fleksibel, sering rilis sistem, integrasi berkesinambungan, pengembangan tes-driven dan komunikasi tim yang baik.
  • 20. Scaling up untuk sistem yang besar • Untuk pengembangan sistem yang besar, tidak mungkin untuk fokus hanya pada kode sistem. Anda perlu melakukan lebih up-depan desain dan dokumentasi sistem • mekanisme komunikasi lintas-tim harus dirancang dan digunakan. Ini harus melibatkan konferensi telepon dan video biasa antara anggota tim dan sering, pertemuan elektronik pendek di mana tim memperbarui satu sama lain pada kemajuan. • integrasi berkesinambungan, di mana seluruh sistem dibangun setiap kali cek pengembang dalam perubahan, praktis tidak mungkin. Namun, adalah penting untuk mempertahankan sistem sering membangun dan rilis reguler dari sistem.
  • 21. Scaling untuk perusahaan besar • manajer proyek yang tidak memiliki pengalaman metode tangkas mungkin enggan untuk menerima risiko pendekatan baru. • organisasi besar sering memiliki prosedur mutu dan standar yang semua proyek diharapkan untuk mengikuti dan, karena sifat birokrasi mereka, ini mungkin tidak sesuai dengan metode tangkas. • metode Agile tampaknya bekerja dengan baik ketika anggota tim memiliki tingkat keterampilan yang relatif tinggi. Namun, dalam organisasi besar, ada kemungkinan menjadi berbagai keterampilan dan kemampuan. • Mungkin ada resistensi budaya untuk metode tangkas, terutama di organisasi-organisasi yang memiliki sejarah panjang menggunakan sistem konvensional proses rekayasa.
  • 22. Masalah dengan metode tangkas • Ini bisa sulit untuk menjaga kepentingan pelanggan yang terlibat dalam proses. • Anggota tim mungkin tidak cocok untuk keterlibatan intens yang mencirikan metode tangkas. • Perubahan memprioritaskan bisa sulit di mana ada beberapa pemangku kepentingan. • Menjaga kesederhanaan membutuhkan kerja ekstra. • Kontrak mungkin menjadi masalah karena dengan pendekatan lain untuk pengembangan berulang.
  • 23. Agile metode penerapan • Pengembangan produk di mana sebuah perusahaan perangkat lunak mengembangkan produk kecil atau menengah untuk dijual. • pengembangan sistem kustom dalam suatu organisasi, di mana ada komitmen yang jelas dari pelanggan untuk terlibat dalam proses pembangunan dan di mana tidak ada banyak aturan dan peraturan yang mempengaruhi perangkat lunak eksternal. • Karena fokus mereka pada kecil, tim erat terintegrasi, ada masalah dalam skala metode tangkas untuk sistem yang besar.
  • 24. metode tangkas dan pemeliharaan perangkat lunak • Sebagian besar organisasi menghabiskan lebih pada mempertahankan perangkat lunak yang ada daripada yang mereka lakukan pada pengembangan perangkat lunak baru. Jadi, jika metode tangkas adalah untuk menjadi sukses, mereka harus mendukung pemeliharaan serta pengembangan asli. • Dua isu kunci: • Apakah sistem yang dikembangkan dengan menggunakan pendekatan dipertahankan gesit, diberikan penekanan dalam proses pengembangan meminimalkan dokumentasi resmi? • Dapat metode tangkas digunakan secara efektif untuk berkembang sistem dalam menanggapi perubahan permintaan pelanggan? • Masalah mungkin timbul jika tim pengembangan asli tidak dapat dipertahankan.
  • 25. Rencana-driven dan pengembangan tangkas • pengembangan rencana-driven • Pendekatan berbasis rencana untuk rekayasa perangkat lunak berbasis di sekitar tahap perkembangan terpisah dengan keluaran yang akan dihasilkan pada setiap tahap ini direncanakan terlebih dahulu. • Belum tentu air terjun Model - rencana-driven, pembangunan inkremental adalah mungkin • Iterasi terjadi dalam kegiatan. • Agile pembangunan • Spesifikasi, desain, implementasi dan pengujian saling berdaun dan output dari proses pembangunan diputuskan melalui proses negosiasi selama proses pengembangan perangkat lunak.
  • 26. manajemen proyek Agile • Tanggung jawab utama manajer proyek perangkat lunak adalah untuk mengelola proyek sehingga software disampaikan tepat waktu dan sesuai anggaran yang direncanakan untuk proyek tersebut. • Pendekatan standar untuk manajemen proyek adalah rencana-driven. Manajer menyusun rencana untuk proyek menunjukkan apa yang harus disampaikan, ketika harus disampaikan dan yang akan bekerja pada pengembangan deliverable proyek. • manajemen proyek Agile membutuhkan pendekatan yang berbeda, yang disesuaikan dengan perkembangan inkremental dan kekuatan tertentu metode tangkas.
  • 27. poin kunci • metode Agile metode inkremental pengembangan yang berfokus pada perkembangan yang cepat, sering rilis dari perangkat lunak, mengurangi overhead proses dan menghasilkan kode berkualitas tinggi. Mereka melibatkan pelanggan secara langsung dalam proses pembangunan. • Keputusan apakah akan menggunakan tangkas atau pendekatan berbasis rencana pembangunan harus tergantung pada jenis perangkat lunak yang dikembangkan, kemampuan tim pengembangan dan budaya perusahaan mengembangkan sistem. • Scaling metode tangkas untuk sistem yang besar adalah sebuah tantangan. sistem yang besar perlu muka desain dan beberapa dokumentasi.