JavaRush /Blog Jawa /Random-JV /Metodologi pangembangan piranti lunak

Metodologi pangembangan piranti lunak

Diterbitake ing grup
Halo. Ing rong wawancara pungkasan, aku ditakoni babagan metodologi. Iki dudu pitakonan sing paling penting utawa angel, nanging luwih becik yen ana lembar ngapusi kanggo jawaban kasebut. Ing artikel iki, aku bakal nyoba menehi ide babagan metodologi pangembangan lan mbandhingake sing wis daktemu utawa ditakoni. Metodologi pangembangan piranti lunak - 1Metodologi pangembangan piranti lunak minangka proses njlentrehake kepiye produk tartamtu bakal dikembangake, yaiku, salah sawijining cara kanggo ngatur pangembangan tim. Ana macem-macem model saka proses kuwi, saben kang njlèntrèhaké pendekatan dhewe, lan ora bisa ngandika sing ing antarane wong-wong mau ana siji sing kudu digunakake ing saben project, kabeh iku sejatine sifate kahanan. Aku propose kanggo nimbang telu mau ing liyane rinci.

grojogan

Grojogan (cascade, grojogan) minangka salah sawijining metodologi sing paling tuwa lan nuduhake implementasi sekuensial sing ketat ing kabeh tahapan, sing saben kudu rampung sadurunge sing sabanjure diwiwiti. Yaiku, transisi menyang tahap sabanjure tegese ngrampungake karya sing sadurunge. Gambar kasebut nuduhake yen pisanan kita nganalisa tugas (tugas dokumentasi, ngrembug kesulitan), banjur desain (ing tahap iki struktur proyek dibentuk), banjur coding lan testing. Ora ana mbalekaken kanggo tahap sabanjure. Disaranake nggunakake sistem kasebut ing proyek-proyek cilik sing syarat-syarat kasebut wis dingerteni sadurunge lan ora ana kemungkinan bakal diganti. Metodologi pangembangan piranti lunak - 2Kaluwihan:
  • Dokumentasi lengkap lan konsisten ing saben tahap;
  • Gampang nggunakake;
  • syarat stabil.
  • Anggaran lan tenggat wektu wis ditemtokake
Cacat:
  • A jumlah gedhe saka dokumentasi;
  • Ora sistem banget fleksibel;
  • Klien ora bisa ndeleng versi demo produk;
  • Ora ana cara kanggo mundur selangkah.

Scrum

Scrum minangka sistem pangembangan piranti lunak adhedhasar mbagi kabeh proses dadi iterasi, ing pungkasane saben tim siap nyedhiyakake versi demo produk kasebut. Gambar kasebut nuduhake manawa tim kasebut ngliwati kabeh tahapan pembangunan kanthi paralel, sing ngidini kita duwe bagean rampung saka proyek kasebut ing pungkasan saben pengulangan. Metodologi pangembangan piranti lunak - 3Aku bakal nyoba kanggo njlèntrèhaké sedhela ing tembung prasaja inti saka metodologi, nanging ana akeh istilah ing kene. Aku sing paling penting yaiku ngerti inti, lan istilah kasebut bakal dielingi kanthi pengalaman. Kabeh pembangunan dipérang dadi sprint (asring 2-3 minggu). Ana backlog (dhaptar tugas) kanggo kabeh periode pangembangan lan kanggo saben sprint kanthi kapisah. Saben tugas duwe titik crita dhewe (rating kesulitan). Saben peserta ing proses kasebut nduweni peran:
  • Tim Scrum minangka tim sing nggarap proyek (pangembang, penguji, perancang).
  • Master Scrum minangka wong sing njamin supaya prinsip Scrum ditindakake.
  • Pemilik produk - pelanggan.
Amarga ing sistem iki penekanan ing komunikasi, ana akeh rapat umum:
  • Stand-up minangka rapat singkat, dianakake saben dina, kabeh anggota tim melu lan saben peserta njawab 3 pitakonan: apa sing sampeyan tindakake? Apa sing bakal ditindakake? Lan apa blockers?
  • Perencanaan - dianakake ing wiwitan sprint lan ing rapat iki ditemtokake tugas apa sing kudu dirampungake ing sprint sabanjure.
  • Retrospektif ditindakake ing pungkasan sprint lan intine yaiku kanggo ngerteni apa sing ditindakake kanthi apik lan apa sing bisa ditambah.
Kaluwihan:
  • Pelanggan bisa mirsani asil sajrone proses pangembangan.
  • Kontrol saben dina babagan proses pangembangan.
  • Kemampuan kanggo nggawe pangaturan sajrone pangembangan.
  • Komunikasi sing mapan karo kabeh anggota tim.
  • Jumlah cilik saka dokumentasi.
Cacat:
  • Sulit kanggo ngira tenaga kerja lan biaya sing dibutuhake kanggo pembangunan
  • Iku angel kanggo nemtokake bottlenecks paling gedhe sadurunge pembangunan diwiwiti.
  • Keperluan kanggo melu kabeh wong ing pangembangan anggota tim liyane.

Kanban

Kanban minangka sistem sing dibangun kanggo nggambarake proses ngrampungake tugas tim. Gagasan utama ing sistem iki yaiku nyuda jumlah tugas sing saiki ditindakake (ing kolom "in progress"). Ing Scrum, tim fokus kanggo ngrampungake sprint kanthi sukses; ing Kanban, tugas luwih dhisik. Apik kanggo proyek sing ana ing tahap dhukungan, ing ngendi fungsi utama wis dikembangake lan perbaikan minimal lan perbaikan bug tetep. Ing Kanban, tugas dikirim kanthi individu. Tugas kasebut, preduli saka tugas liyane, ngliwati kabeh tahapan ing papan lan yen wis rampung, bisa ditampilake menyang pelanggan. Papan Kanban kasusun saka kolom, sing saben makili proses pangembangan sing kapisah. Sawetara kolom (contone, ing proses) nemtokke watesan ing jumlah tugas sing bisa ana. Iki mbantu kanthi gampang lan cepet nemokake wilayah masalah ing distribusi tugas. Gambar kasebut nuduhake conto papan sing prasaja. Jumlah kolom lan jeneng bisa beda-beda, nanging aku bakal menehi jeneng sing paling umum: Metodologi pangembangan piranti lunak - 4
  • Kanggo nindakake - dhaptar tugas sing kudu ditindakake
  • Ing proses - tugas sing saiki lagi digarap
  • Review kode - tugas sing wis rampung lan dikirim kanggo review
  • Ing testing - tugas siap kanggo testing
  • Rampung - tugas rampung.
Kaluwihan:
  • Ease saka nggunakake.
  • Visualisasi (mbantu nemokake bottlenecks, nyederhanakake pangerten)
  • Keterlibatan tim sing dhuwur ing proses kasebut dhewe.
  • Fleksibilitas dhuwur ing pembangunan.
Cacat:
  • Dhaptar tugas sing ora stabil.
  • Iku angel digunakake ing proyek jangka panjang.
  • Ora ana deadline sing angel.

Ing kesimpulan babagan metodologi pangembangan piranti lunak

Ing mratelakake panemume, wong-wong sing duwe posisi manajemen utawa kepengin kanggo wong-wong mau kudu duwe pangerten pepek saka metodologi pembangunan piranti lunak, nanging iku saranake kanggo saben wong ngerti paling dhasar. Iki minangka bagean integral saka proses pangembangan lan digunakake ora mung ing lapangan IT. Matur nuwun kanggo njupuk wektu kanggo maca artikelku, muga-muga sampeyan bisa migunani. Aku nyoba kanggo njlèntrèhaké mung titik-titik penting minangka cetha lan sedhela sabisa, supaya artikel ora exhaustive. Aku bakal seneng ngrungokake pendapat sampeyan babagan iki lan mangsuli pitakon sampeyan. Kabeh sing paling apik!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION