"Dadi, aku arep nyritakake babagan Agile lan Scrum ."

"Ing awal abad kaping 21, cara wong mikir babagan programing dibalik."

"Kabeh wong yakin manawa rencana jangka panjang ora bisa digunakake, mula dheweke mutusake kanggo ninggalake kabeh."

"Kadospundi piyambakipun nindakaken?"

"Lha piye carane."

"Dheweke nemokake pendekatan manajemen proyek sing paling fleksibel."

Mangkene ide utama ing mburi pangembangan tangkas : "

  • wong lan komunikasi luwih penting tinimbang proses lan piranti;
  • produk sing bisa digunakake luwih penting tinimbang dokumentasi lengkap;
  • kolaborasi karo pelanggan luwih penting tinimbang ngrampungake syarat kontrak;
  • kekarepan kanggo ngganti luwih penting tinimbang tetep ing rencana asli.

Ing ngisor iki prinsip pangembangan cepet:

  • gawe marem customer kanthi nyediakake piranti lunak terkenal awal lan terus-terusan;
  • welcome owah-owahan ing syarat malah ing mburi pembangunan (iki bisa nambah daya saing produk pungkasan);
  • ngirim piranti lunak sing bisa digunakake kanthi kerep (saben sasi utawa minggu utawa luwih kerep);
  • nutup komunikasi saben dina antarane pelanggan lan pangembang ing kabeh proyek;
  • proyek kasebut digarap dening individu sing duwe motivasi sing diwenehake karo kahanan kerja, dhukungan, lan kepercayaan sing dibutuhake;
  • cara sing disenengi kanggo komunikasi informasi yaiku obrolan pribadi (pasuryan);
  • piranti lunak sing digunakake minangka ukuran kemajuan sing paling apik;
  • sponsor, pangembang, lan pangguna kudu bisa njaga kacepetan sing tetep kanggo wektu sing ora ditemtokake;
  • fokus konstan kanggo ningkatake keunggulan teknis lan desain sing ramah pangguna;
  • gamblang iku seni ora nindakake karya superfluous;
  • syarat teknis, desain, lan arsitektur paling apik teka saka tim sing diatur dhewe;
  • adaptasi pancet kanggo owah-owahan kahanan.

"Masalah utama pangembangan piranti lunak yaiku ing tahap apa wae ora ana peserta sing duwe informasi lengkap babagan apa sing kudu ditindakake."

"Pelanggan bisa menehi pitutur marang kowe carane dheweke mbayangake program kasebut, nanging dheweke bakal ninggalake apa wae utawa njupuk apa wae."

"Manajer umume kudu nerjemahake syarat saka jargon pemrograman menyang basa pelanggan lan bali maneh."

"Ana akeh kahanan sing durung mesthi."

"Asring syarat pelanggan kaya mangkene: tindakake kanthi cara, banjur tuduhake - yen aku ora seneng, sampeyan bisa nggawe maneh."

"Wah... ngeri banget."

"Miturut paradigma anyar, programer ora ngembangake produk utawa program maneh. Nanging, dheweke nindakake fungsi sing dibutuhake pelanggan."

"Apa bedane?"

“Wah, upamane pembangunan program kuwi maune butuh setaun. Lan nem sasi kudu dilewati sadurunge ana apa-apa sing kudu dideleng. Iku kaya mbangun omah gedhe: pisanan, sampeyan ndhudhuk jugangan kanggo pondasi, banjur pour pondasi, mbangun tembok, atap, trim, lsp."

"Nanging saiki programer nyoba ngeculake fungsi sing dibutuhake sanalika bisa. Iki bakal kaya pisanan mbangun gubug, banjur omah seluler, banjur omah cilik, lan mung banjur omah gedhe - kanthi cicilan."

"Ngelingi manawa pelanggan ora ngerti apa sing dikarepake, mula iki minangka pendekatan sing cukup."

"Saumpama pelanggan pengin pondokan mburu gedhe."

"Para pangembang mbangun dheweke cilik. Dheweke manggon ing kono kanggo mangsa. Banjur dheweke mutusake yen dheweke ora seneng karo omah kayu. Ayo nggawe sing digawe saka bata."

"Dheweke manggon cedhak tlaga kanggo mangsa panas, nanging lemut mangan dheweke urip-urip. Dheweke wis krungu ing endi wae yen tlaga iku kelangan, mula dheweke kepengin duwe. Nanging saiki dheweke ora pengin tlaga. Lan bakal luwih gampang kanggo mbangun. omah kanthi cara iki: ora ana tlaga tegese ora ana ancaman banjir, lan sampeyan bisa mbangun omah ing lemah tinimbang ing panggung, sing bakal 25% luwih cepet."

"Analogi sing menarik. Apa pelanggan pancene ngganti syarat sing asring?"

"Ya, nanging masalahe dudu pelanggan."

"Kaping pisanan, angel banget kanggo mbayangno kepiye kedadeyan ing mangsa ngarep. Manajer, penguji, lan programer kabeh uga nindakake iki. Dheweke uga ngganti pikirane gumantung kepiye carane."

"Kapindho, apa dudu syarat pelanggan sing paling penting?  Sawise kabeh , tujuan kabeh karya iki yaiku nggawe apa sing dibutuhake pelanggan , dudu apa sing dikandhakake nggawe ."

"Pancen, biyen kerjane kaya iki: analis bisnis bakal nggawe dhaptar kabeh syarat. Dheweke bakal kalebu dhaptar iki ing kontrak, mlebu, lan mung makarya miturut dhaptar."

"Yen dhaptar kasebut ora ana barang sing dibutuhake pelanggan nanging wis lali, ora ana sing bakal nindakake apa-apa."

"Aku ngerti. Iku luwih gampang kanggo tindakake rencana, nanging ora kabeh bisa rampung miturut rencana!"

"Pancen."

"Mulane metode pangembangan tangkas diciptakake."

"Lan dina iki aku bakal nyritakake babagan Scrum - sing paling populer ing antarane.

"Fitur utama Scrum yaiku divisi pangembangan proyek dadi iterasi cilik - biasane 2-4 minggu. Saben iterasi diarani sprint."

"Ing wiwitan sprint, rapat perencanaan sprint dianakake. Wektune 3-4 jam."

"Ing pungkasan, ana demonstrasi kabeh tugas sing wis rampung."

"Iki carane kabeh biasane dianggo:"

"Sadurunge sprint pisanan, pelanggan (utawa wakil saka pelanggan) nggawe dhaptar syarat, yaiku sakumpulan perkara sing kudu bisa ditindakake dening program. Persyaratan kasebut biasane disebut crita pangguna , lan pelanggan biasane disebut pemilik produk ."

"Dheweke diarani pemilik produk , amarga produk kasebut ditulis kanggo dheweke. Dheweke, lan dheweke dhewe, nemtokake dhaptar syarat - apa, kapan, lan ing urutan apa."

"Kajaba iku, pamilik produk biasane menehi prioritas tugas. Tugas kanthi prioritas paling dhuwur bakal dileksanakake dhisik. Kabeh dhaptar syarat kasebut uga disebut backlog produk ."

"Nalika sprint diwiwiti, kabeh wong ngumpul kanggo rapat. Master scrum , biasane anggota tim, biasane mimpin rapat kasebut. Tujuan rapat kasebut yaiku milih tugas ( crita pangguna ) kanggo sprint saiki (pengembangan pembangunan). "

"Kaping pisanan, tim nemtokake saben tugas minangka perkiraan kasar ing dina-dina abstrak, uga dikenal minangka titik crita.  Banjur tim nemtokake jumlah tugas sing bakal ditindakake sajrone sprint."

"Maneh, tim kasebut dhewe sing mutusake pirang-pirang tugas sing bakal ditindakake sajrone sprint."

"Ayo yen pemilik produk ngarepake tim kasebut milih 7 tugas pisanan nanging mung milih 5, banjur tugas 6 lan 7 ditundha menyang sprint sabanjure. Yen ora cocog karo pemilik produk , dheweke bisa ngunggahake prioritas tugas. 6 lan 7 kanggo mesthekake yen dheweke dipilih, nanging sawetara tugas liyane bakal metu saka sprint."

" Master scrum uga bisa ngusulake kanggo ngilangi sawetara tugas dadi luwih cilik lan nyetel prioritas sing beda kanggo nggawe pemilik produk seneng-seneng."

"Iki titik rapat: tugas bisa diganti lan dibagi, prioritas bisa diganti, lan liya-liyane. Iki minangka karya sing ora katon ing wiwitan, nanging nggawa akeh nilai."

"Get it. Iku kaya nyopir mobil. Sanajan wiwitane yakin mung kudu lurus, nyatane sampeyan kudu terus-terusan nyingkiri potholes, setir nengen lan ngiwa, lan ngliwati wong liya utawa ngidini sampeyan ngliwati sampeyan."

"Ya, kaya ngono."

"Dhaptar tugas sing dipilih kanggo sprint diarani sprint backlog ."

"Programer mutusake sapa sing bakal nindakake apa, lan mung banjur bisa kerja. "Kanggo nambah efisiensi, Scrum nyaranake yen rapat 5-15 menit dianakake saben dina ing ngendi saben wong bisa ngomong apa sing ditindakake wingi lan apa sing ditindakake. arep ditindakake dina iki."

"Kerja tim. Aku bisa ngajeni!"

"Kanggo nggawe samubarang luwih gampang kanggo nggambarake, biasane dianjurake kanggo nampilake status sprint saiki ing papan khusus:"

Agile, scrum, grojogan - 2

"Elinga telung kolom ing sisih kiwa."

"Jeneng tugas sing disingkat ditulis ing cathetan tempel. Lan cathetan tempel diselehake ing kolom sing beda-beda gumantung saka statuse (direncanakake, lagi ditindakake, rampung)."

"Ing sisih tengen, sampeyan bisa ndeleng grafik burndown . Kanggo saben dina, bagan iki nyathet tugas sing isih dibatalake. Saenipun, jumlah tugas sing ora rampung mudhun dadi nol sajrone sprint."

"Nalika sprint rampung, scrum-master menehi demo kanggo nuduhake dhaptar kabeh sing wis rampung rampung."

"Banjur dheweke nganakake rapat retrospektif sprint , sing uga suwene sawetara jam. Sajrone rapat iki, para peserta biasane nyoba ngerteni apa sing apik lan apa (lan kepiye) bisa ditindakake kanthi luwih apik."

"Biasane sawise 2-3 sprint, sampeyan bisa ngenali lan ngilangi masalah utama supaya tim ora bisa kerja kanthi luwih efisien. Iki nyebabake produktivitas sing luwih gedhe tanpa nambah beban kerja tim.  Iki ora bisa ditindakake sadurunge jaman metodologi tangkas. "

"Kadhangkala rapat dandan uga dianakake sajrone sprint. Tujuane kanggo ngrancang sprint sabanjure. Peserta biasane njlentrehake prioritas tugas ing rapat iki. Dheweke uga bisa pamisah sawetara tugas dadi bagean lan / utawa nambah tugas anyar menyang backlog produk . "

"Inggih, punika Sejatine kabeh aku duwe. Iki mung ringkesan. Iku mokal kanggo nerangake kabeh mung sawetara tembung, nanging sampeyan bisa maca artikel apik ing subyek kene: "

https://en.wikipedia.org/wiki/Scrum_(software_development)