JavaRush /Java blogi /Random-UZ /Dasturiy ta'minotni ishlab chiqish metodologiyalari haqid...

Dasturiy ta'minotni ishlab chiqish metodologiyalari haqida bilishingiz kerak bo'lgan hamma narsa: yangi boshlanuvchilar uchun tendentsiyalar, tamoyillar va tuzoqlar

Guruhda nashr etilgan
Dasturiy ta'minotni ishlab chiqish murakkab biznes jarayonidir. Bu shuni anglatadiki, IT optimallashtirish, rejalashtirish va hisoblash tilida gaplashishi kerak. Dasturiy ta'minotni ishlab chiqish metodologiyalari haqida bilishingiz kerak bo'lgan hamma narsa: yangi boshlanuvchilar uchun tendentsiyalar, tamoyillar va tuzoqlar - 1Boshqaruv kontseptsiyalarini tushunish ish beruvchilar va ishlab chiquvchilar uchun katta ustunlik beradi va hamkorlikni keyingi bosqichga olib chiqishga yordam beradi.

Yangi boshlanuvchilar uchun eslatma: modellar, metodologiyalar va umumiy chalkashliklar

Boshlash uchun muhim tushuntirish: dasturiy ta'minotni ishlab chiqish uchun alohida modellar va ushbu rivojlanish uchun alohida metodologiya mavjud. Modellar tizimning kelajakdagi xatti-harakatlarini bashorat qiladi. Tizim kerakli tarzda ishlashi uchun metodologiyalar kerak. Dasturiy ta'minotni ishlab chiqish modellari va metodologiyalarini chalkashtirib yuborish har bir yangi boshlovchining muqaddas vazifasidir, shuning uchun bu qo'pol xato hisoblanmaydi. Va shunga qaramay, modellar klassik kaskadli sharshara , uning chiziqliligi, har bir bosqich uchun aniq maqsadni belgilash va belgilangan muddatlarni qat'iy nazorat qilish. Modellar spiral bo'lib , loyiha xatarlarini erta aniqlash va yumshatishga qaratilgan. Spiral rivojlanishi kichik miqyosda boshlanadi, birinchi navbatda mahalliy muammolarni hal qiladi, keyin esa murakkabroqdir. Yakuniy model IID bo'lib , u loyihaning hayot aylanishini iteratsiyalar ketma-ketligiga ajratadi, ularning har biri "mini-loyiha" ga o'xshaydi. Umuman olganda, model dasturiy ta'minotni ishlab chiqish jarayonini tavsiflovchi narsadir . Ammo metodologiyalar - bu belgilangan vazifalar bo'yicha ishlarni nazorat qilish, baholash va monitoring qilish tizimlari. Metodologiyalar zamonaviy rivojlanishning sabzi va tayoqchasi bo'lib, ular rivojlanish jarayonining har bir bo'g'inini nazorat qilish uchun zarurdir. Ular loyihaning yo'nalishi, uning byudjeti va yakuniy mahsulotning vaqtini hisobga olgan holda tanlanadi. Bundan tashqari, metodologiyalar loyiha menejeri va uning jamoasining temperamentiga qarab tanlanishi mumkin. Hatto kompaniya yoki mijozning falsafasiga asoslangan. Keling, eng mashhur usullarni ko'rib chiqaylik.

1. Scrum metodologiyasi

Scrum - bu tezkor loyihani boshqarish usuli . U "sprintlar" ga asoslanadi - qisqa takrorlashlar, qat'iy vaqt bilan cheklangan (odatda 2-4 hafta). Uchrashuvlarning davomiyligi minimal darajaga qisqartiriladi, lekin ularning chastotasi ortadi. Har bir sprint iteratsiya oxirigacha vazifalar ro'yxatidan iborat bo'lib, ularning har biri o'z "og'irligi" ga ega. Uchrashuvlar davomida jamoa kim nima qilgani, nima qilmoqchiligi va qanday muammolar borligini muhokama qiladi. Scrum rejalashtirish uchun sprint jurnalidan foydalanadi. Bunday yondashuvda Scrum ustasi ko'pincha jamoada paydo bo'ladi, u butun jamoaning uzluksiz ishini yo'lga qo'yadi va buning uchun qulay sharoit yaratadi. Shuningdek, loyihada Mahsulot egasining roli paydo bo'ladi - ishlab chiqish menejeri, mahsulotni kuzatuvchi va mijozning so'rovi va jamoa natijasi o'rtasidagi asosiy aloqa vazifasini bajaradigan shaxs.

Taroziga soling:

  • eng kam byudjet bilan loyihani tezda ishga tushirish;
  • ishning borishini har kuni kuzatib borish, loyihani tez-tez namoyish qilish;
  • loyihani amalga oshirish jarayonida o'zgarishlar qilish qobiliyati.

Kamchiliklari:

  • qat'iy byudjet yo'qligi sababli shartnomalar tuzishda qiyinchiliklar;
  • jamoaning past malakasi, kam baholangan ish muddatlari yoki byudjet bilan ishlamaydi;
  • sprintlar o'rtasida doimiy ravishda o'zgarishlar qilish qobiliyati chalkashliklarni keltirib chiqarishi mumkin.

Kimga mos keladi:

Ushbu tizim o'n kishigacha bo'lgan loyihalar uchun javob beradi - mustaqil yoki yirik kompaniyalar doirasida. Agar jamoa katta hajmdagi ish va uzoq umr ko'rish davriga ega bo'lsa, bu ularni o'zgartirishga va yangi bozor sharoitlariga moslashishga majbur qilsa, bu qulay.

2. Kanban metodologiyasi

Kanban'ın eng muhim xususiyati loyihaning hayot aylanishini vizualizatsiya qilishdir . Ustunlar alohida topshirilgan vazifalarni bajarish uchun yaratiladi. Ustunlar quyidagi belgilar bilan belgilanadi: Bajarish, Davom etish, Kodni ko'rib chiqish, Sinovda, Bajarildi (ustunlarning nomlari, albatta, o'zgarishi mumkin). Har bir jamoa a'zosining maqsadi birinchi ustundagi vazifalar sonini kamaytirishdir. Kanban yondashuvi vizualdir va muammo qayerda ekanligini tushunishga yordam beradi. Kanban tuzilishi aniq va qaytarib bo'lmaydigan tarzda aniqlanmaydi: loyihaning o'ziga xos xususiyatlariga qarab, improvizatsiya qilingan ustunlar qo'shilishi mumkin. Masalan, ba'zi jamoalar vazifani bajarishdan oldin uning tayyorligi mezonlarini aniqlashlari kerak bo'lgan tizimdan foydalanadilar. Keyin ikkita ustun qo'shiladi - belgilang (parametrlarni ko'rsating) va bajaring (ishga kirish).

Taroziga soling:

  • rejalashtirish moslashuvchanligi. Jamoa diqqatini faqat joriy ishlarga qaratadi, vazifaning ustuvorligi ham aniqlanadi;
  • ko'rinish. Barcha ishtirokchilar ma'lumotlarga kirish imkoniga ega bo'lsa, global muammolarni payqash osonroq bo'ladi;
  • rivojlanish jarayonida yuqori ishtirok. Jarayonni vizualizatsiya qilish o'z-o'zini tashkil etish va o'zini o'zi boshqarishni oshiradi.

Kamchiliklari:

  • besh kishidan ortiq jamoalar bilan ishlamaydi;
  • uzoq muddatli rejalashtirish uchun mo'ljallanmagan;
  • motivatsiyasiz jamoada ishlash uchun mos emas. Kanbanda har bir topshiriq uchun belgilangan muddatlar belgilanmagan va metodologiyada kechikish uchun jarimalar nazarda tutilmagan.

Kimga mos keladi:

Kanban, jamoa rivojlanish va natijalarga erishishga undaydigan kompaniyalarda ajoyib ishlaydi. Ko'rinib turibdiki, kichik jamoa. Ehtimol, hatto bo'linma yoki jamoaning bir qismi.

3. RUP metodologiyasi

RUP metodologiyasi iterativ rivojlanish modelidan foydalanadi. Har bir iteratsiya oxirida (bu 2 dan 6 haftagacha davom etadi) jamoa rejalashtirilgan maqsadlarga erishishi va loyihaning vaqtinchalik, ammo ishlaydigan versiyasiga ega bo'lishi kerak. RUP loyihani to'rt bosqichga bo'lishni o'z ichiga oladi , ularning har birida mahsulotning yangi avlodi ustida ish olib boriladi: loyihani boshlash bosqichi, takomillashtirish, qurish va amalga oshirish. Bosqich oxirida bosqichni yakunlash belgisi (Project Milestone) kiritiladi. Loyihaning muhim bosqichini jamoa erishilgan natijalarni baholagan payt deb hisoblash mumkin. Natijada, metodologiya asosiy xususiyatlarning birinchi bosqichda chiqarilishini va keyingi bosqichlarda qo'shimchalar qo'shilishini nazarda tutadi.

Taroziga soling:

  • mijoz tomonidan ham, ish jarayonida yuzaga keladigan o'zgaruvchan vazifalarni ham engish imkonini beradi;
  • mahsulotning doimiy yaxshilanishini ta'minlaydi. Takrorlash paytida dizaynni sinchkovlik bilan tekshirish mumkin;
  • ishning dastlabki bosqichlarida xavflarni aniqlash va bartaraf etish, shuningdek, rivojlanish sifatini samarali nazorat qilish imkonini beradi.

Kamchiliklari:

  • kichik jamoa yoki kompaniya bilan amalga oshirish qiyin bo'lgan juda murakkab usul;
  • mutaxassislarning vazifalarni qo'yish qobiliyatiga bog'liqligi;
  • talablarning ortiqcha hujjatlarini talab qiladi.

Kimga mos keladi:

Mahsulotni iloji boricha tezroq chiqarish kerak bo'lganda, aniq belgilangan talablar va belgilangan xavflarga ega yirik loyihalar. Funktsionallik hisobiga ham, tezda o'z o'rnini egallash va shundan keyingina nuanslarni yaxshilash uchun.

Ko'p metodologiya, bitta tendentsiya

"Agile" umumiy nomi ostida moslashuvchanlik tamoyillariga asoslangan shubhasiz mashhur Scrum va Kanban, shuningdek, qat'iy iterativ RUP bilan bir qatorda, kompaniyalar ko'plab metodologiyalar bilan ishlaydi. Ba'zi odamlar ekstremal dasturlashni va eng tez va eng oddiy qarorlarni qabul qilishni afzal ko'radilar, ba'zilari test asosida ishlab chiqishni afzal ko'radilar, boshqalari esa tezkor dastur ishlab chiqishni (RAD) afzal ko'radilar. Shu bilan birga, asosiy va shartsiz tendentsiya bir vaqtning o'zida bir nechta metodologiyadan foydalanish hisoblanadi . Yoki hatto modellar va metodologiyalarni noyob boshqaruv tizimiga birlashtirish. Dasturiy ta'minotni ishlab chiqish metodologiyasi haqida bilishingiz kerak bo'lgan hamma narsa: yangi boshlanuvchilar uchun tendentsiyalar, tamoyillar va tuzoqlar - 2Zamonaviy kompaniyalar mas'uliyatni bo'limlar va bloklar o'rtasida o'tkazmasdan, byurokratik to'siqlarni bartaraf etishga va tashkilot ichida umumiy jamoaviy ish muhitini yaratishga intiladi. Scrumalliance hisobotiga ko'ra , IT-kompaniyalarning 70% Scrum'dan foydalanadi. Ular orasida Google, Amazon, Salesforce, Microsoft, Adobe kabi gigantlar bor. Startaplar va yosh loyihalar Kanbanga ko'proq moyil, ammo undan Toyota va, masalan, Wargaming geymerlari ham foydalanadilar. MDHning oddiyroq kompaniyalari Prom.ua, Bigl.ua, Kabanchik.ua Scrum va Kanban metodologiyalaridan bir vaqtning o'zida foydalanadilar, lekin turli vazifalar uchun. Scrum - rejalashtirish vositasi sifatida, Kanban - ishning borishini kuzatish uchun. RUPga kelsak, u ko'pincha 50-200 xodim va 1-10 million dollar daromadga ega bo'lgan G'arb kompaniyalari tomonidan qo'llaniladi. Shu bilan birga, IBM OpenUP metodologiyasini - “RUP, faqat agile”ni chiqarish orqali Agile tamoyillariga yaqinlashish uchun RUP-ni o'zgartirdi. Xuddi shu maqtovga sazovor Agile chaqqonligi endi IT landshaftini boshqaradi . Hozirgi kunda bu shunchaki moda emas - u hali ham innovatsion va u ko'plab yirik kompaniyalarda ishlaydi. Agile Silikon vodiysida qo'llaniladi va Facebook va Uber tomonidan qo'llaniladi.

Pastki chiziq

Har bir loyiha jamoa, moliyalashtirish, vaqt va mijozlar talablariga qarab dasturiy ta'minotni ishlab chiqishning o'ziga xos metodologiyasiga ega. Universal boshqaruv texnologiyasi mavjud emas: hatto juda mashhur Agile ham rivojlanish jarayoniga eng yaxshi yondashuvni ta'minlay olmaydi. Shuning uchun metodologiya ehtiyotkorlik bilan, ba'zan esa hatto asosiy tanlanadi. Shunday qilib, siz undan kompaniyaning o'zi yoki uning mijozlari haqida xulosa chiqarish uchun foydalanishingiz mumkin. Metodologiyalar aralashtiriladi, modellar bilan to'ldiriladi va o'zlariga moslashtirilgan. Shunday qilib, ular yangi yondashuvlarni keltirib chiqaradi. Oxir-oqibat boshqaruv sohasi Scrum va Kanban qo'lida qolsa ham, kutilmaganda Sharshara modeli yoki iterativ RUP qo'shiladi.
Yana nimani o'qish kerak
Veb-saytlar: Kitoblar:
  • Endryu Stelman, Jennifer Grin: "Chapqoqlikni o'rganish";
  • Per Kroll, Bryus MakIsak: “Chapqonlik va intizom osonlashtirildi: OpenUP va RUP amaliyotlari”;
  • Mayk Kon: Scrum. Tez rivojlanish";
  • Robert K. Martin: “Tezkor dasturiy ta'minot ishlab chiqish. Printsiplar, misollar, amaliyot”;
  • Markus Hammarberg, Yoakim Sunden: “Kanban harakatda”;
  • A Jacobson, G. Booch, J. Rumbaugh: "Yagona dasturiy ta'minotni ishlab chiqish jarayoni".
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION