3.4. Agile usullarini masshtablash
Agile usullari bir xonada birga ishlash va norasmiy muloqot qilish mumkin bo'lgan kichik dasturlash guruhlari tomonidan foydalanish uchun ishlab chiqilgan. Ular dastlab kichik va o'rta o'lchamli tizimlar va dasturiy mahsulotlarni ishlab chiqish uchun ishlatilgan. Rasmiy jarayonlar yoki byurokratiyasiz kichik kompaniyalar ushbu usullarni ishtiyoq bilan qabul qilishgan.
Albatta, mijozlar ehtiyojlariga ko'proq mos keladigan dasturiy ta'minotni tezroq yetkazib berish zarurati ham yirik tizimlarga, ham yirik kompaniyalarga tegishli. Shunday qilib, so'nggi bir necha yil ichida katta dasturiy ta'minot tizimlari uchun ham, yirik kompaniyalarda foydalanish uchun ham tezkor usullarni rivojlantirish bo'yicha ko'p ishlar qilindi.
Agile usullarini masshtablash chambarchas bog'liq tomonlarga ega:
Bitta kichik jamoa tomonidan ishlab chiqilmaydigan katta tizimlarni ishlab chiqish uchun ushbu usullarni kengaytirish.
Ushbu usullarni ixtisoslashgan ishlab chiqish guruhlaridan tortib, dasturiy ta'minotni ishlab chiqishda ko'p yillik tajribaga ega bo'lgan yirik kompaniyada kengroq foydalanishgacha kengaytirish.
Albatta, kattalashtirish va kichraytirish bir-biri bilan chambarchas bog'liq. Katta dasturiy ta'minot tizimlarini ishlab chiqish bo'yicha shartnomalar odatda yirik tashkilotlarga beriladi, bunda ishlab chiqish loyihasi ustida bir nechta guruhlar ishlaydi. Ushbu yirik kompaniyalar ko'pincha kichikroq loyihalarda tezkor usullarni sinab ko'rishgan, shuning uchun ular bir vaqtning o'zida masshtabni kengaytirish va kengaytirish muammolariga duch kelishadi.
Tezkor usullarni qo’llayotgan tashkilot 3 yil davomida tashkilotda mahsuldorlikni taxminan 15% ga oshirishi mumkin, bunda mahsulot nuqsonlar soni xuddi shunday kamayadi.
3.4.1. Agile usullari bilan amaliy masalalar
Ayrim sohalarda, xususan, dasturiy mahsulotlar va ilovalarni ishlab chiqishda agile ishlanmasi nihoyatda muvaffaqiyatli bo'ldi. Ushbu turdagi tizimlar uchun foydalanishning eng yaxshi usuli. Biroq, tezkor usullar dasturiy ta'minotni ishlab chiqishning boshqa turlari uchun mos kelmasligi mumkin, masalan, o'rnatilgan tizim injiniringi yoki katta va murakkab tizimlarni ishlab chiqish.
Tashqi mijoz uchun dasturiy ta'minot kompaniyasi tomonidan ishlab chiqilgan katta, uzoq muddatli tizimlar uchun tezkor yondashuvdan foydalanish bir qator muammolarni keltirib chiqaradi.
Agile rivojlanishning norasmiyligi, odatda yirik kompaniyalarda qo'llaniladigan shartnoma ta'rifiga huquqiy yondashuv bilan mos kelmaydi.
Agile usullari dasturiy ta'minotga texnik xizmat ko'rsatish uchun emas, balki yangi dasturiy ta'minotni ishlab chiqish uchun eng mos keladi. Shunga qaramay, yirik kompaniyalarda dasturiy ta'minot xarajatlarining asosiy qismi mavjud dasturiy ta'minot tizimlarini saqlashdan kelib chiqadi.
Agile usullar kichik bir joyda joylashgan jamoalar uchun mo'ljallangan, ammo hozirda ko'p dasturiy ta'minotni ishlab chiqish butun dunyo bo'ylab taqsimlangan jamoalarni o'z ichiga oladi.
Agile usullardan foydalanilganda shartnoma masalalari katta muammo bo'lishi mumkin. Tizim mijozi tizimni ishlab chiqish uchun tashqi tashkilotdan foydalansa, ular o'rtasida dasturiy ta'minotni ishlab chiqish uchun shartnoma tuziladi. Dasturiy ta'minot talablari hujjati odatda mijoz va yetkazib beruvchi o'rtasidagi shartnomaning bir qismidir. Talablar va kodlarni bir-biriga bog'lab ishlab chiqish tezkor usullar uchun asos bo'lganligi sababli, shartnomaga kiritilishi mumkin bo'lgan talablarning aniq bayoni mavjud emas.
Binobarin, tezkor usullar buyurtmachi muayyan talablar to'plamini ishlab chiqish uchun emas, balki tizimni ishlab chiqish uchun zarur bo'lgan vaqtga to'laydigan shartnomalarga tayanishi kerak. Hammasi yaxshi bo'lsa, bu mijozga ham, ishlab chiquvchiga ham foyda keltiradi. Biroq, agar muammolar yuzaga kelsa, unda kim aybdor ekanligi va muammolarni hal qilish uchun zarur bo'lgan qo'shimcha vaqt va resurslar uchun kim to'lashi kerakligi haqida qiyin bo’lgan bahslar bo'lishi mumkin.
Dasturiy ta'minotni yaratish bo'yicha katta hajmdagi sa'y-harakatlar dasturiy ta'minot tizimlarini sozlash va rivojlantirishga sarflanadi. Agile amaliyotlari, masalan, bosqichma-bosqich yetkazib berish, o'zgartirish uchun dizayn va soddalikni saqlagan holda dasturiy ta'minot o'zgartirilganda mantiqiy bo'ladi. Darhaqiqat, tezkor rivojlanish jarayonini doimiy o'zgarishlarni qo'llab-quvvatlovchi jarayon sifatida ko'rish mumkin. Agar dasturiy ta'minot mahsulotlarini ishlab chiqishda agile usullardan foydalanilsa, mahsulot yoki ilovaning yangi versiyalari shunchaki tezkor yondashuvni davom ettirishni o'z ichiga oladi.
Biroq, agar texnik xizmat ko'rsatish biznesning yangi talablariga javoban o'zgartirilishi kerak bo'lgan maxsus tizimni o'z ichiga olgan bo'lsa, dasturiy ta'minotga texnik xizmat ko'rsatish uchun tezkor usullarning mosligi haqida aniq kelishuv mavjud emas (Bird 2011; Kilner 2012). Bunda muammolarning uch turi paydo bo'lishi mumkin:
mahsulot hujjatlarining yo'qligi.
mijozlarni jalb qilish.
rivojlanish guruhining uzluksizligi.
Rasmiy hujjatlar tizimni tavsiflashi kerak va bu tizimni o'zgartirayotgan insonlarga tizimni tushunishni osonlashtiradi. Biroq, amalda rasmiy hujjatlar kamdan-kam yangilanadi va bu esa dastur kodini to'g'ri aks ettirmaydi. Shu sababli, tezkor usul ishqibozlari ushbu hujjatni yozish vaqtni behuda sarflash va barqaror dasturiy ta'minotni joriy qilishning kaliti yuqori sifatli, o'qilishi mumkin bo'lgan kod ishlab chiqarish ekanligini ta'kidlaydilar. Hujjatlarning etishmasligi tezkor yondashuv yordamida ishlab chiqilgan tizimlarni saqlashda muammo bo'lmasligi kerak.
Tizimga texnik xizmat ko'rsatish bo'yicha tajribalarga ega insonlarning fikrlaini inobatga olinadigan bo’lsa, eng muhim hujjat bu tizim talablari hujjati bo'lib, u dasturiy injniringchiga tizim nima qilishi kerakligini aytadi. Bunday bilimlarsiz, taklif qilingan tizim o'zgarishlarining ta'sirini baholash qiyin. Ko'pgina tezkor usullar talablarni norasmiy va bosqichma-bosqich to'playdi va izchil talablar hujjatini yaratmaydi. Shunday qilib, tezkor usullardan foydalanish keyingi tizimga texnik xizmat ko'rsatishni qiyinlashtiradi va qimmatroq qiladi. Rivojlanish guruhining uzluksizligini saqlanilmasa, bu alohida muammo bo’ladi.
Xizmat ko'rsatishda tezkor yondashuvdan foydalanishning asosiy muammosi mijozlarni jarayonga jalb qilishdir. Mijoz tizimni ishlab chiqish jarayonida vakilning to'liq ishtirokini oqlashi mumkin bo'lsa-da, o'zgarishlar uzluksiz bo'lmagan texnik xizmat ko'rsatish vaqtida bu kamroq bo'ladi. Mijoz vakillarining tizimga qiziqishi yo'qolishi mumkin.
Yana bir yuzaga kelishi mumkin bo'lgan muammo - bu rivojlanish guruhining uzluksizligini ta'minlash. Agile usullari, hujjatlarga qaramay turib, jamoa a'zolari tizimning jihatlarini tushunadilar. Agar chaqqon rivojlanish guruhi parchalansa, bu yashirin bilim yo'qoladi va yangi jamoa a'zolari uchun tizim va uning tarkibiy qismlari haqida bir xil tushunchani shakllantirish qiyin. Ko'pgina dasturchilar dasturiy ta'minotga texnik xizmat ko'rsatishdan ko'ra yangi ishlanmalar ustida ishlashni afzal ko'radilar va ular birinchi versiya chiqarilgandan keyin dasturiy ta'minot tizimida ishlashni xohlamaydilar. Shunday bo’lsada, agar maqsad ishlab chiqish guruhini birga ushlab turish bo'lsa ham, xodimlar ularga texnik xizmat ko'rsatish vazifalari yuklangan bo'lsa, ketishadi.
Do'stlaringiz bilan baham: |