CodeGym /Blog Jawa /Acak /Kabeh sing sampeyan kudu ngerti babagan metodologi pangem...
John Squirrels
tingkat
San Francisco

Kabeh sing sampeyan kudu ngerti babagan metodologi pangembangan piranti lunak: tren, prinsip, lan pitfalls kanggo pamula

Diterbitake ing grup
Pangembangan piranti lunak minangka proses bisnis sing kompleks. Iki tegese profesional IT kudu nganggo basa optimasi, perencanaan, lan biaya. Pangerten babagan konsep manajemen menehi kauntungan gedhe kanggo majikan lan pangembang lan mbantu kolaborasi menyang tingkat sabanjure. Kabeh sing sampeyan kudu ngerti babagan metodologi pangembangan piranti lunak: tren, prinsip, lan pitfalls kanggo pamula - 1

Manungsa waé, pamula! Model, metodologi, lan kebingungan umum

Kanggo miwiti, kita kudu nggawe klarifikasi penting: model pangembangan piranti lunak lan metodologi pangembangan piranti lunak kapisah lan béda. Model prédhiksi carane sistem bakal tumindak. Metodologi dibutuhake supaya sistem bisa digunakake kaya sing dikarepake. Model lan metodologi pangembangan piranti lunak sing mbingungake minangka prosedur operasi standar kanggo saben wong anyar IT, mula iki ora dianggep minangka kesalahan gedhe. Conto model yaiku model grojogan klasik , kanthi progres linier, definisi tujuan sing jelas kanggo saben tahap, lan kontrol ketat babagan tenggat wektu. Model liyane yaiku model spiral, kanthi fokus ing deteksi dini lan mitigasi risiko proyek. Pangembangan spiral diwiwiti cilik, pisanan ngrampungake masalah lokal, banjur maju menyang sing luwih rumit. Pungkasan, model liyane yaiku pangembangan iteratif lan incremental (IID) , ing ngendi siklus urip proyek dipérang dadi sawetara iterasi, saben-saben padha karo "proyek mini". Umumé, model minangka gambaran saka proses pangembangan piranti lunak . Nanging metodologi minangka sistem kanggo ngontrol, ngevaluasi, lan ngawasi karya ing tugas sing ditugasake. Metodologi minangka tongkat lan wortel jaman modern, sing dibutuhake kanggo ngontrol saben langkah ing proses pangembangan. Dheweke dipilih adhedhasar arah proyek, anggarane, lan tenggat wektu kanggo implementasine produk pungkasan. Apa maneh, metodologi bisa dipilih adhedhasar temperamen pimpinan proyek lan tim dheweke. Malah adhedhasar filosofi perusahaan utawa pelanggan. Ayo goleki metodologi sing paling populer.

1. Scrum

Scrum minangka metode manajemen proyek sing tangkas. Iku adhedhasar "sprints", utawa iterasi singkat, strictly winates ing wektu (biasane 2-4 minggu). Iki nyuda durasi rapat, nanging nambah frekuensi. Saben sprint kasusun saka dhaptar tugas sing kudu rampung ing pungkasan pengulangan, lan saben wong duwe "bobot" dhewe. Sajrone rapat, tim ngrembug apa sing wis ditindakake anggota tim, apa sing bakal ditindakake, lan masalah apa wae sing ana. Scrum nggunakake backlog kanggo planning. Ing pendekatan iki, tim umume duwe master scrum. Wong iki mbantu tim supaya bisa kerja tanpa gangguan lan nggawe lingkungan sing nyaman kanggo tim kasebut. Proyek kasebut uga bakal duwe wong sing dadi pemilik produk. Wong iki minangka kepala pangembangan, ngawasi produk, lan dadi penghubung utama antarane apa sing dikarepake pelanggan lan apa sing diasilake tim.

Kaluwihan:

  • kemampuan kanggo cepet mbukak proyek kanthi budget paling murah;
  • ngawasi kemajuan saben dina, demo proyek sing kerep;
  • kemampuan kanggo nggawe pangaturan sak project.

Cons:

  • kangelan ing concluding kontrak amarga lack saka budget tetep;
  • ora bisa digunakake kanggo tim sing ora duwe pengalaman utawa nalika tenggat wektu utawa anggaran kurang;
  • kemampuan kanggo terus-terusan nggawe owah-owahan antarane sprint bisa nggawe kebingungan.

Kanggo sapa iku?

Sistem kaya iki cocok kanggo proyek nganti sepuluh wong, apa sing independen utawa ana ing perusahaan gedhe. Iki trep yen tim duwe jumlah kerja sing akeh lan siklus urip sing dawa sing meksa dheweke ngganti lan adaptasi karo kahanan pasar anyar.

2. Kanban

Fitur paling penting saka Kanban yaiku visualisasi siklus urip proyek. Kolom kanggo nindakake item karya digawe. Item karya ditangani kanthi individu. Kolom kasebut ditandhani karo status kaya: To do, In progress, Code review, In testing, Rampung (mesthi jeneng kolom bisa beda-beda). Tujuane saben anggota tim yaiku nyuda jumlah barang kerja ing kolom pisanan. Pendekatan Kanban intuisi lan mbantu sampeyan ngerti endi masalah. Struktur Kanban ora definitif lan ora bisa dibatalake: gumantung saka spesifik proyek, sampeyan bisa nambah kolom improvisasi. Contone, sawetara tim nggunakake sistem sing sampeyan kudu nemtokake aturan sing wis rampung kanggo item karya sadurunge nindakake. Ing kasus iki, rong kolom ditambahake: Nemtokake (nemtokake paramèter) lan Implementasi (njaluk kerja).

Kaluwihan:

  • keluwesan ing planning. Tim kasebut mung fokus ing karya saiki, prioritas tugas uga ditetepake;
  • visibilitas. Nalika kabeh peserta duwe akses menyang data, masalah global luwih gampang ditemokake;
  • keterlibatan dhuwur ing proses pembangunan. Proses visualisasi nambah organisasi lan kontrol diri.

Cons:

  • ora bisa karo tim luwih saka limang wong;
  • ora dimaksudake kanggo perencanaan jangka panjang;
  • ora cocok kanggo tim sing ora duwe motivasi. Kanban ora duwe wates wektu kanggo saben item karya. Uga ora metodologi nemtokake paukuman kanggo telat.

Kanggo sapa iku?

Kanban kerjane apik ing perusahaan sing tim kasebut duwe motivasi kanggo tuwuh lan entuk asil. Mesthine wis jelas - iki kanggo tim cilik. Mbok menawa malah detasemen utawa bagéan saka tim.

3. Rational Unified Process (RUP)

Metodologi RUP nggunakake model pangembangan iteratif. Ing pungkasan saben pengulangan (sing butuh 2 nganti 6 minggu), tim kudu entuk target sing direncanakake lan entuk versi proyek sing bisa digunakake, sanajan sementara. RUP mbutuhake mbagi proyek dadi papat fase . Ing saben fase, karya ing generasi sabanjure produk ditindakake: wiwitan, elaborasi, konstruksi lan transisi. Ing pungkasan fase, tonggak sejarah proyek diraih. Wektu nalika tim ngevaluasi asil bisa dianggep minangka tonggak sejarah proyek. Iki tegese metodologi kasebut nuduhake manawa fitur utama dirilis ing tahap pertama, lan tambahan ditambahake ing tahap sabanjure.

Kaluwihan:

  • ndadekake iku bisa kanggo menehi hasil karo ganti tugas, loro saka customer lan owah-owahan sing njedhul ing Course saka karya;
  • njamin terus-terusan dandan produk. Sajrone iterasi, sampeyan bisa ngevaluasi proyek kanthi teliti;
  • ndadekake iku bisa kanggo ngenali lan ngilangi risiko ing orane tumrap sekolah awal, uga kanggo efektif ngontrol kualitas pembangunan.

Cons:

  • Metodologi iki rada rumit lan angel ditindakake ing tim utawa perusahaan cilik;
  • gumantung ing kemampuan ahli kanggo nyetel tugas;
  • mbutuhake dokumentasi syarat sing berlebihan.

Kanggo sapa iku?

Proyèk gedhe kanthi syarat lan risiko sing wis ditemtokake kanthi jelas, sing bisa dingerteni, nalika produk kasebut kudu diluncurake kanthi cepet. Malah kanthi biaya fungsional, supaya cepet ngenggoni niche sampeyan lan mung nambah sentuhan pungkasan.

Ana akeh metodologi, nanging siji tren

Saliyane scrum lan Kanban, sing ora bisa dipungkiri populer lan adhedhasar prinsip lincah , uga metodologi RUP sing kuat, iteratif, perusahaan nggunakake akeh variasi metodologi. Siji perusahaan bisa uga luwih cedhak karo program ekstrem lan nggawe keputusan sing paling cepet lan paling gampang. Liyane bisa uga luwih cedhak karo pangembangan sing didorong tes. Liyane isih luwih seneng pangembangan aplikasi kanthi cepet (RAD). Sing jarene, ana tren sing kuat lan ora bisa diragukan kanggo nggunakake macem-macem metodologi bebarengan. Utawa malah nggabungake model lan metodologi menyang sistem manajemen sing unik. Perusahaan saiki ngupayakake ngilangi alangan birokrasi lan nggawe atmosfer kerja tim sing manunggal ing organisasi, tanpa ngganti tanggung jawab antarane departemen lan unit organisasi. Miturut Scrum Alliance, 70% perusahaan IT nggunakake scrum. Ing antarane yaiku raksasa kayata Google, Amazon, Salesforce, Microsoft, lan Adobe. Startups lan proyek enom luwih cenderung menyang Kanban, nanging Toyota lan, contone, para pemain ing Wargaming, uga nggunakake. Scrum minangka alat perencanaan, dene Kanban kanggo ngawasi kemajuan. Kanggo RUP, paling asring digunakake dening perusahaan Barat kanthi karyawan 50-200 lan bathi $ 1-10 yuta. Nanging, IBM ngowahi RUP kanggo nyedhaki prinsip tangkas, ngeculake metodologi OpenUP (RUP, nanging tangkas). Metodologi tangkas iki saiki nyopir jagad IT . Iki ora mung fad liwat - isih inovatif, lan nyatane digunakake ing akeh perusahaan gedhe. Agile digunakake ing Silicon Valley. Facebook lan Uber nggunakake.

Garis ngisor

Saben proyek duwe metodologi pangembangan piranti lunak dhewe, sing gumantung saka tim, pendanaan, tenggat wektu, lan syarat pelanggan. Ora ana teknik manajemen universal: sanajan metodologi tangkas sing populer banget ora bisa njamin pendekatan sing paling apik kanggo proses pangembangan. Akibaté, metodologi dipilih kanthi ati-ati, kadhangkala uga kanthi prinsip. Dadi akeh supaya kita bisa nggawe kesimpulan babagan perusahaan dhewe utawa babagan pelanggan kanthi ndeleng metodologi. Metodologi dicampur, ditambah karo model, lan diadaptasi. Dadi akeh supaya padha nuwuhake pendekatan anyar. Sing jarene, ranah manajemen pungkasane tetep ana ing tangan scrum lan Kanban, kanthi unsur model grojogan sing ora dikarepke utawa metodologi RUP iteratif.
Wacan liyane:
Situs web: Buku:
  • Andrew Stelman, Jennifer Greene: "Sinau Agile";
  • Per Kroll, Bruce MacIsaac: «Ketangkasan lan Disiplin Digawe Gampang: Praktek saka OpenUP lan RUP";
  • Mike Cohn: "Sukses karo Agile: Pangembangan Piranti Lunak Nggunakake Scrum";
  • Robert C. Martin: "Pengembangan Perangkat Lunak Agile: Prinsip, Pola, Praktek";
  • Marcus Hammarberg, Joakim Sunden: "Kanban in Action";
  • I. Jacobson, G. Booch, J. Rumbaugh: "Proses Pengembangan Perangkat Lunak Manunggal".
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION