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