مضامین

انتہائی پروگرامنگ (XP) کیا ہے؟، یہ کن اقدار، اصولوں اور طریقوں پر مبنی ہے۔

آپ پروگرامنگ سے واقف ہیں، لیکن ایکسٹریم پروگرامنگ (مختصر کے لیے XP) آپ کے لیے اب بھی ایک معمہ ہے۔

نام آپ کو دور نہ ہونے دیں، آپ کو مفید معلومات سے محروم ہونے کا خطرہ ہے۔

اس مضمون میں، ہم آپ کو انتہائی پروگرامنگ کے بارے میں جاننے کے لیے درکار ہر چیز کا احاطہ کرنے جا رہے ہیں تاکہ آپ اسے اپنے فائدے کے لیے استعمال کر سکیں۔

انتہائی پروگرامنگ (XP) کیا ہے؟

ایکسٹریم پروگرامنگ ایک سافٹ ویئر ڈویلپمنٹ طریقہ کار ہے جو اس کا حصہ ہے جسے اجتماعی طور پر فرتیلی طریقہ کار کے نام سے جانا جاتا ہے۔ XP کو اقدار، اصولوں اور طریقوں پر بنایا گیا ہے، اور اس کا مقصد چھوٹے اور درمیانے درجے کی ٹیموں کو اعلیٰ معیار کا سافٹ ویئر تیار کرنے اور ہمیشہ بدلتی ہوئی اور بدلتی ہوئی ضروریات کو اپنانے کے قابل بنانا ہے۔

جو چیز XP کو دیگر چست طریقوں سے ممتاز کرتی ہے وہ یہ ہے کہ XP سافٹ ویئر کی ترقی کے تکنیکی پہلوؤں پر زور دیتا ہے۔ انتہائی پروگرامنگ اس بارے میں قطعی ہے کہ انجینئر کس طرح کام کرتے ہیں کیوں کہ انجینئرنگ کے عمل کے بعد ٹیموں کو پائیدار رفتار سے اعلیٰ معیار کا کوڈ فراہم کرنے کی اجازت ملتی ہے۔

ایکسٹریم پروگرامنگ، مختصراً، اچھے طریقوں کو انتہائی حد تک لے جایا جاتا ہے۔ چونکہ جوڑی پروگرامنگ اچھی ہے، آئیے اسے ہر وقت کرتے ہیں۔ چونکہ پہلے سے جانچ کرنا اچھا ہے، اس لیے ہم پروڈکشن کوڈ لکھے جانے سے پہلے ٹیسٹ کرتے ہیں۔

انتہائی پروگرامنگ (XP) کیسے کام کرتی ہے؟

XP، دیگر طریقوں کے برعکس، ان اقدار اور اصولوں پر مبنی ہے جو انجینئرنگ کے طریقوں کے لحاظ سے اہم اور متعلقہ ہیں۔

اقدار ٹیموں کو مقصد فراہم کرتی ہیں۔ وہ اعلیٰ سطح پر آپ کے فیصلوں کی رہنمائی کے لیے "شمالی ستارے" کے طور پر کام کرتے ہیں۔ تاہم، اقدار خلاصہ ہیں اور مخصوص رہنمائی کے لیے بہت مبہم ہیں۔ مثال کے طور پر: یہ کہنا کہ آپ مواصلات کی قدر کرتے ہیں بہت سے مختلف نتائج کا باعث بن سکتے ہیں۔

طرز عمل، ایک لحاظ سے، اقدار کے مخالف ہیں۔ وہ کنکریٹ اور نیچے زمین پر ہیں، defiکیا کرنا ہے اس کی تفصیلات طے کرنا۔ مشقیں ٹیموں کو اقدار کے لیے خود کو جوابدہ رکھنے میں مدد کرتی ہیں۔ مثال کے طور پر، معلوماتی کام کی جگہوں کی مشق شفاف اور سادہ مواصلات کو فروغ دیتی ہے۔

اصول ڈومین کے لیے مخصوص رہنما خطوط ہیں جو طریقوں اور اقدار کے درمیان فرق کو ختم کرتے ہیں۔

ایکسٹریم پروگرامنگ ایکس پی کی قدریں۔

XP اقدار: مواصلات، سادگی، تاثرات، ہمت اور احترام۔ آئیے ان میں سے ہر ایک کو مزید تفصیل سے دیکھیں۔

ایکسٹریم پروگرامنگ کے اقدار اور اصول

ڈرافٹنگ BlogInnovazione.یہ تصویر کی alexsoft.com

مواصلات: مواصلات کی کمی ایک ٹیم کے اندر علم کو بہنے سے روکتی ہے۔ اکثر، جب کوئی مسئلہ ہوتا ہے، تو کوئی پہلے سے جانتا ہے کہ اسے کیسے ٹھیک کرنا ہے۔ لیکن مواصلات کی کمی انہیں مسئلہ کے بارے میں جاننے یا اس کے حل میں تعاون کرنے سے روکتی ہے۔ اس طرح، مسئلہ دو بار حل ہو جاتا ہے، فضلہ پیدا ہوتا ہے.

سادگی: سادگی کا کہنا ہے کہ آپ ہمیشہ آسان کام کرنے کی کوشش کرتے ہیں جو کام کرتا ہے۔ اسے اکثر غلط سمجھا جاتا ہے اور اسے "وہ کام کرتا ہے" والے حصے کو نظر انداز کرتے ہوئے سب سے آسان چیز، مدت کے طور پر لیا جاتا ہے۔

یہ یاد رکھنا بھی ضروری ہے کہ سادگی انتہائی متعلقہ ہے۔ جو چیز ایک ٹیم کے لیے آسان ہے وہ دوسری ٹیم کے لیے پیچیدہ ہے اور یہ مکمل طور پر ہر ٹیم کی مہارت، تجربے اور علم پر منحصر ہے۔

آپ کی رائے: زیادہ روایتی، جھرنے والے سافٹ ویئر ڈویلپمنٹ کے طریقوں میں تاثرات اکثر "بہت کم، بہت دیر سے" ہوتے ہیں۔

XP، تاہم، تبدیلی کو قبول کرتا ہے اور XP ٹیمیں بروقت اور مستقل رائے کے لیے کوشش کرتی ہیں۔ اگر کورس میں تصحیح کی ضرورت ہو تو، XPers جلد از جلد جاننا چاہتے ہیں۔

انتہائی پروگرامنگ کا سائیکل

ڈرافٹنگ BlogInnovazione.یہ تصویر کی alexsoft.com

تاثرات کئی شکلوں اور سائز میں آتے ہیں۔ جب آپ پروگرامنگ میں شراکت دار ہوتے ہیں، تو آپ کے ساتھی کے تبصرے اہم تاثرات ہوتے ہیں۔ اسی طرح کسی آئیڈیا کے بارے میں ٹیم کے دوسرے ممبران کی رائے ہوتی ہے، بشمول وہ گاہک جو، مثالی طور پر، ٹیم کا رکن ہے۔

ٹیسٹ قیمتی آراء کا ایک اور ذریعہ ہیں جو ٹیسٹ کے نتائج سے بالاتر ہیں۔ چاہے ٹیسٹ لکھنا آسان ہو یا مشکل، فیڈ بیک بھی۔ اگر آپ کو ٹیسٹ لکھنے میں پریشانی ہو رہی ہے تو، آپ کا پروجیکٹ شاید بہت پیچیدہ ہے۔ تاثرات سنیں اور اپنے ڈیزائن کو ہموار کریں۔

کوئی ایسی چیز جو ایک عظیم خیال کی طرح لگتی ہو وہ عملی طور پر اتنی اچھی طرح سے کام نہ کرے۔ لہذا، تیار شدہ کوڈ بھی رائے کا ایک ذریعہ ہے، جیسا کہ تقسیم شدہ مصنوعات ہے۔

آخر میں، ذہن میں رکھیں کہ بہت زیادہ رائے ہے. اگر کوئی ٹیم اس سے زیادہ فیڈ بیک پیدا کرتی ہے جس سے وہ سنبھال سکتا ہے، اہم فیڈ بیک ریڈار سے گر سکتا ہے۔ اس لیے یہ ضروری ہے کہ سست ہو جائیں اور یہ معلوم کریں کہ اضافی تاثرات کی وجہ کیا ہے اور اسے ٹھیک کریں۔

کوراجیو۔: کینٹ بیک defiہمت "خوف کے مقابلہ میں موثر کارروائی" کے طور پر ابھرتی ہے۔ ایک سافٹ ویئر انجینئر کے طور پر، آپ کو بہت ڈرنا ہے اور اس لیے ہمت دکھانے کے کافی مواقع ہیں۔

سچ کہنے کے لیے ہمت کی ضرورت ہوتی ہے، خاص طور پر ناخوشگوار، جیسے ایماندارانہ اندازے۔ رائے دینے اور وصول کرنے میں بھی ہمت کی ضرورت ہوتی ہے۔ اور ڈوبی لاگت کی غلط فہمی میں پڑنے سے بچنے کے لیے ہمت کی ضرورت ہوتی ہے اور ایک ناکام حل کو مسترد کر دیا جاتا ہے جس پر کافی سرمایہ کاری ہوئی ہو۔

احترام کرنا: XP کی ایک بنیادی بنیاد یہ ہے کہ ہر کوئی اپنے کام کی پرواہ کرتا ہے۔ اگر دیکھ بھال اور احترام نہ ہو تو تکنیکی مہارت کی کوئی مقدار کسی پروجیکٹ کو نہیں بچا سکتی۔

ہر شخص عزت اور احترام کے لائق ہے، اور اس میں یقیناً وہ لوگ شامل ہیں جو سافٹ ویئر ڈویلپمنٹ پروجیکٹ میں شامل ہیں۔ جب آپ اور آپ کی ٹیم کے اراکین ایک دوسرے کا احترام کرتے ہیں اور ان کا خیال رکھتے ہیں، کلائنٹ، پروجیکٹ اور اس کے مستقبل کے صارفین، تو سب کو فائدہ ہوتا ہے۔

ایکسٹریم پروگرامنگ ایکس پی کے اصول

اصول اقدار سے زیادہ مخصوص رہنمائی فراہم کرتے ہیں۔ وہ رہنما اصول ہیں جو اقدار کو روشن کرتے ہیں اور انہیں زیادہ واضح اور کم مبہم بناتے ہیں۔

ڈرافٹنگ BlogInnovazione.یہ تصویر کی alexsoft.com

مثال کے طور پر، صرف ہمت کی قدر کی بنیاد پر، آپ یہ نتیجہ اخذ کر سکتے ہیں کہ اپنے شیڈول میں فوراً بڑی تبدیلی کرنا مناسب ہے۔ تاہم، Baby Steps کا اصول ہمیں بتاتا ہے کہ بڑی تبدیلیاں خطرناک ہوتی ہیں۔ اس لیے اس کے بجائے چھوٹے کو ترجیح دیں۔

عمانیت۔: انسان انسانوں کے لیے سافٹ ویئر بناتے ہیں، یہ ایک حقیقت ہے جسے اکثر نظر انداز کیا جاتا ہے۔ لیکن بنیادی انسانی ضروریات، طاقتوں اور کمزوریوں کو مدنظر رکھنے سے ایسی مصنوعات تیار ہوتی ہیں جنہیں انسان استعمال کرنا چاہتا ہے۔ اور کام کا ایک ایسا ماحول جو آپ کو تکمیل اور ترقی کا موقع فراہم کرتا ہے، تعلق کا احساس اور بنیادی تحفظ، وہ جگہ ہے جہاں آپ دوسروں کی ضروریات پر زیادہ آسانی سے غور کرتے ہیں۔

معیشت: XP میں، ٹیمیں ہمیشہ سافٹ ویئر ڈویلپمنٹ کی معاشی حقیقتوں پر توجہ دیتی ہیں، معاشی خطرات اور پروجیکٹ کی ضروریات کا مسلسل جائزہ لیتی ہیں۔

مثال کے طور پر، وہ تکنیکی خدشات کے بجائے اپنی کاروباری قدر کی بنیاد پر صارف کی کہانیوں کو نافذ کریں گے۔

مشترکہ فائدہ: XP کے بعد، آپ ایسے حلوں سے گریز کرتے ہیں جو ایک فریق کو دوسرے کی قیمت پر فائدہ پہنچاتے ہیں۔ مثال کے طور پر، توسیع شدہ چشمی کسی اور کو سمجھنے میں مدد کر سکتی ہے، لیکن یہ آپ کو اس پر عمل درآمد کرنے سے روکتا ہے اور آپ کے صارفین کے لیے اس میں تاخیر کرتا ہے۔

ایک باہمی فائدہ مند حل خودکار قبولیت ٹیسٹ کا استعمال کرنا ہے۔ اپنے نفاذ کے بارے میں فوری تاثرات حاصل کریں، آپ کے ساتھیوں کو کوڈ میں عین مطابق تفصیلات ملیں، اور صارفین کو پہلے ان کی خصوصیات ملیں۔ اس کے علاوہ، آپ سب کے پاس رجعت کے خلاف حفاظتی جال ہوگا۔

فائدہ (باہمی فائدہ): اگر کوئی حل ایک سطح پر کام کرتا ہے، تو یہ اعلی یا نچلی سطح پر بھی کام کر سکتا ہے۔ مثال کے طور پر، ابتدائی اور مستقل رائے حاصل کرنا XP میں مختلف ڈگریوں کے لیے خطرے میں ہے۔

  • ڈویلپر کی سطح پر، پروگرامرز ٹیسٹ فرسٹ اپروچ کا استعمال کرتے ہوئے اپنے کام سے فیڈ بیک حاصل کرتے ہیں۔
  • ٹیم کی سطح پر، مسلسل انضمام کی پائپ لائن دن میں کئی بار کوڈ کو مربوط، بناتی اور جانچتی ہے۔
  • تنظیمی طور پر، ہفتہ وار اور سہ ماہی سائیکل ٹیموں کو رائے حاصل کرنے اور ضرورت کے مطابق اپنے کام کو بہتر بنانے کی اجازت دیتے ہیں۔

بہتری: بہتری کے اصول کے مطابق، ٹیموں کا مقصد ابتدائی نفاذ میں کمال حاصل کرنا نہیں ہے، بلکہ ایک ایسا عمل درآمد کرنا ہے جو کافی اچھا ہو، اور پھر حقیقی صارفین کے تاثرات کے ساتھ اسے مسلسل سیکھتے اور بہتر بناتے ہیں۔

تنوع: آپ اور آپ کے ساتھی نقطہ نظر، مہارت اور رویوں کے تنوع سے فائدہ اٹھاتے ہیں۔ اس طرح کا تنوع اکثر تنازعات کا باعث بنتا ہے، لیکن یہ ٹھیک ہے۔

تصادم اور اختلاف بہتر خیالات کے ابھرنے کے مواقع ہیں جب ہر کوئی ہمت اور احترام کی اقدار سے کھیلتا ہے۔ مخالف نقطۂ نظر کا اظہار کرنے کی جرات، ان کے اظہار کا احترام سول اور ہمدردانہ انداز میں۔ اور یہ سب ایک موثر مواصلاتی مشق ہے۔

عکس: عظیم ٹیمیں اپنے کام پر غور کرتی ہیں اور تجزیہ کرتی ہیں کہ کس طرح بہتر ہونا ہے۔ XP اس کے لیے بہت سے مواقع فراہم کرتا ہے۔ نہ صرف اپنے ہفتہ وار اور سہ ماہی چکروں میں بلکہ ہر عمل میں اسے فروغ دیتا ہے۔

منطقی تجزیہ کے علاوہ احساسات پر بھی غور کرنا ضروری ہے۔ کسی بھی چیز کے بارے میں استدلال کرنے سے پہلے آپ کا آنت آپ کو مطلع کر سکتا ہے۔ اور اس طرح وہ غیر تکنیکی لوگوں سے بات کر سکتا ہے، وہ ایسے سوالات پوچھ سکتے ہیں جو بالکل نئے امکانات کو کھولتے ہیں۔

فلوسو: روایتی سافٹ ویئر ڈویلپمنٹ طریقہ کار کے الگ الگ مراحل ہوتے ہیں، جو طویل عرصے تک چلتے ہیں اور ان میں رائے اور کورس کی اصلاح کا بہت کم موقع ہوتا ہے۔ اس کے بجائے، XP میں سافٹ ویئر کی ترقی ان سرگرمیوں میں ہوتی ہے جو مسلسل ہوتی ہیں، قدر کے ایک مستقل "سٹریم" میں۔

مواقع: سافٹ ویئر کی ترقی میں مسائل ناگزیر ہیں۔ تاہم، ہر مسئلہ بہتری کا موقع ہے. انہیں اس طرح دیکھنا سیکھیں اور آپ کے تخلیقی اور ہدف پر مبنی حل سامنے آنے کا امکان بہت زیادہ ہے جو انہیں دوبارہ ہونے سے روکنے کے لیے بھی کام کرتے ہیں۔

فالتو پن: فالتو پن کا اصول کہتا ہے کہ اگر کوئی مسئلہ اہم ہے تو اس کا مقابلہ کرنے کے لیے آپ کو بہت سے حربے استعمال کرنے چاہئیں۔

خامیوں کو لے لیں۔ ایسا کوئی ایک حربہ نہیں ہے جو تمام نقائص کو پیداوار سے بچنے سے روک سکے۔

لہذا XP کا حل معیار کے اقدامات کا ایک سیٹ اسٹیک کرنا ہے۔ جوڑی پروگرامنگ، جانچ، مسلسل انضمام. دفاع کی ہر ایک لائن، ایک ساتھ مل کر عملی طور پر ناقابل تسخیر دیوار۔

ناکامی: ناکامی تب ضائع نہیں ہوتی جب یہ علم میں بدل جاتی ہے۔ ایکشن لینا اور جو کام نہیں کرتا اسے جلدی سیکھنا بہت سے اختیارات میں سے انتخاب کرتے وقت عدم فیصلہ کی وجہ سے ہونے والی بے عملی سے کہیں زیادہ نتیجہ خیز ہے۔

کوالٹی: لوگ اکثر سوچتے ہیں کہ معیار اور رفتار کے درمیان کوئی مخمصہ ہے۔

یہ اس کے برعکس ہے: معیار کو بہتر بنانے پر زور دینا آپ کو تیز تر بناتا ہے۔

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

مثال کے طور پر، ری فیکٹرنگ — کوڈ کے رویے کو بدلے بغیر اس کی ساخت کو تبدیل کرنا — ایک ایسا عمل ہے جو کوڈ کو سمجھنا اور تبدیل کرنا آسان بناتا ہے۔ نتیجے کے طور پر، آپ کو کوڈ میں نقائص متعارف کروانے کا امکان کم ہوتا ہے، جو آپ کو کیڑے ٹھیک کرنے کی ضرورت سے پہلے زیادہ قیمت فراہم کرنے کی اجازت دیتا ہے۔

چھوٹے چھوٹے قدم: بڑی تبدیلیاں خطرناک ہیں۔ XP ہر سطح پر چھوٹے چھوٹے قدموں میں تبدیلیاں کرکے اس خطرے کو کم کرتا ہے۔

پروگرامرز ٹیسٹ سے چلنے والی ترقی کا استعمال کرتے ہوئے چھوٹے مراحل میں کوڈ لکھتے ہیں۔ وہ اپنے کوڈ کو ہر چند ہفتوں یا مہینوں کے بجائے دن میں کئی بار مین لائن میں ضم کرتے ہیں۔ یہ منصوبہ خود طویل مدتی مراحل کے بجائے مختصر چکروں میں ہوتا ہے۔

ذمہ داری قبول کر لی: XP میں، ذمہ داری قبول کی جانی چاہیے، کبھی تفویض نہیں کی جانی چاہیے۔

احتساب آپ کے ذمہ دار ہونے کے بارے میں فیصلے کرنے کے اختیار کے ساتھ آنا چاہیے۔ اس کے برعکس بھی سچ ہے۔ آپ نہیں چاہتے کہ لوگ فیصلے کریں اگر انہیں اپنے نتائج کے ساتھ زندگی گزارنے کی ضرورت نہیں ہے۔

روایتی اور غیر چست طریقوں کے ساتھ مماثلتیں اور فرق

انتہائی پروگرامنگ، ایک چست طریقہ کار ہونے کی وجہ سے، سخت منصوبوں پر عمل کیے بغیر اسے قبول کیا جا سکتا ہے اور اسے اپنانا شروع کیا جا سکتا ہے۔ یہ ایک بڑے ابتدائی منصوبے کے بجائے ایک تکراری ڈیزائن ہے۔

XP روایتی طریقوں سے نمایاں طور پر مختلف ہے، یعنی کاسکیڈنگ، دیرپا مراحل سے گریز۔

  • منصوبہ بندی کے مرحلے کے بجائے، XP میں آپ ہر ترقیاتی سائیکل کے آغاز میں منصوبہ بندی کرتے ہیں جو عام طور پر صرف ایک ہفتہ طویل ہوتا ہے۔
  • اقساط کو جانچنے کے بجائے، جلد از جلد اپنی درخواست کی جانچ کریں: یعنی اصل کوڈ کے نفاذ سے پہلے۔
  • طویل نفاذ کے مراحل کے دوران تنہائی میں خصوصیات کو رول آؤٹ کرنے اور پھر اپنے تعاون کو مین لائن میں ضم کرنے کی جدوجہد کرنے کے بجائے، آپ چھوٹے حصوں میں کام کرتے ہیں اور انہیں جتنی بار ممکن ہو انضمام کرتے ہیں۔

XP دیگر فرتیلی طریقوں سے کیسے مختلف ہے؟

انتہائی پروگرامنگ، اپنی نوعیت کے لحاظ سے، دیگر فرتیلی طریقوں کے ساتھ بہت زیادہ مشترک ہے لیکن ان میں منفرد بھی ہے۔

زیادہ تر دیگر ترقی کے طریقے کام کو انجام دینے کے بارے میں زیادہ کچھ نہیں بتاتے ہیں۔ دوسری طرف، XP، جب اس کی بات آتی ہے تو بہت رائے رکھتا ہے اور سافٹ ویئر انجینئرنگ کے طریقوں پر بہت زیادہ زور دیتا ہے۔

انتہائی پروگرامنگ بمقابلہ سکرم

سکرم ایک فریم ورک ہے جو ٹیموں کو انکولی طریقے سے پیچیدہ پروجیکٹوں کو تیار کرنے میں مدد کرتا ہے۔ سکرم یہ نہیں بتاتا کہ ڈویلپر اپنا کام کیسے کرتے ہیں۔ XP، جیسا کہ ذکر کیا گیا ہے، پروگرامنگ کے اچھے طریقوں پر بہت زیادہ زور دیتا ہے۔

سکرم فریم ورک

ڈرافٹنگ BlogInnovazione.en تصویر خالص حل

اس کے علاوہ، XP واضح طور پر پروگرامنگ کے بارے میں ہے. دوسری طرف، سکرم کو کسی بھی پروجیکٹ پر لاگو کیا جا سکتا ہے جو تکراری نقطہ نظر سے فائدہ اٹھاتا ہے۔

XP اپنے اجزاء میں تبدیلیاں قبول کرتا ہے۔ ٹیموں کو بااختیار بنایا جاتا ہے اور یہاں تک کہ ان کی مخصوص ضروریات کی بنیاد پر طریقوں میں ترمیم کرنے کی حوصلہ افزائی کی جاتی ہے۔ دوسری طرف سکرم گائیڈ اس بات پر اٹل ہے کہ "اگرچہ اسکرم کے صرف کچھ حصوں پر عمل کیا جا سکتا ہے، نتیجہ سکرم نہیں ہے۔"

اس کے علاوہ، سکرم ایک فریم ورک ہے جس کو کام کرنے کے لیے طریقہ کار اور طریقوں کے ساتھ مکمل کرنے کی ضرورت ہے۔

اس کا مطلب ہے کہ انتہائی پروگرامنگ اور سکرم میں کام کرنے کی انتہائی سفارش کی جاتی ہے۔

کردار اور ذمہ داریاں

کینٹ بیک کے مطابق، ایک بالغ XP ٹیم کو سخت کردار تفویض نہیں کرنے چاہئیں، لیکن یہ تسلیم کرنا چاہیے کہ یہ کردار نئی ٹیموں کے لیے اس وقت تک کارآمد ہو سکتے ہیں جب تک کہ وہ سست ہونا شروع نہ کر دیں یا تعاون کو مشکل نہ کر دیں۔

آئیے کچھ اہم کرداروں کو دیکھتے ہیں:

  • کلائنٹ: مثالی طور پر، صارف کو سوالات کے جوابات دینے، صارف کی ضروریات کو ترجیح دینے، یا قبولیت کی جانچ میں مدد کرنے کے لیے سائٹ پر ہونا چاہیے۔ جب یہ ممکن نہ ہو، تو یہ کردار کسٹمر کے نمائندے کے ذریعے پُر کیا جا سکتا ہے۔
  • پروگرامرز: ایک XP ٹیم پر، پروگرامرز کاموں کو مکمل کرنے، خودکار ٹیسٹ لکھنے، اور کہانیوں کو نافذ کرنے کے لیے درکار کوششوں کا تخمینہ لگاتے ہیں۔
  • کوچ: کوچ کا ہونا ضروری نہیں اور بغیر کوچ کے ہدف تک پہنچنا ممکن ہے۔ تاہم، کسی ٹیم کی کوچنگ کے لیے XP کا تجربہ رکھنے والا شخص اس بات کو یقینی بنا سکتا ہے کہ ٹیم کے اراکین مشقوں کی پیروی کریں، انہیں عادات میں تبدیل کریں، اور پرانے طریقوں پر واپس نہ جائیں۔
  • ٹریکر- ایک ٹریکر ٹیم کی ترقی کے میٹرکس کو ٹریک کرتا ہے اور ٹیم کے ہر رکن سے مسائل کی نشاندہی کرنے اور حل تلاش کرنے کے لیے بات کرتا ہے۔ ٹریکر میٹرکس کا حساب لگاتا ہے جو اس بات کی نشاندہی کرتا ہے کہ ٹیم کتنی اچھی کارکردگی کا مظاہرہ کر رہی ہے، جیسے کہ رفتار اور برن ڈاؤن گراف، یا ٹیم ڈیجیٹل سکرم یا کنبان بورڈ استعمال کرتی ہے جو خود بخود ان کا حساب لگاتا ہے۔

طریقے اور تکنیک

یہ XP میں اپنائے گئے طریقے ہیں۔ انہیں تین اہم گروپوں میں تقسیم کیا گیا ہے: سافٹ ویئر انجینئرنگ، کام کی جگہ اور پروجیکٹ مینجمنٹ۔

سافٹ ویئر انجینئرنگ

جوڑی پروگرامنگ: XP میں، آپ مشین پر بیٹھے ہوئے جوڑوں میں کوڈ لکھتے ہیں۔ آپ اور آپ کا جوڑا ایک دوسرے سے بات کرتے ہیں جب آپ اس خصوصیت کا تجزیہ کرتے ہیں، اس پر عمل کرتے ہیں اور اس کی جانچ کرتے ہیں جس پر آپ کام کر رہے ہیں۔ جوڑی پروگرامنگ خاص طور پر کم کیڑے کے ساتھ کوڈ تیار کرنے میں اچھی ہے جب کہ ابھی بھی مشغول، تفریحی اور تھکا دینے والا ہے۔

دس منٹ کی حد: مطلوبہ زیادہ سے زیادہ دس منٹ میں تمام خودکار ٹیسٹ چلانے سمیت پورے پروجیکٹ کو بنانے کے لیے 10 منٹ کی اجازت دیتا ہے۔ یہ حد جانچ کو ہموار اور موثر رکھنے کے لیے ہے۔

پروگرامنگ سے پہلے ٹیسٹ: ٹیسٹ فرسٹ اپروچ کا استعمال کرتے ہوئے خصوصیات کو نافذ کریں، جسے بھی کہا جاتا ہے۔ ٹیسٹ پر مبنی ترقی (TDD). TDD ایک سادہ تکراری طریقہ کار کا استعمال کرتے ہوئے ترقی پر مشتمل ہے:

  • ٹیسٹ میں ناکام ہونے کے بعد کوڈ لکھیں؛
  • پھر، امتحان پاس کرنے کے لیے پروڈکشن کوڈ لکھیں۔
  • اگر ضروری ہو تو، اپنے پروڈکشن کوڈ کو صاف اور سمجھنے میں آسان بنانے کے لیے ری فیکٹر کریں۔

TDD کئی فوائد لاتا ہے۔

سب سے پہلے، رائے. اگر ٹیسٹ لکھنا مشکل ہے تو، آپ جس ڈیزائن کی تلاش کر رہے ہیں یا جو آپ کو وراثت میں ملا ہے وہ شاید بہت پیچیدہ ہے اور آپ کو اسے آسان بنانے کی ضرورت ہے۔

دوم، TDD پروگرامرز کو اپنے لکھے ہوئے کوڈ پر بھروسہ کرنے کی اجازت دیتا ہے اور ایک عمدہ لوپنگ تال تخلیق کرتا ہے جہاں اگلا مرحلہ ہمیشہ واضح ہوتا ہے۔

آخری لیکن کم از کم، شروع سے TDD کا استعمال 100% کوڈ کوریج کو یقینی بناتا ہے۔ اس کے بعد ٹیسٹ سویٹ مستقبل میں ہونے والی تبدیلیوں کے لیے صحیح معنوں میں حفاظتی جال بن جاتا ہے، کوڈ ری فیکٹرنگ کی حوصلہ افزائی کرتا ہے اور معیار کا ایک عمدہ دائرہ بناتا ہے۔

اضافی ڈیزائن: انکریمنٹل ڈیزائن کی مشق کا مطلب یہ ہے کہ آپ کو روزانہ اپنے ایپلیکیشن ڈیزائن میں سرمایہ کاری کرنے کی ضرورت ہے، نقل کو ہٹانے کے مواقع کی تلاش میں اور آپ کے سسٹم کو آج جس چیز کی ضرورت ہے اس کے لیے بہترین ممکنہ ڈیزائن حاصل کرنے کے لیے چھوٹی چھوٹی اصلاحات کرنا ہوں گی۔

مسلسل انضمام: XP میں، آپ اپنے کام کو دن میں کئی بار مرکزی مشترکہ ذخیرے میں ضم کرتے ہیں، جس سے پورے نظام کی خودکار تعمیر شروع ہوتی ہے۔ جلد از جلد اور جتنی بار ممکن ہو انضمام ڈرامائی طور پر انضمام کی لاگت کو کم کر دیتا ہے کیونکہ اس سے انضمام اور منطقی تنازعات ہونے کا امکان کم ہوتا ہے۔ یہ ماحولیاتی اور نشے کے مسائل کو بھی بے نقاب کرتا ہے۔

مشترکہ کوڈ (اجتماعی ملکیت): XP مشترکہ کوڈ، یا اجتماعی ملکیت کو فروغ دیتا ہے: ہر ڈویلپر تمام کوڈ کا ذمہ دار ہے۔ یہ معلومات کے تبادلے کی حوصلہ افزائی کرتا ہے، ٹیم بس فیکٹر کو کم کرتا ہے اور اگر ہم تنوع کے اصول پر غور کریں تو ہر ماڈیول کے مجموعی معیار کو بڑھاتا ہے۔

سنگل کوڈ بیس: سنگل کوڈ بیس کو "ٹرنک پر مبنی ترقی" کے نام سے بھی جانا جاتا ہے۔ اس کا مطلب ہے کہ سچائی کا ایک ہی ذریعہ ہے۔ اس لیے لمبے عرصے تک تنہائی میں ترقی کرنے کے بجائے، اپنے تعاون کو جلد اور کثرت سے ایک ہی سلسلے میں ضم کریں۔ فیچر فلیگ آپ کے فیچرز کے مکمل ہونے تک ان کے استعمال کو محدود کرنے میں مدد کرتے ہیں۔

روزانہ کی تقسیم: دن میں کم از کم ایک بار پیداوار میں تعیناتی مسلسل انضمام کا منطقی نتیجہ ہے۔ درحقیقت، آج، بہت سی ٹیمیں اس سے بھی آگے جاتی ہیں اور مسلسل عمل درآمد کی مشق کرتی ہیں۔ یعنی، جب بھی کوئی مین لائن میں شامل ہوتا ہے، ایپلیکیشن کو پروڈکشن میں لگایا جاتا ہے۔

کوڈ اور ٹیسٹ: اس مشق کا مطلب ہے کہ سورس کوڈ، بشمول ٹیسٹ، سافٹ ویئر پروجیکٹ کا واحد مستقل نمونہ ہے۔ دستاویزات سمیت دیگر اقسام کے نمونے بنانے میں مشغول ہونا اکثر بیکار ہوتا ہے کیونکہ اس سے گاہک کے لیے حقیقی قدر پیدا نہیں ہوتی۔

اگر آپ کو دیگر نمونے یا دستاویزات کی ضرورت ہے تو، انہیں پروڈکشن کوڈ اور ٹیسٹ سے تیار کرنے کی کوشش کریں۔

بنیادی وجہ تجزیہ: جب بھی کوئی نقص پیداوار میں جائے تو صرف عیب کو درست نہ کریں۔ اس بات کو یقینی بنائیں کہ آپ کو پتہ چل گیا ہے کہ اس کی وجہ کیا ہے، آپ اور آپ کے ساتھی سکڈ کو روکنے میں کیوں ناکام رہے۔ پھر، یہ یقینی بنانے کے لیے اقدامات کریں کہ ایسا دوبارہ نہ ہو۔

کام کا ماحول

ساتھ بیٹھو: XP میں، ٹیمیں کھلی جگہ پر مل کر کام کرنے کو ترجیح دیتی ہیں۔ یہ مشق مواصلات اور ٹیم سے تعلق رکھنے کے احساس کو فروغ دیتی ہے۔

پوری ٹیم: ہر وہ شخص جو اس منصوبے کی کامیابی کے لیے درکار ہے XP ٹیم کا حصہ ہے۔ یہ انتہائی سیاق و سباق سے متعلق ہے – ہر ٹیم کے لیے مختلف – اور متحرک، یہ ٹیم کے اندر تبدیل ہو سکتا ہے۔

معلوماتی کام کی جگہیں۔: ایک معلوماتی ورک اسپیس معلومات کو ظاہر کرنے کے لیے ٹیم کی فزیکل اسپیس کا استعمال کرتی ہے جو کسی کو بھی، ایک نظر میں، پروجیکٹ کی پیشرفت کو جاننے کی اجازت دیتی ہے۔ یہ کیسے کیا جاتا ہے، فزیکل نوٹس اور گراف سے لے کر پراجیکٹ مینجمنٹ سوفٹ ویئر سے کنبان بورڈز اور ڈیش بورڈز دکھائے جانے والے اسکرین شاٹس تک مختلف ہو سکتے ہیں۔

توانائی بخش کام: XP میں، آپ صرف اس وقت تک کام کرتے ہیں جب تک آپ توانائی سے بھرپور کام کر سکتے ہیں۔ کام کے اوقات 40 فی ہفتہ تک محدود ہونے چاہئیں، زیادہ سے زیادہ۔

کام کی ترتیب لگانا

Analisi- صارف کی ضروریات کو ایک فارمیٹ میں لکھیں جسے صارف تجزیہ کہا جاتا ہے۔ صارف کے تجزیے کا ایک مختصر، وضاحتی نام ہوتا ہے اور اس کی بھی ایک مختصر وضاحت ہوتی ہے جس کو لاگو کرنے کی ضرورت ہے۔

ناپختہ: سائیکل کی منصوبہ بندی کرتے وقت، معمولی کام شامل کریں جنہیں ٹیم ضرورت پڑنے پر ترک کر سکتی ہے۔ اگر ٹیم بہت زیادہ ڈیلیور کرتی ہے تو مزید کہانیاں ہمیشہ شامل کی جا سکتی ہیں۔

سائیکل (ماہانہ اور ہفتہ وار): XP میں ترقی دو اہم دوروں میں ہوتی ہے: ہفتہ وار سائیکل اور ماہانہ سائیکل۔

میٹنگز، سائیکل، شیڈول ریلیز: XP میں ترقی دو اہم دوروں میں کام کرتی ہے: ہفتہ وار سائیکل اور سہ ماہی سائیکل۔ ابتدائی طور پر، کینٹ بیک نے دو ہفتے کے سائیکل کی سفارش کی، لیکن اپنی کتاب کے دوسرے ایڈیشن میں اسے تبدیل کر دیا۔

ہفتہ وار سائیکل: ہفتہ وار سائیکل XP پروجیکٹ کی "پلس" ہے۔ سائیکل ایک میٹنگ کے ساتھ شروع ہوتا ہے جس میں کلائنٹ منتخب کرتا ہے کہ وہ ہفتے کے دوران کون سی کہانیاں بنانا چاہتا ہے۔ مزید برآں، ٹیم ان کے کام کا جائزہ لیتی ہے، بشمول گزشتہ ہفتے کی پیش رفت، اور اپنے عمل کو بہتر بنانے کے طریقوں کے بارے میں سوچتی ہے۔

ماہانہ سائیکل: ہر ماہ، ٹیم اپنے عمل میں بہتری کے مواقع کی عکاسی کرتی ہے اور ان کی نشاندہی کرتی ہے۔ کلائنٹ ان تھیمز کے تجزیوں کے ساتھ اس مہینے کے لیے ایک یا زیادہ تھیمز کا انتخاب کرتا ہے۔

انتہائی پروگرامنگ کے ساتھ کام کیسے شروع کیا جائے؟
تکنیکی مہارتیں اور XP کی عادات سیکھنا مشکل ہو سکتا ہے۔ کچھ طرز عمل ان پروگرامرز کے لیے غیر ملکی لگ سکتے ہیں جو ان کے عادی نہیں ہیں۔

Ercole Palmeri

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

حالیہ مضامین

UK کے عدم اعتماد کے ریگولیٹر نے GenAI پر BigTech کا الارم بڑھا دیا۔

UK CMA نے مصنوعی ذہانت کے بازار میں بگ ٹیک کے رویے کے بارے میں ایک انتباہ جاری کیا ہے۔ وہاں…

اپریل 18 2024

کاسا گرین: اٹلی میں پائیدار مستقبل کے لیے توانائی کا انقلاب

عمارتوں کی توانائی کی کارکردگی کو بڑھانے کے لیے یورپی یونین کی طرف سے تیار کردہ "گرین ہاؤسز" فرمان نے اپنے قانون سازی کے عمل کو اس کے ساتھ ختم کیا ہے…

اپریل 18 2024

Casaleggio Associati کی نئی رپورٹ کے مطابق اٹلی میں ای کامرس +27%

اٹلی میں ای کامرس پر Casaleggio Associati کی سالانہ رپورٹ پیش کی۔ "AI-Commerce: The Frontiers of Ecommerce with Artificial Intelligence" کے عنوان سے رپورٹ۔

اپریل 17 2024

شاندار آئیڈیا: Bandalux Airpure® پیش کرتا ہے، وہ پردہ جو ہوا کو صاف کرتا ہے

مسلسل تکنیکی جدت اور ماحول اور لوگوں کی فلاح و بہبود کے عزم کا نتیجہ۔ Bandalux پیش کرتا ہے Airpure®، ایک خیمہ…

اپریل 12 2024

اپنی زبان میں انوویشن پڑھیں

انوویشن نیوز لیٹر
جدت پر سب سے اہم خبروں کو مت چھوڑیں۔ ای میل کے ذریعے انہیں وصول کرنے کے لیے سائن اپ کریں۔

ہمارے ساتھ چلیے