3.2.4 Juft dasturlash (Pair programming)
XP da joriy qilingan yana bir innovatsion amaliyot shundan iboratki, dasturchilar dasturiy ta'minotni ishlab chiqishda juft bo'lib ishlaydi. Dasturlash juftligi dasturiy ta'minotni ishlab chiqish uchun bitta kompyuterda o'tiradi. Biroq, bir xil juftlik har doim ham birga dasturlamaydi. Aksincha, juftliklar dinamik ravishda yaratilgan, shuning uchun barcha jamoa a'zolari rivojlanish jarayonida bir-biri bilan ishlaydi.
U jamoaviy mulkchilik va tizim uchun javobgarlik g'oyasini qo'llab-quvvatlaydi. Bu Weinbergning egosiz dasturlash g'oyasini aks ettiradi (Weinberg 1971), bu erda dasturiy ta'minot butun jamoaga tegishli va shaxslar kod bilan bog'liq muammolar uchun javobgar emas. Buning o'rniga, jamoa ushbu muammolarni hal qilish uchun jamoaviy mas'uliyatga ega.
Bu norasmiy ko'rib chiqish jarayoni sifatida ishlaydi, chunki kodning har bir qatori kamida ikki kishi tomonidan ko'rib chiqiladi. Kodni tekshirish va ko'rib chiqish dasturiy ta'minotdagi xatolarning yuqori foizini aniqlashda samarali. Biroq, ularni tashkil qilish va rivojlanish jarayoniga kechikishlar kiritish uchun ko'p vaqt talab etiladi. Juft dasturlash - bu kamroq rasmiy jarayon bo'lib, kod tekshiruvlari kabi ko'plab xatolarni topa olmaydi. Biroq, rasmiy dastur tekshiruvlariga qaraganda arzonroq va tashkil qilish osonroq.
Bu dasturiy ta'minot tuzilmasini yaxshilash uchun refaktoringni rag'batlantiradi. Oddiy rivojlanish muhitida dasturchilarni refaktor qilishni so'rash bilan bog'liq muammo shundaki, jalb qilingan harakatlar uzoq muddatli foyda uchun sarflanadi. Refaktoringga vaqt sarflaydigan ishlab chiquvchi kodni ishlab chiqish bilan shug'ullanadiganga qaraganda unchalik samarali emas deb baholanishi mumkin. Juftlik dasturlash va jamoaviy egalik qo‘llanilganda, boshqalar jarayonni qo‘llab-quvvatlashi uchun refaktoringdan darhol foyda ko‘radi.
Juftlik dasturlash individual dasturlashdan ko'ra unchalik samarali emas deb o'ylashingiz mumkin. Muayyan vaqt ichida bir juft ishlab chiquvchi yolg'iz ishlaydigan ikkita shaxsning yarmidan ko'p kod ishlab chiqaradi. Agile usullarini qo'llagan ko'plab kompaniyalar juft dasturlashdan shubhalanadilar va undan foydalanmaydilar. Boshqa kompaniyalar muammolarga duch kelganda, tajribali dasturchi bilan kamroq tajribali hamkasbi bilan ishlaydigan juftlik va individual dasturlarni aralashtiradilar.
Juftlik dasturlash qiymatining rasmiy tadqiqotlari aralash natijalar berdi. Uilyams va uning hamkorlari (Williams va boshq. 2000) talabalar ko'ngillilaridan foydalangan holda, juftlik bilan dasturlash samaradorligi ikki kishining mustaqil ishlashi bilan solishtirish mumkinligini aniqladilar. Taklif etilgan sabablar shundan iboratki, juftliklar ishlab chiqishdan oldin dasturiy ta'minotni muhokama qiladilar va shuning uchun noto'g'ri ishga tushirishlar va qayta ishlash kamroq bo'lishi mumkin. Bundan tashqari, norasmiy tekshirish natijasida qochib qutulgan xatolar soni sinov jarayonida aniqlangan xatolarni tuzatishga kamroq vaqt sarflanadi.
Biroq, tajribali dasturchilar bilan olib borilgan tadqiqotlar bu natijalarni takrorlamadi (Arisholm va boshq. 2007). Ular yolg'iz ishlaydigan ikkita dasturchi bilan solishtirganda unumdorlikning sezilarli darajada yo'qolganini aniqladilar. Sifatning ba'zi afzalliklari bor edi, ammo bu juftlik dasturlash xarajatlarini to'liq qoplamadi. Shunga qaramay, juftlik dasturlash jarayonida sodir bo'ladigan bilim almashish juda muhim, chunki u jamoa a'zolari ketganida loyiha uchun umumiy xavflarni kamaytiradi. O'z-o'zidan, bu juft dasturlashni foydali qilishi mumkin.
Do'stlaringiz bilan baham: |