CodeGym /Blog Java /rawak /Semua yang anda perlu tahu tentang metodologi pembangunan...
John Squirrels
Tahap
San Francisco

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

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

Perhatian, pemula! Model, metodologi dan kekeliruan umum

Untuk memulakan, kita perlu membuat penjelasan penting: model pembangunan perisian dan metodologi pembangunan perisian adalah berasingan dan berbeza. Model meramalkan bagaimana sistem akan bertindak. Metodologi diperlukan untuk sistem berfungsi sebagaimana mestinya. Model dan metodologi pembangunan perisian yang mengelirukan adalah prosedur operasi standard untuk setiap pemula IT, jadi ini tidak dianggap sebagai kesilapan besar. Contoh model ialah model air terjun klasik , dengan perkembangan linearnya, definisi objektif yang jelas untuk setiap peringkat dan kawalan ketat ke atas tarikh akhir. Model lain ialah model lingkaran, dengan tumpuannya pada pengesanan awal dan pengurangan risiko projek. Pembangunan lingkaran bermula dari kecil, mula-mula menyelesaikan masalah tempatan, dan kemudian berkembang kepada yang lebih kompleks. Akhir sekali, model lain ialah pembangunan berulang dan inkremental (IID) , di mana kitaran hayat projek dipecahkan kepada satu siri lelaran, yang setiap satunya menyerupai "projek mini". Secara umum, model ialah penerangan tentang proses pembangunan perisian . Tetapi metodologi adalah sistem untuk mengawal, menilai dan memantau kerja pada tugas yang diberikan. Metodologi adalah tongkat dan lobak pada zaman moden, yang diperlukan untuk mengawal setiap langkah dalam proses pembangunan. Mereka dipilih berdasarkan hala tuju projek, belanjawannya, dan tarikh akhir untuk pelaksanaan produk akhir. Lebih-lebih lagi, metodologi boleh dipilih berdasarkan perangai ketua projek dan pasukannya. Malah berdasarkan falsafah syarikat atau pelanggan. Mari kita lihat metodologi yang paling popular.

1. Scrum

Scrum ialah kaedah pengurusan projek yang tangkas. Ia berdasarkan "pecut", atau lelaran pendek, terhad dalam masa (biasanya 2-4 minggu). Ini meminimumkan tempoh mesyuarat, tetapi meningkatkan kekerapannya. Setiap pecut terdiri daripada senarai tugasan yang perlu diselesaikan pada penghujung lelaran, dan setiap daripadanya mempunyai "berat" sendiri. Semasa mesyuarat, pasukan membincangkan perkara yang telah dilakukan oleh ahli pasukan, perkara yang mereka rancang untuk dilakukan, dan masalah yang ada. Scrum menggunakan tunggakan untuk perancangan. Dalam pendekatan ini, pasukan biasanya mempunyai master scrum. Orang ini membantu pasukan bekerja tanpa gangguan dan mewujudkan persekitaran yang selesa untuk pasukan. Projek ini juga akan mempunyai seseorang dalam peranan pemilik produk. Orang ini ialah ketua pembangunan, memantau produk, dan bertindak sebagai penghubung utama antara permintaan pelanggan dan apa yang dihasilkan oleh pasukan.

Kelebihan:

  • keupayaan untuk melancarkan projek dengan cepat dengan bajet serendah mungkin;
  • pemantauan harian kemajuan, demo projek yang kerap;
  • keupayaan untuk membuat pelarasan semasa projek.

Keburukan:

  • kesukaran dalam membuat kontrak kerana kekurangan belanjawan tetap;
  • tidak berfungsi untuk pasukan yang tidak berpengalaman atau apabila tarikh akhir atau belanjawan tidak dinyatakan;
  • keupayaan untuk sentiasa membuat perubahan antara larian pecut boleh menimbulkan kekeliruan.

Ini untuk siapa?

Sistem seperti ini sesuai untuk projek sehingga sepuluh orang, sama ada bebas atau wujud 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. Kanban

Ciri Kanban yang paling penting ialah visualisasi kitaran hayat projek. Lajur untuk melaksanakan item kerja dibuat. Item kerja ditangani secara individu. Lajur ditandakan dengan status seperti: Untuk dilakukan, Sedang berjalan, Semakan kod, Dalam ujian, Selesai (sudah tentu, nama lajur mungkin berbeza-beza). Matlamat setiap ahli pasukan adalah untuk mengurangkan bilangan item kerja dalam lajur pertama. Pendekatan Kanban adalah intuitif dan membantu anda memahami di mana masalah terletak. Struktur Kanban tidak ditetapkan secara muktamad dan tidak boleh ditarik balik: bergantung pada spesifikasi projek, anda boleh menambah lajur yang diubah suai. Sebagai contoh, sesetengah pasukan menggunakan sistem di mana anda perlu menentukan peraturan yang telah selesai untuk item kerja sebelum melaksanakannya. Dalam kes ini, dua lajur ditambahkan: Tentukan (nyatakan parameter) dan Laksanakan (bertugas).

Kelebihan:

  • fleksibiliti dalam perancangan. Pasukan hanya menumpukan pada kerja semasa, keutamaan tugas juga ditentukan;
  • keterlihatan. Apabila semua peserta mempunyai akses kepada data, isu global lebih mudah dikesan;
  • penglibatan yang tinggi dalam proses pembangunan. Proses visualisasi meningkatkan organisasi diri dan kawalan diri.

Keburukan:

  • tidak bekerja dengan pasukan lebih daripada lima orang;
  • tidak bertujuan untuk perancangan jangka panjang;
  • tidak sesuai untuk pasukan yang tidak bermotivasi. Kanban tidak mempunyai tarikh akhir untuk setiap item kerja. Metodologi juga tidak menetapkan penalti untuk kelewatan.

Ini untuk siapa?

Kanban berfungsi dengan baik dalam syarikat di mana pasukan bermotivasi untuk berkembang dan mencapai hasil. Ia sepatutnya sudah jelas - ini untuk pasukan kecil. Mungkin juga detasmen atau sebahagian daripada pasukan.

3. Proses Bersepadu Rasional (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 mendapatkan versi projek yang berfungsi, walaupun sementara. RUP menyeru untuk membahagikan projek kepada empat fasa . Dalam setiap fasa, kerja pada generasi seterusnya produk dilakukan: permulaan, penghuraian, pembinaan dan peralihan. Pada akhir fasa, pencapaian projek dicapai. Saat pasukan menilai keputusannya boleh dianggap sebagai peristiwa penting projek. Ini bermakna bahawa metodologi membayangkan bahawa ciri-ciri utama dikeluarkan pada fasa pertama, dan penambahan ditambah dalam fasa berikutnya.

Kelebihan:

  • memungkinkan untuk menangani perubahan tugas, baik dari pelanggan dan perubahan yang timbul dalam perjalanan kerja;
  • memastikan peningkatan berterusan produk. Semasa lelaran, anda boleh menilai projek dengan teliti;
  • memungkinkan untuk mengenal pasti dan menghapuskan risiko pada peringkat awal kerja, serta mengawal kualiti pembangunan dengan berkesan.

Keburukan:

  • Metodologi ini agak kompleks dan sukar untuk dilaksanakan dalam pasukan atau syarikat kecil;
  • bergantung pada keupayaan pakar untuk menetapkan tugas;
  • memerlukan dokumentasi keperluan yang berlebihan.

Ini untuk siapa?

Projek besar dengan keperluan yang jelas dan risiko yang difahami dengan baik, apabila produk perlu dikeluarkan secepat mungkin. Walaupun dengan mengorbankan fungsi, untuk cepat menduduki niche anda dan hanya kemudian menambah sentuhan akhir.

Terdapat banyak metodologi, tetapi satu trend

Selain scrum dan Kanban, yang tidak dinafikan popular dan berdasarkan prinsip tangkas , serta metodologi RUP yang teguh dan berulang, syarikat menggunakan banyak variasi metodologi. Satu syarikat mungkin lebih dekat dengan pengaturcaraan yang melampau dan membuat keputusan terpantas dan paling mudah. Satu lagi mungkin lebih dekat dengan pembangunan yang dipacu ujian. Seorang lagi mungkin lebih suka pembangunan aplikasi pesat (RAD). Walau bagaimanapun, terdapat trend yang kuat dan tidak boleh dipertikaikan ke arah menggunakan pelbagai metodologi secara serentak. Atau bahkan menggabungkan model dan metodologi ke dalam sistem pengurusan yang unik. Syarikat hari ini berusaha untuk menghapuskan halangan birokrasi dan mewujudkan suasana kerja berpasukan yang bersatu dalam organisasi, tanpa mengalihkan tanggungjawab antara jabatan dan unit organisasi. Menurut Scrum Alliance, 70% syarikat IT menggunakan scrum. Antaranya ialah gergasi seperti Google, Amazon, Salesforce, Microsoft, dan Adobe. Pemula dan projek muda lebih cenderung kepada Kanban, tetapi Toyota dan, sebagai contoh, pemain di Wargaming, juga menggunakannya. Scrum ialah alat perancangan, manakala Kanban adalah untuk memantau kemajuan. Bagi RUP, ia paling kerap digunakan oleh syarikat Barat dengan 50-200 pekerja dan pendapatan $1-10 juta. Walau bagaimanapun, IBM mengubah suai RUP untuk mendekati prinsip tangkas, mengeluarkan metodologi OpenUP (RUP, tetapi tangkas). Metodologi tangkas yang dibanggakan ini kini memacu dunia IT . Ini bukan sekadar trend yang berlalu — ia masih inovatif, dan sebenarnya ia digunakan di banyak syarikat besar. Agile digunakan di Silicon Valley. Facebook dan Uber menggunakannya.

Garisan bawah

Setiap projek mempunyai metodologi pembangunan perisian sendiri, yang bergantung pada pasukan, pembiayaan, tarikh akhir dan keperluan pelanggan. Tiada teknik pengurusan universal: walaupun metodologi tangkas yang sangat popular tidak dapat memastikan pendekatan terbaik untuk proses pembangunan. Akibatnya, metodologi dipilih dengan berhati-hati, kadang-kadang berdasarkan prinsip. Sehinggakan kita boleh membuat kesimpulan tentang syarikat itu sendiri atau tentang pelanggannya dengan melihat metodologinya. Metodologi dicampur, ditambah dengan model, dan disesuaikan. Sehinggakan mereka menimbulkan pendekatan baru. Walau bagaimanapun, alam pengurusan akhirnya kekal di tangan scrum dan Kanban, dengan unsur-unsur yang tidak dijangka dalam model air terjun atau metodologi RUP berulang.
Bacaan lanjut:
laman web: Buku:
  • Andrew Stelman, Jennifer Greene: "Belajar Tangkas";
  • Per Kroll, Bruce MacIsaac: «Ketangkasan dan Disiplin Dipermudahkan: Amalan daripada OpenUP dan RUP";
  • Mike Cohn: "Berjaya dengan Agile: Pembangunan Perisian Menggunakan Scrum";
  • Robert C. Martin: "Pembangunan Perisian Tangkas: Prinsip, Corak, Amalan";
  • Marcus Hammarberg, Joakim Sunden: "Kanban dalam Tindakan";
  • I. Jacobson, G. Booch, J. Rumbaugh: "Proses Pembangunan Perisian Bersatu".
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION