Mavzu: Loyihani rejalashtirish. Reja


Download 84.19 Kb.
bet8/9
Sana23.03.2023
Hajmi84.19 Kb.
#1289309
1   2   3   4   5   6   7   8   9
Bog'liq
Loyihani rejalashtirish

Agile rejalashtirish
Dasturiy ta'minotni ishlab chiqishning tezkor usullari - bu dasturiy ta'minot ishlab chiqiladigan va mijozlarga bosqichma-bosqich etkazib beriladigan iterativ yondashuvlar. Rejaga asoslangan yondashuvlardan farqli o'laroq, bu o'sishlarning funksionalligi oldindan rejalashtirilmaydi, lekin ishlab chiqish jarayonida hal qilinadi. O'sishga nimani kiritish to'g'risidagi qaror taraqqiyotga va mijozning ustuvorligiga bog'liq. Ushbu yondashuvning argumenti shundaki, mijozning ustuvorliklari va talablari o'zgaradi, shuning uchun bu o'zgarishlarga mos keladigan moslashuvchan rejaga ega bo'lish mantiqan. Konning kitobi (Kon 2005) tezkor rejalashtirishga ajoyib kirishdir.
Scrum (Rubin 2013) va Extreme Programming (Beck and Andres 2004) kabi tezkor rivojlanish usullari rejalashtirishga ikki bosqichli yondashuvga ega ­bo'lib, reja asosidagi rivojlanish va rivojlanishni rejalashtirishda boshlang'ich bosqichiga mos keladi:

  1. Relizlarni rejalashtirish, u bir necha oy oldinga qaraydi va tizimning chiqarilishiga kiritilishi kerak bo'lgan xususiyatlarni hal qiladi.

  2. Qisqa muddatli istiqbolga ega bo'lgan va tizimning keyingi o'sishini rejalashtirishga qaratilgan iteratsiyani rejalashtirish . Bu odatda jamoa uchun 2 dan 4 haftagacha bo'lgan ishni anglatadi.

3 -bobda rejalashtirishga Scrum yondashuvini allaqachon tushuntirib berdim, bu loyihaning orqada qolganlari va amalga oshirilishi kerak bo'lgan ishlarning kundalik ko'rib chiqilishiga asoslangan. U birinchi navbatda mo'ljallangan iteratsiyani rejalashtirish uchun. Ekstremal dasturlashning bir qismi sifatida ishlab chiqilgan tezkor rejalashtirishning yana bir yondashuvi foydalanuvchi hikoyalariga asoslangan. Rejalashtirish o'yini deb ataladigan o'yindan relizlarni rejalashtirishda ham, iteratsiyani rejalashtirishda ham foydalanish mumkin.
Rejalashtirish o'yinining asosi ( 23.8-rasm) yakuniy tizimga kiritilishi kerak bo'lgan barcha funktsiyalarni qamrab oluvchi foydalanuvchi hikoyalari to'plamidir ( 3-bobga qarang) . Ishlab chiqish guruhi va dasturiy ta'minot mijozi ushbu hikoyalarni ishlab chiqish uchun birgalikda ishlaydi. Guruh a'zolari hikoyalarni o'qiydilar va muhokama qiladilar va hikoyani amalga oshirish uchun qancha vaqt ketishini o'ylagan holda ularni tartiblaydilar. Ba'zi hikoyalar bir iteratsiyada amalga oshirish uchun juda katta bo'lishi mumkin va ular kichikroq hikoyalarga bo'lingan.
Hikoyalarni tartiblash bilan bog'liq muammo shundaki, odamlar ko'pincha biror narsa qilish uchun qancha kuch yoki vaqt kerakligini hisoblashda qiynaladi. Buni osonlashtirish uchun nisbiy reytingdan foydalanish mumkin. Jamoa hikoyalarni juftlikda solishtiradi va aniq qancha kuch talab qilinishini baholamasdan, qaysi biri ko'proq vaqt va kuch sarflashini hal qiladi. Ushbu jarayonning oxirida hikoyalar ro'yxati tartibga solingan, ro'yxatning yuqori qismidagi hikoyalar amalga oshirish uchun eng ko'p kuch sarflaydi. Keyin jamoa ro'yxatdagi barcha hikoyalarga shartli harakat nuqtalarini ajratadi. Murakkab hikoya 8 ball va oddiy hikoya 2 ball bo'lishi mumkin.
Hikoyalar taxmin qilingandan so'ng, nisbiy harakat "tezlik" g'oyasidan foydalangan holda zarur bo'lgan umumiy kuchning birinchi bahosiga tarjima qilinadi. Tezlik - bu jamoa tomonidan kuniga bajariladigan harakatlar soni. Buni oldingi tajribadan yoki qancha vaqt kerakligini ko'rish uchun bir yoki ikkita hikoyani ishlab chiqish orqali taxmin qilish mumkin. Tezlikni baholash taxminiydir, lekin ishlab chiqish jarayonida aniqlangan. Tezlikni taxmin qilganingizdan so'ng, tizimni amalga oshirish uchun jami harakatni odam-kunlarda hisoblashingiz mumkin.
Relizlarni rejalashtirish tizimning chiqarilishida amalga oshiriladigan xususiyatlarni va hikoyalarni amalga oshirish tartibini aks ettiruvchi hikoyalarni tanlash va takomillashtirishni o'z ichiga oladi. Bu jarayonda mijoz ishtirok etishi kerak. So'ngra chiqish sanasi tanlanadi va voqealar bahosi ­shu sanaga mos keladimi-yo'qligini tekshirish uchun tekshiriladi. Aks holda, hikoyalar ro'yxatga qo'shiladi yoki o'chiriladi.
Takrorlashni rejalashtirish - bu etkazib berish mumkin bo'lgan tizim o'sishini ishlab chiqishning birinchi bosqichidir. Ushbu iteratsiya davomida amalga oshirilishi kerak bo'lgan hikoyalar tanlanadi, hikoyalar soni ishlaydigan tizimni etkazib berish vaqtini (odatda 2 yoki 3 hafta) va jamoaning tezligini aks ettiradi. Yetkazib berish sanasi tugagach, barcha hikoyalar amalga oshirilmagan bo'lsa ham, ishlab chiqish iteratsiyasi tugallanadi. Jamoa amalga oshirilgan voqealarni ko'rib chiqadi va ularning harakat nuqtalarini qo'shadi. Keyin tezlikni qayta hisoblash mumkin va bu o'lchov tizimning keyingi versiyasini rejalashtirishda qo'llaniladi.
Har bir ishlab chiqish iteratsiyasining boshida vazifalarni rejalashtirish bosqichi mavjud bo'lib, ishlab chiquvchilar hikoyalarni rivojlanish vazifalariga ajratadilar. Rivojlanish vazifasi 4-16 soat davom etishi kerak. Ushbu iteratsiyadagi barcha hikoyalarni amalga oshirish uchun bajarilishi kerak bo'lgan barcha vazifalar sanab o'tilgan. ­Keyin individual ishlab chiquvchilar o'zlari amalga oshiradigan aniq vazifalar uchun ro'yxatdan o'tadilar. Har bir ishlab chiquvchi o'zining individual tezligini biladi va shuning uchun ular ajratilgan vaqt ichida amalga oshirishi mumkin bo'lgan ko'proq vazifalar uchun ro'yxatdan o'tmasliklari kerak.
Vazifalarni taqsimlashga bunday yondashuv ikkita muhim afzalliklarga ega:

  1. Butun jamoa iteratsiyada bajarilishi kerak bo'lgan vazifalar haqida umumiy ma'lumot oladi. Shuning uchun ular boshqa jamoa a'zolari nima qilayotganini va agar vazifaga bog'liqlik aniqlansa, kim bilan gaplashish kerakligini tushunishadi.

  2. Yakka tartibdagi ishlab chiquvchilar amalga oshirish uchun vazifalarni tanlaydilar; Ular shunchaki ­loyiha menejeri tomonidan berilgan vazifalar emas. Shuning uchun ular bu vazifalarda egalik tuyg'usiga ega va bu ularni vazifani bajarishga undashi mumkin.

Takrorlashning yarmida taraqqiyot ko'rib chiqiladi. Ushbu bosqichda hikoya harakat nuqtalarining yarmi bajarilishi kerak edi. Shunday qilib, agar iteratsiya 24 hikoya nuqtasi va 36 vazifani o'z ichiga olsa, 12 hikoya nuqtasi va 18 vazifa bajarilgan bo'lishi kerak. Agar bunday bo'lmasa, mijoz bilan ishlab chiqilayotgan tizim qo'shimchasidan qaysi hikoyalarni olib tashlash kerakligi haqida munozaralar olib borish kerak.
Rejalashtirishga bunday yondashuvning afzalligi shundaki, dasturiy ta'minot ko'payishi har doim loyihaning har bir iteratsiyasi oxirida taqdim etiladi. Agar o'sishga kiritilishi kerak bo'lgan xususiyatlar ruxsat etilgan vaqt ichida bajarilmasa, ish hajmi kamayadi. Yetkazib berish jadvali hech qachon uzaytirilmaydi. Biroq, bu muammolarga olib kelishi mumkin, chunki bu mijozlar rejalariga ta'sir qilishi mumkinligini anglatadi. Mijozlar to'liq bo'lmagan tizimdan foydalanishlari yoki tizimning bir chiqarilishi va boshqasi o'rtasida ishlash usullarini o'zgartirishlari kerak bo'lsa, qo'shimcha ish hajmini qisqartirish mumkin.
Agile rejalashtirishdagi asosiy qiyinchilik shundaki, u mijozlarning ishtiroki va mavjudligiga tayanadi. Bu ishtirokni tartibga solish qiyin bo'lishi mumkin, chunki mijozlar vakillari ­ba'zan boshqa ishlarni birinchi o'ringa qo'yishlari kerak va rejalashtirish o'yinida mavjud emas. Bundan tashqari, ba'zi mijozlar an'anaviy loyiha rejalari bilan ko'proq tanish bo'lishi mumkin va tezkor rejalashtirish jarayoni bilan shug'ullanish qiyin bo'lishi mumkin.
Agile rejalashtirish kichik, barqaror rivojlanish guruhlari bilan yaxshi ishlaydi, ular yig'ilishi va amalga oshirilishi kerak bo'lgan voqealarni muhokama qilishi mumkin. Biroq, jamoalar katta va/yoki jug'rofiy jihatdan taqsimlangan bo'lsa yoki jamoa a'zolari tez-tez o'zgarganda, tezkor loyihalarni boshqarish uchun zarur bo'lgan hamkorlikda rejalashtirishda hamma ishtirok etishi deyarli mumkin emas. Shunday qilib, yirik loyihalar odatda ­loyihalarni boshqarishning an'anaviy yondashuvlaridan foydalangan holda rejalashtirilgan.

COCOMO xarajatlarini modellashtirish(COCOMO cost modeling)


Loyiha jadvallarini taxmin qilish qiyin. Siz to'liq bo'lmagan foydalanuvchi talablari ta'rifi asosida dastlabki hisob-kitoblarni amalga oshirishingiz kerak. Dasturiy ta'minot notanish platformalarda ishlashi yoki yangi ishlab chiqish texnologiyasidan foydalanishi kerak bo'lishi mumkin. Loyihada ishtirok etgan odamlar va ularning mahorati noma'lum bo'lishi mumkin. Noaniqliklar shunchalik ko'pki, dastlabki davrda tizimni ishlab chiqish xarajatlarini aniq baholash mumkin emas.

loyihaning bosqichlari. Shunga qaramay, tashkilotlar dasturiy ta'minotga harakat qilishlari va xarajatlarni hisoblashlari kerak. Hisoblash uchun ikki turdagi texnikadan foydalanish mumkin:


  1. Download 84.19 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling