JavaRush /Blog Java /Random-MS /Semua yang anda perlu tahu tentang metodologi pembangunan...

Semua yang anda perlu tahu tentang metodologi pembangunan perisian: trend, prinsip dan perangkap untuk pemula

Diterbitkan dalam kumpulan
Pembangunan perisian adalah proses perniagaan yang kompleks. Ini bermakna IT perlu bercakap dalam bahasa pengoptimuman, perancangan dan pengiraan. Semua yang anda perlu tahu tentang metodologi pembangunan perisian: trend, prinsip dan perangkap untuk pemula - 1Memahami konsep pengurusan memberikan kelebihan utama kepada kedua-dua majikan dan pemaju dan membantu membawa kerjasama ke peringkat seterusnya.

Nota untuk pemula: model, metodologi dan kekeliruan umum

Penjelasan penting untuk dimulakan: terdapat model berasingan untuk pembangunan perisian dan metodologi berasingan untuk pembangunan ini. Model meramalkan kelakuan masa depan sesuatu sistem. Metodologi diperlukan untuk sistem berfungsi dengan cara yang diperlukan. Model dan metodologi pembangunan perisian yang mengelirukan adalah tugas suci setiap pemula IT, jadi ini tidak dianggap sebagai kesilapan besar. Namun begitu, modelnya ialah Air Terjun berlatarkan klasik , dengan kelinearan, penetapan matlamat yang jelas untuk setiap peringkat dan kawalan ketat ke atas tarikh akhir. Model tersebut adalah Spiral , dengan tumpuannya pada pengenalpastian awal dan pengurangan risiko projek. Pembangunan lingkaran bermula pada skala kecil, mula-mula menyelesaikan masalah tempatan, dan kemudian yang lebih kompleks. Model terakhir ialah IID , yang memecahkan kitaran hayat projek kepada urutan lelaran, yang setiap satunya menyerupai "projek mini." Secara umum, model ialah sesuatu yang menerangkan proses pembangunan perisian . Tetapi metodologi adalah sistem untuk kawalan, penilaian dan pemantauan kerja pada tugas yang diberikan. Metodologi adalah akar dan batang pembangunan moden, yang diperlukan untuk mengawal setiap pautan proses pembangunan. Mereka dipilih berdasarkan hala tuju projek, belanjawannya dan masa produk akhir. Selain itu, metodologi boleh dipilih berdasarkan perangai pengurus projek dan pasukannya. Malah berdasarkan falsafah syarikat atau pelanggan. Mari lihat metodologi yang paling popular.

1. Metodologi scrum

Scrum ialah kaedah pengurusan projek yang tangkas . Ia berdasarkan "pecut" - lelaran pendek, terhad dalam masa (biasanya 2-4 minggu). Tempoh mesyuarat dikurangkan kepada minimum, tetapi kekerapannya meningkat. Setiap pecut terdiri daripada senarai tugas sehingga akhir lelaran, dan setiap daripada mereka mempunyai "berat" sendiri. Semasa mesyuarat, pasukan membincangkan siapa yang telah melakukan apa, apa yang akan mereka lakukan, dan apa masalah yang ada. Scrum menggunakan jurnal pecut untuk perancangan. Dalam pendekatan ini, master Scrum sering muncul dalam pasukan, yang menetapkan kerja berterusan seluruh pasukan, mewujudkan keadaan yang selesa untuknya. Juga pada projek itu, peranan Pemilik Produk muncul - pengurus pembangunan, orang yang memantau produk dan bertindak sebagai pautan utama antara permintaan pelanggan dan keputusan pasukan.

Kelebihan:

  • pelancaran projek pantas dengan bajet serendah mungkin;
  • pemantauan harian kemajuan kerja, demonstrasi projek yang kerap;
  • keupayaan untuk membuat perubahan semasa projek berjalan.

Kekurangan:

  • kesukaran dalam membuat kontrak kerana kekurangan belanjawan tetap;
  • tidak bekerja dengan kelayakan rendah pasukan, tarikh akhir kerja yang dipandang remeh atau bajet;
  • keupayaan untuk terus membuat perubahan antara larian pecut boleh menimbulkan kekeliruan.

Siapa yang sesuai untuk:

Sistem ini sesuai untuk projek sehingga sepuluh orang - bebas atau dalam syarikat besar. Ini mudah jika pasukan mempunyai jumlah kerja yang banyak dan kitaran hayat yang panjang, yang memaksa mereka untuk berubah dan menyesuaikan diri dengan keadaan pasaran baharu.

2. Metodologi Kanban

Ciri Kanban yang paling penting ialah visualisasi kitaran hayat projek . Lajur dicipta untuk menyelesaikan tugasan yang diserahkan secara individu. Lajur ditandakan dengan penanda seperti: Untuk dilakukan, Sedang berjalan, Semakan kod, Dalam ujian, Selesai (nama lajur, sudah tentu, boleh berubah). Matlamat setiap ahli pasukan adalah untuk mengurangkan bilangan tugas dalam lajur pertama. Pendekatan Kanban adalah visual dan membantu anda memahami di mana masalahnya. Struktur Kanban tidak ditentukan secara muktamad dan tidak boleh ditarik balik: bergantung pada spesifik projek, lajur yang diubah suai boleh ditambah. Sebagai contoh, sesetengah pasukan menggunakan sistem di mana mereka perlu menentukan kriteria untuk kesediaan tugas sebelum melaksanakannya. Kemudian dua lajur ditambah - tentukan (nyatakan parameter) dan laksanakan (mulai bekerja).

Kelebihan:

  • fleksibiliti merancang. Pasukan hanya menumpukan pada kerja semasa, keutamaan tugas juga ditentukan;
  • keterlihatan. Apabila semua pelakon mempunyai akses kepada data, isu global lebih mudah untuk diperhatikan;
  • penglibatan yang tinggi dalam proses pembangunan. Visualisasi proses meningkatkan organisasi diri dan kawalan diri.

Kekurangan:

  • tidak bekerja dengan pasukan lebih daripada lima orang;
  • tidak bertujuan untuk perancangan jangka panjang;
  • tidak sesuai untuk bekerja dalam pasukan tanpa motivasi. Di Kanban, tiada tarikh akhir ditetapkan untuk setiap tugas, dan metodologi tidak memperuntukkan penalti untuk kelewatan.

Siapa yang sesuai untuk:

Kanban berfungsi hebat dalam syarikat yang pasukannya bermotivasi untuk membangun dan mencapai hasil. Seperti yang sudah jelas, pasukan kecil. Mungkin juga bahagian atau sebahagian daripada pasukan.

3. Metodologi RUP

Metodologi RUP menggunakan model pembangunan berulang. Pada akhir setiap lelaran (yang mengambil masa 2 hingga 6 minggu), pasukan harus mencapai matlamat yang dirancang dan mempunyai versi projek sementara tetapi berfungsi. RUP melibatkan pembahagian projek kepada empat fasa , di mana setiap satu kerja sedang dilakukan pada generasi baharu produk: fasa permulaan projek, penghalusan, pembinaan dan pelaksanaan. Pada penghujung fasa, penanda penyiapan peringkat (Projek Milestone) dimasukkan. Pencapaian Projek boleh dianggap sebagai saat pasukan menilai keputusan yang dicapai. Akibatnya, metodologi membayangkan bahawa ciri-ciri utama dikeluarkan pada fasa pertama, dan penambahan ditambah dalam fasa berikutnya.

Kelebihan:

  • membolehkan anda menghadapi perubahan tugas yang datang dari kedua-dua pelanggan dan yang timbul semasa kerja;
  • memastikan peningkatan berterusan produk. Semasa lelaran, reka bentuk boleh diteliti;
  • membolehkan anda mengenal pasti dan menghapuskan risiko pada peringkat awal kerja, serta mengawal kualiti pembangunan dengan berkesan.

Kekurangan:

  • kaedah yang agak kompleks yang sukar dilaksanakan dengan pasukan atau syarikat kecil;
  • pergantungan kepada keupayaan pakar untuk menetapkan tugas;
  • memerlukan dokumentasi keperluan yang berlebihan.

Siapa yang sesuai untuk:

Projek besar dengan keperluan yang jelas dan risiko yang ditetapkan, apabila produk perlu dikeluarkan secepat mungkin. Walaupun dengan mengorbankan fungsi, untuk cepat menduduki nichenya dan hanya kemudian memperhalusi nuansa.

Banyak metodologi, satu trend

Sebagai tambahan kepada Scrum dan Kanban yang tidak dinafikan popular, yang berdasarkan prinsip fleksibiliti di bawah nama umum "Agile" , serta RUP berulang yang gigih, syarikat bekerja dengan pelbagai variasi metodologi. Sesetengah orang lebih suka pengaturcaraan yang melampau dan membuat keputusan terpantas dan paling mudah, sesetengah orang lebih suka pembangunan dipacu ujian, dan yang lain lebih suka pembangunan aplikasi pantas (RAD). Pada masa yang sama, trend utama dan tanpa syarat ialah penggunaan beberapa metodologi secara serentak . Atau bahkan menggabungkan model dan metodologi ke dalam sistem kawalan yang unik. Semua yang anda perlu tahu tentang metodologi pembangunan perisian: trend, prinsip dan perangkap untuk pemula - 2Syarikat moden berusaha untuk menghapuskan halangan birokrasi dan mewujudkan suasana kerja berpasukan umum dalam organisasi, tanpa mengalihkan tanggungjawab antara jabatan dan blok. Menurut laporan Scrumalliance , 70% syarikat IT menggunakan Scrum. Antaranya ialah gergasi seperti Google, Amazon, Salesforce, Microsoft, Adobe. Pemula dan projek muda lebih cenderung kepada Kanban, tetapi ia juga digunakan oleh Toyota dan, sebagai contoh, pemain dari Wargaming. Syarikat CIS yang lebih sederhana Prom.ua, Bigl.ua, Kabachik.ua menggunakan metodologi Scrum dan Kanban secara serentak, tetapi untuk tugas yang berbeza. Scrum - sebagai alat perancangan, Kanban - untuk memantau kemajuan kerja. Bagi RUP, ia paling kerap diamalkan oleh syarikat Barat dengan 50-200 pekerja dan pendapatan 1-10 juta dolar. Tetapi pada masa yang sama, IBM menukar RUP untuk mendekati prinsip Agile dengan mengeluarkan metodologi OpenUP - "RUP, hanya tangkas." Ketangkasan Agile yang dibanggakan itu kini menguasai landskap IT . Ia bukan sekadar trend hari ini - ia masih inovatif, dan ia sebenarnya berfungsi di banyak syarikat besar. Agile digunakan di Silicon Valley dan digunakan oleh Facebook dan Uber.

Pokoknya

Setiap projek mempunyai metodologi pembangunan perisian sendiri, bergantung pada pasukan, pembiayaan, masa dan keperluan pelanggan. Tiada teknologi pengurusan universal: malah Agile yang sangat popular tidak dapat memberikan pendekatan terbaik kepada proses pembangunan. Oleh itu, metodologi dipilih dengan teliti, dan kadang-kadang secara asasnya. Sehinggakan anda boleh menggunakannya untuk membuat kesimpulan tentang syarikat itu sendiri atau pelanggannya. Metodologi bercampur, ditambah dengan model dan disesuaikan untuk disesuaikan dengan diri mereka sendiri. Sehinggakan mereka menimbulkan pendekatan baru. Walaupun pada akhirnya bidang pengurusan kekal di tangan Scrum dan Kanban, dengan kemasukan model Waterfall atau RUP berulang yang tidak dijangka.
Apa lagi yang perlu dibaca
laman web: Buku:
  • Andrew Stelman, Jennifer Greene: "Belajar Tangkas";
  • Per Kroll, Bruce MacIsaac: "Ketangkasan dan Disiplin Dipermudahkan: Amalan daripada OpenUP dan RUP";
  • Mike Cohn: Scrum. Pembangunan tangkas";
  • Robert K. Martin: “Pembangunan perisian yang pantas. Prinsip, contoh, amalan";
  • Markus Hammarberg, Joakim Sundén: "Kanban dalam Tindakan";
  • A Jacobson, G. Booch, J. Rumbaugh: "Proses Pembangunan Perisian Bersatu."
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION