Agile va rejaga asoslangan usullar
Agile usullarini masshtablashning asosiy talabi ularni rejali yondashuvlar bilan birlashtirishdir. Kichik startap-kompaniyalar norasmiy va qisqa muddatli rejalashtirish bilan ishlashi mumkin, ammo yirik kompaniyalar investitsiyalar, kadrlar bilan ta'minlash va biznesni rivojlantirish uchun uzoq muddatli rejalar va byudjetlarga ega bo'lishi kerak. Dasturiy ta'minotni ishlab chiqish ularning rejalarni qo'llab-quvvatlashi kerak, shuning uchun uzoq muddatli dasturiy ta'minotni rejalashtirish juda muhimdir.
21-asrning birinchi o'n yilligida epchil usullarni ilk qo'llagan ishqibozlar tezkor manifestga qattiq sodiq edilar. Ular dasturiy injiniringdagi reja asosidagi yondashuvni ataylab rad etishdi va tezkor usullarning dastlabki qarashlarini har qanday tarzda o'zgartirishni istamadilar. Biroq, tashkilotlar tezkor yondashuvning qadr-qimmati va afzalliklarini ko'rganligi sababli, ular bu usullarni o'zlarining madaniyati va ishlash usullariga moslashtirdilar. Ular buni qilishlari kerak edi, chunki agile usullari asosidagi tamoyillarni amalda ba'zan amalga oshirish qiyin (3.11-rasm).
Tamoyil
|
Amaliyot
|
Mijozlarning ishtiroki.
|
Bu ishlab chiqish guruhi bilan vaqt o'tkazishga tayyor va qodir bo'lgan va tizimning barcha manfaatdor tomonlarini ifodalay oladigan mijozga ega bo'lishiga bog'liq. Ko'pincha mijoz vakillari o'z vaqtlariga nisbatan boshqa talablarga ega va dasturiy ta'minotni ishlab chiqishda to'liq rol o'ynay olmaydilar. Nazorat qiluvchi organlar kabi tashqi manfaatdor tomonlar mavjud bo'lgan joyda, tezkor jamoaga ularning fikrlarini bildirish qiyin.
|
O'zgarishlarni qabul qilish
|
O'zgarishlarga ustuvorlik berish juda qiyin bo'lishi mumkin, ayniqsa manfaatdor tomonlar ko'p bo'lgan tizimlarda. Odatda, har bir manfaatdor tomon turli xil o'zgarishlarga turli xil ustuvorliklar beradi.
|
Qo'shimcha etkazib berish.
|
Tez takrorlash va rivojlanish uchun qisqa muddatli rejalashtirish har doim ham biznes rejalashtirish va marketingning uzoq muddatli rejalashtirish davrlariga mos kelmaydi. Marketing menejerlari samarali marketing reklamasini tayyorlash uchun mahsulot xususiyatlarini bir necha oy oldin bilishlari kerak bo'ladi.
|
Oddiylikni saqlash
|
Yetkazib berish jadvallari bosimi ostida jamoa a'zolari kerakli tizimni soddalashtirishga vaqtlari bo'lmasligi mumkin.
|
insonlar, jarayon emas.
|
Alohida jamoa a'zolari epchil usullarga xos bo'lgan intensiv ishtirok etish uchun mos shaxslarga ega bo'lmasligi mumkin va shuning uchun boshqa jamoa a'zolari bilan yaxshi munosabatda bo'lolmaydi.
|
Ushbu muammolarni hal qilish uchun ko'pgina yirik dasturiy ta'minotni ishlab chiqish loyihalari rejaga asoslangan va tezkor yondashuvlardan amaliyotlarni birlashtiradi. Rejaga asoslangan va tezkor yondashuv o'rtasidagi muvozanatni aniqlash uchun siz bir qator texnik, insoniy va tashkiliy savollarga javob berish lozim. Bular ishlab chiqilayotgan tizim, ishlab chiquvchi guruh va tizimni ishlab chiquvchi va xarid qiluvchi tashkilotlarga tegishli (3.12-rasm).
Agile usullari kichik va o'rta biznes tizimlari va dasturiy mahsulotlarni ishlab chiqish loyihalarida ishlab chiqilgan va takomillashtirilgan, bu erda dasturiy ta'minot ishlab chiqaruvchisi tizimning spetsifikatsiyasini nazorat qiladi. Tizimning boshqa turlarida o'lcham, murakkablik, real vaqtda javob berish va tashqi tartibga solish kabi atributlar mavjud bo'lib, bu "sof" tezkor yondashuv to’g’ri kelmasligini anglatadi. Tizim muhandisligi jarayonida oldindan rejalashtirish, loyihalash va hujjatlar bo'lishi kerak. Asosiy masalalardan ba'zilari quyidagilar hisoblanadi:
Rivojlanayotgan tizim qanchalik katta? Agile usullari tizimni norasmiy muloqot qila oladigan nisbatan kichik bir jamoa bilan ishlab chiqish mumkin bo'lganda samaraliroq bo'ladi. Kattaroq ishlab chiqish guruhlarini talab qiladigan yirik tizimlarga agile usullari to’g’ri kelmaydi, shuning uchun rejaga asoslangan yondashuvdan foydalanish yaxshiroq samara beradi.
Qanday turdagi tizim ishlab chiqilmoqda? Amalga oshirishdan oldin ko'p tahlilni talab qiladigan tizimlar (masalan, murakkab vaqt talablari bo'lgan real vaqt tizimi) odatda ushbu tahlilni amalga oshirish uchun juda batafsil loyihalashga muhtoj. Bunday sharoitda rejaga asoslangan yondashuv eng yaxshi bo'lishi mumkin.
Tizimning kutilayotgan muddati qancha? Uzoq muddatli tizimlar tizim ishlab chiquvchilarining asl niyatlarini qo'llab-quvvatlash jamoasiga etkazish uchun ko'proq loyiha hujjatlarini talab qilishi mumkin. Biroq, tezkor usullar tarafdorlari to'g'ri ta'kidlashicha, hujjatlar ko'pincha yangilanmaydi va tizimni uzoq muddatli saqlash uchun unchalik foydali emas.
Tizim tashqi tartibga solishga bo'ysunadimi? Agar tizim tashqi nazorat qiluvchi tomonidan tasdiqlanishi kerak bo'lsa (masalan, Federal aviatsiya ma'muriyati samolyotning ishlashi uchun muhim bo'lgan dasturiy ta'minotni ma'qullagan bo'lsa), ehtimol sizdan tizim xavfsizligi ishining bir qismi sifatida batafsil hujjatlarni taqdim etishingiz talab qilinadi.
Agile usullari tizimni ishlab chiqish jarayonida hamkorlik qilish va muloqot qilish uchun ishlab chiqish guruhiga katta mas'uliyat yuklaydi. Ular ishlab chiqish jarayoni uchun individual injiniring ko'nikmalariga va dasturiy ta'minot yordamiga tayanadi. Biroq, haqiqatda hamma ham yuqori malakali muhandis emas, insonlar samarali muloqot qilmaydi va jamoalarning birgalikda ishlashi har doim ham mumkin emas. Mavjud hodimlardan eng samarali foydalanish uchun ba'zi rejalashtirishlar talab qilinadi. Asosiy masalalar:
Ishlab chiqish guruhidagi loyihachilar va dasturchilar qanchalik yaxshi? Ba'zida dasturchilar batafsil loyihani kodga tarjima qiladigan rejaga asoslangan yondashuvlarga qaraganda tezkor usullar yuqori malaka darajasini talab qiladi, deb ta'kidlanadi. Agar sizda nisbatan past mahorat darajasi bo'lgan jamoangiz bo'lsa, loyihani ishlab chiqish uchun eng yaxshi xodimlardan, dasturlash uchun mas'ul bo'lmaganlardan foydalanish kerak bo'ladi.
Rivojlanish guruhi qanday tashkil etilgan? Agar ishlab chiqish guruhi taqsimlangan bo'lsa yoki ishlanmaning bir qismi autsorsingga topshirilsa, u holda ishlab chiqish guruhlari bo'ylab muloqot qilish uchun loyiha hujjatlarini ishlab chiqish kerak bo'ladi.
Tizim rivojlanishini qo'llab-quvvatlash uchun qanday texnologiyalar mavjud? Agile usullar ko'pincha rivojlanayotgan loyihani kuzatib borish uchun yaxshi vositalarga tayanadi. Agar siz dasturni vizuallashtirish va tahlil qilish uchun yaxshi vositalarga ega bo'lmagan IDE yordamida tizimni ishlab chiqayotgan bo'lsangiz, unda ko'proq loyiha hujjatlari talab qilinishi mumkin.
Dasturiy ta'minot kompaniyalari to'g'risida televidenie va filmlar eng kam byurokratiya va tashkiliy tartib-qoidalar bilan zamonaviy ish muhitini ta'minlovchi yoshlar (asosan) tomonidan boshqariladigan norasmiy tashkilotlar sifatida mashhur tasavvurni yaratdi. Bu haqiqatdan uzoqdir. Ko'pgina dasturiy ta'minot o'z ish amaliyoti va tartiblarini o'rnatgan yirik kompaniyalarda ishlab chiqilgan. Ushbu kompaniyalar rahbariyati hujjatlarning etishmasligi va tezkor usullarda norasmiy qaror qabul qilishdan noqulay bo'lishi mumkin. Asosiy masalalar:
Amalga oshirishdan oldin, ehtimol, shartnomaviy sabablarga ko'ra, juda batafsil spetsifikatsiya va loyihaga ega bo'lish muhimmi? Agar shunday bo'lsa, ehtimol siz talablarni ishlab chiqish uchun rejaga asoslangan yondashuvdan foydalanishingiz kerak bo'ladi, lekin tizimni amalga oshirishda tezkor rivojlanish amaliyotlaridan foydalanishingiz mumkin.
Dasturiy ta'minotni mijozlarga yoki tizimning boshqa manfaatdor tomonlariga yetkazib beradigan va ulardan tezkor fikr-mulohazalarni oladigan bosqichma-bosqich yetkazib berish strategiyasi realmi? Mijoz vakillari mavjud bo'ladimi va ular ishlab chiqish guruhida ishtirok etishga tayyormi?
Tizim rivojlanishiga ta'sir qilishi mumkin bo'lgan madaniy muammolar bormi? An'anaviy muhandislik tashkilotlarida rejali rivojlanish madaniyati mavjud, chunki bu muhandislik normasi. Bu, odatda, tezkor jarayonlarda qo'llaniladigan norasmiy bilimlarni emas, balki keng loyiha hujjatlarini talab qiladi.
Aslida, loyihani rejaga asoslangan yoki tezkor deb belgilash mumkinmi, degan savol muhim emas. Oxir oqibat, dasturiy ta'minot tizimini xaridorlarning asosiy tashvishi ularning ehtiyojlariga javob beradigan va individual foydalanuvchi yoki tashkilot uchun foydali narsalarni bajaradigan dasturiy ta'minot tizimiga ega yoki yo'qligidir. Dasturiy ta'minot ishlab chiquvchilari pragmatik bo'lishi kerak va ishlab chiqilayotgan tizim turi uchun eng samarali bo'lgan usullarni tanlashi kerak, ular tezkor yoki rejaga asoslangan bo'ladimi yoki yo'qmi.
Do'stlaringiz bilan baham: |