ہیلو. آخری دو انٹرویوز میں مجھ سے طریقہ کار کے بارے میں پوچھا گیا۔ یہ سب سے اہم یا مشکل سوال نہیں ہے، لیکن جواب کے لیے ایک چیٹ شیٹ رکھنا اچھا ہوگا۔ اس مضمون میں میں یہ بتانے کی کوشش کروں گا کہ ترقی کا طریقہ کار کیا ہے اور ان کا موازنہ کروں گا جن سے میں ذاتی طور پر ملا ہوں یا ان کے بارے میں پوچھا گیا ہو۔ سافٹ ویئر ڈویلپمنٹ کا طریقہ کار یہ بیان کرنے کا عمل ہے کہ ایک مخصوص پروڈکٹ کو کس طرح تیار کیا جائے گا، یعنی ٹیم کی ترقی کو منظم کرنے کا ایک طریقہ۔ اس طرح کے عمل کے بہت سے مختلف ماڈلز ہیں، جن میں سے ہر ایک اپنا نقطہ نظر بیان کرتا ہے، اور یہ نہیں کہا جا سکتا کہ ان میں سے ایک ہے جسے ہر پروجیکٹ میں استعمال کرنے کی ضرورت ہے، ہر چیز خالصتاً حالات کے مطابق ہے۔ میں ان میں سے تین پر مزید تفصیل سے غور کرنے کی تجویز کرتا ہوں۔
آبشار
آبشار (کاسکیڈ، آبشار) قدیم ترین طریقوں میں سے ایک ہے اور تمام مراحل کے سخت ترتیب وار نفاذ کا مطلب ہے، جن میں سے ہر ایک کو اگلے مرحلے کے شروع ہونے سے پہلے مکمل کرنا ضروری ہے۔ یعنی اگلے مرحلے میں منتقلی کا مطلب ہے پچھلے مرحلے پر کام کی مکمل تکمیل۔ تصویر سے پتہ چلتا ہے کہ پہلے ہم کام کا تجزیہ کرتے ہیں (دستاویزی کام، مشکلات پر بحث کرتے ہیں)، پھر ڈیزائن ہوتا ہے (اس مرحلے پر پروجیکٹ کا ڈھانچہ بنتا ہے)، پھر کوڈنگ اور ٹیسٹنگ۔ بعد کے مراحل کے لیے کوئی رقم کی واپسی نہیں ہے۔ ایسے نظام کو چھوٹے منصوبوں میں استعمال کرنے کی سفارش کی جاتی ہے جہاں ضروریات کا پہلے سے علم ہو اور ان میں تبدیلی کا امکان بہت کم ہو۔ فوائد:- ہر مرحلے پر مکمل اور مستقل دستاویزات؛
- استعمال میں آسانی؛
- مستحکم ضروریات۔
- بجٹ اور ڈیڈ لائن پہلے سے متعین ہیں۔
- دستاویزات کی ایک بڑی رقم؛
- بہت لچکدار نظام نہیں ہے؛
- کلائنٹ پروڈکٹ کا ڈیمو ورژن نہیں دیکھ سکتا۔
- ایک قدم پیچھے ہٹنے کا کوئی راستہ نہیں ہے۔
سکرم
سکرم ایک سافٹ ویئر ڈویلپمنٹ سسٹم ہے جو پورے عمل کو تکرار میں تقسیم کرنے پر مبنی ہے، جہاں ان میں سے ہر ایک کے اختتام پر ٹیم پروڈکٹ کا ڈیمو ورژن فراہم کرنے کے لیے تیار ہے۔ تصویر سے پتہ چلتا ہے کہ ٹیم متوازی طور پر ترقی کے تمام مراحل سے گزرتی ہے، جو ہمیں ہر تکرار کے اختتام پر پروجیکٹ کا مکمل حصہ حاصل کرنے کی اجازت دیتی ہے۔ میں سادہ الفاظ میں طریقہ کار کے جوہر کو مختصراً بیان کرنے کی کوشش کروں گا، لیکن یہاں بہت سی اصطلاحات ہیں۔ میرے خیال میں سب سے اہم چیز جوہر کو سمجھنا ہے، اور شرائط کو تجربے کے ساتھ یاد رکھا جائے گا۔ تمام ترقی کو سپرنٹ میں تقسیم کیا جاتا ہے (اکثر 2-3 ہفتے)۔ پوری ترقی کی مدت کے لیے اور ہر سپرنٹ کے لیے الگ سے ایک بیک لاگ (کاموں کی فہرست) ہے ۔ ہر کام کا اپنا اسٹوری پوائنٹ ہوتا ہے (مشکل درجہ بندی)۔ اس عمل میں ہر شریک کا کردار ہے:- سکرم ٹیم ایک ٹیم ہے جو کسی پروجیکٹ پر کام کر رہی ہے (ڈیولپرز، ٹیسٹرز، ڈیزائنرز)۔
- سکرم ماسٹر وہ شخص ہوتا ہے جو اس بات کو یقینی بناتا ہے کہ اسکرم کے اصولوں پر عمل کیا جائے۔
- پروڈکٹ کا مالک - گاہک۔
- اسٹینڈ اپ ایک مختصر میٹنگ ہے، جو ہر روز منعقد ہوتی ہے، ٹیم کے تمام اراکین حصہ لیتے ہیں اور ہر شریک 3 سوالوں کے جواب دیتا ہے: آپ نے کیا کیا؟ یہ کیا کرے گا؟ اور بلاکرز کیا ہیں؟
- منصوبہ بندی - سپرنٹ کے آغاز میں منعقد کی جاتی ہے اور اس میٹنگ میں یہ طے کیا جاتا ہے کہ اگلے سپرنٹ میں کون سے کام مکمل کیے جائیں۔
- ریٹرو اسپیکٹیو سپرنٹ کے اختتام پر منعقد ہوتا ہے اور اس کا جوہر یہ معلوم کرنا ہے کہ کیا اچھا کیا گیا اور کیا بہتر کیا جا سکتا ہے۔
- صارف ترقی کے عمل کے دوران نتیجہ دیکھ سکتا ہے۔
- ترقی کے عمل پر روزانہ کنٹرول۔
- ترقی کے دوران ایڈجسٹمنٹ کرنے کی صلاحیت۔
- ٹیم کے تمام ارکان کے ساتھ اچھی طرح سے مواصلت۔
- دستاویزات کی چھوٹی مقدار۔
- ترقی کے لیے درکار مزدوری اور لاگت کا اندازہ لگانا مشکل ہے۔
- ترقی شروع ہونے سے پہلے سب سے بڑی رکاوٹوں کا تعین کرنا مشکل ہے۔
- دوسرے ٹیم کے ارکان کی ترقی میں سب کو شامل کرنے کی ضرورت ہے.
کنبن
کنبان ایک ایسا نظام ہے جو ٹیم کے کاموں کو مکمل کرنے کے عمل کو تصور کرنے پر بنایا گیا ہے۔ اس نظام کا بنیادی خیال فی الحال انجام دیئے جانے والے کاموں کی تعداد کو کم کرنا ہے ("ترقی میں" کالم میں)۔ سکرم میں، ٹیم کامیابی سے سپرنٹ مکمل کرنے پر مرکوز ہے؛ کنبن میں، کام پہلے آتے ہیں۔ ان پروجیکٹس کے لیے اچھا ہے جو سپورٹ کے مرحلے میں ہیں، جہاں بنیادی فعالیت پہلے ہی تیار کی جا چکی ہے اور کم سے کم بہتری اور بگ فکسنگ باقی ہے۔ کنبن میں، کام انفرادی طور پر جمع کیے جاتے ہیں۔ ٹاسک، دیگر کاموں سے قطع نظر، بورڈ پر تمام مراحل سے گزرتا ہے اور جیسے ہی یہ مکمل ہوتا ہے اسے کسٹمر کو دکھایا جا سکتا ہے۔ کانبان بورڈ کالموں پر مشتمل ہوتا ہے، جن میں سے ہر ایک الگ ترقیاتی عمل کی نمائندگی کرتا ہے۔ کچھ کالم (مثال کے طور پر، جاری ہے) ان کاموں کی تعداد پر پابندیاں لگاتے ہیں جو وہاں ہو سکتے ہیں۔ یہ کاموں کی تقسیم میں آسانی سے اور فوری طور پر مسائل کے علاقوں کو تلاش کرنے میں مدد کرتا ہے۔ تصویر اس طرح کے ایک سادہ بورڈ کی مثال دکھاتی ہے۔ کالموں اور ناموں کی تعداد مختلف ہو سکتی ہے، لیکن میں سب سے عام کا نام دوں گا:- کرنے کے لئے - کاموں کی فہرست جو کرنے کی ضرورت ہے۔
- جاری ہے - وہ کام جن پر فی الحال کام کیا جا رہا ہے۔
- کوڈ کا جائزہ – وہ کام جو مکمل ہو چکے ہیں اور نظرثانی کے لیے بھیجے گئے ہیں۔
- جانچ میں - جانچ کے لیے تیار کام
- ہو گیا - مکمل کام۔
- استعمال میں آسانی.
- تصور (رکاوٹوں کو تلاش کرنے میں مدد کرتا ہے، سمجھ کو آسان بناتا ہے)
- عمل میں اعلیٰ ٹیم کی شمولیت۔
- ترقی میں اعلی لچک۔
- غیر مستحکم کام کی فہرست۔
- طویل مدتی منصوبوں پر استعمال کرنا مشکل ہے۔
- کوئی سخت ڈیڈ لائن نہیں۔
GO TO FULL VERSION