فائدہ:
- مبہم کاروباری درخواستوں کو واضح، قابل جانچ سافٹ ویئر کی ضروریات اور AI سپورٹ کے ساتھ صارف کی کہانیوں میں تبدیل کرنے کی صلاحیت
- سسٹم کے ڈیزائن، ڈیٹا ماڈل اور آرکیٹیکچرل فیصلوں کے فوائد اور نقصانات کا AI کے ساتھ منظم انداز میں موازنہ کرنے کی صلاحیت
- ضروریات، توسیع پذیری، اور رکاوٹوں کے خلاف AI کے مجوزہ ڈیزائن کی تنقیدی توثیق کرنے کی صلاحیت
سافٹ ویئر پروجیکٹس کی اکثریت خراب کوڈ کی وجہ سے نہیں بلکہ غلط فہمی کی ضروریات کی وجہ سے ناکام ہوتی ہے۔ "صارفین کو رپورٹیں ڈاؤن لوڈ کرنے دیں" جیسی ایک جملے کی درخواست درجنوں لا جواب سوالات چھوڑ جاتی ہے: کس فارمیٹ میں؟ انچارج کون ہے؟ کتنے ریکارڈ؟ اگر یہ سست ہے تو کیا ہوگا؟ تقاضوں کا تجزیہ (کاروباری درخواست کو واضح، قابل جانچ تکنیکی ضروریات میں ترجمہ کرنا) اور سافٹ ویئر ڈیزائن (ان ضروریات کو پورا کرنے کے لیے کاغذ پر ڈھانچہ بنانا) وہ مرحلہ ہے جہاں کوڈ لکھنے سے پہلے مہنگی ترین غلطیوں کو روکا جاتا ہے۔ اس یونٹ میں، ہم اس مرحلے پر AI کو ایک "تھوٹ پارٹنر" کے طور پر استعمال کرنا سیکھیں گے: ایک ایسا پارٹنر جو غیر یقینی صورتحال کو دور کرتا ہے، اختیارات کو ترتیب دیتا ہے، لیکن حتمی فیصلہ آپ پر چھوڑ دیتا ہے۔
AI یہاں دو بڑی قدریں پیدا کرتا ہے۔ سب سے پہلے، یہ سوالات پوچھتا ہے جو آپ چھوڑتے ہیں؛ یہ ایک درخواست میں پوشیدہ مفروضوں اور کنارے کے معاملات کو سطح پر لاتا ہے۔ دوسرا، یہ ڈیزائن کے فیصلے کے فوائد اور نقصانات کو تیزی سے ٹیبل کرتا ہے۔ لیکن یہ خطرہ ہے: AI آپ کے سیاق و سباق (بجٹ، ٹیم، موجودہ نظام، قانونی رکاوٹ) کو مکمل طور پر جانے بغیر "بہترین عمل" کے طور پر عمومی سفارشات دے گا۔ اس مشورے کو اپنی سچائی کے خلاف فلٹر کرنا آپ کا کام ہے۔
تصورات: صارف کی کہانی: ایک مختصر جملہ جس میں ضرورت کا اظہار "... جیسا کہ، میں اس قابل ہونا چاہتا ہوں کہ... کیونکہ..."۔ قبولیت کا معیار: قابل امتحان شرائط جو کسی کام کو "ہو گیا" سمجھا جانے کے لیے پورا کرنا ضروری ہے۔ غیر فعال تقاضے: "یہ کیا کرے گا" کے بجائے "یہ کیسے برتاؤ کرے گا" سے متعلق تقاضے، جیسے رفتار، سیکورٹی، اسکیل ایبلٹی۔
مبہم درخواست سے قابل امتحان ضرورت تک
ایک اچھی ضرورت قابل پیمائش اور قابل تصدیق ہے۔ "نظام کو تیز ہونے دو" نہیں بلکہ "تلاش کے نتائج 500 ms کے اندر واپس آنے دیں"۔ غیر یقینی صورتحال کو کم کرنے کے لیے AI کا استعمال کرنے کا مرحلہ وار طریقہ یہ ہے:
- درخواست کو ویسا ہی دیں اور سوال پیدا کریں۔ AI سے حل کے لیے نہیں بلکہ سب سے پہلے "اس درخواست میں غیر واضح کسی بھی چیز کو بطور سوال درج کرنے کے لیے کہیں۔"
- آپ جوابات دیں۔ صرف آپ سیاق و سباق جانتے ہیں؛ اپنی حقیقی کاروباری رکاوٹوں کے ساتھ AI کے سوالات کا جواب دیں۔
- اس کا ترجمہ صارف کی کہانیوں اور قبولیت کے معیار میں کروائیں۔ واضح ضرورت کو جانچنے کے قابل اشیاء میں ترجمہ کریں۔
- ایج کیسز اور منفی منظرنامے شامل کریں۔ "خالی نتیجہ"، "غیر مجاز صارف"، "بہت بڑی فائل" وغیرہ۔
ابہام نکالنے کا اشارہ: "ہم مندرجہ ذیل کاروباری درخواست کا سافٹ ویئر کی ضرورت میں ترجمہ کریں گے۔ ابھی تک کوئی حل تجویز نہ کریں۔ پہلے، تمام ابہام اور پوشیدہ مفروضوں کو نکالیں جن کا جواب اس درخواست میں سوالوں کی فہرست کے طور پر نہیں دیا گیا ہے۔ سوالات کو درج ذیل عنوانات کے تحت گروپ کریں: دائرہ کار، صارف/اختیار، ڈیٹا کا حجم، کارکردگی، خرابی کی شرائط، سلامتی کی رپورٹ کے طور پر صارفین کی درخواست کو ڈاؤن لوڈ کریں۔
صارف کی کہانی + قبولیت کے معیار کا اشارہ: "مندرجہ ذیل واضح ضرورت کو صارف کی کہانیوں میں تقسیم کریں جو INVEST اصولوں کی تعمیل کرتی ہیں۔ ہر کہانی کے لیے 3-5 قابل قبول قبولیت کے معیارات لکھیں (دیئے گئے-جب-پھر فارمیٹ میں)۔ کم از کم 2 منفی منظرنامے شامل کریں (غیر مجاز رسائی، خالی ڈیٹا)۔ ضرورت ہے: [لکھیں کی ضرورت ہے]"
AI کے ساتھ ڈیزائن کے فیصلوں کا موازنہ کرنا
ڈیزائن ایک مستقل تجارت ہے: رفتار بمقابلہ لچک، سادگی بمقابلہ اسکیل ایبلٹی؟ AI ان ٹریڈ آف کو فوری اسپریڈشیٹ میں رکھتا ہے۔ مثال کے طور پر، "اطلاع بھیجیں" کی خصوصیت کے لیے، آپ اس بات پر بحث کر سکتے ہیں کہ آیا ہم وقت ساز (درخواست پر بھیجیں) یا غیر مطابقت پذیر (قطار، پس منظر میں بھیجیں) اپروچ استعمال کریں۔
ڈیزائن موازنہ پرامپٹ: "میں ایک 'صارف کو ای میل اطلاع بھیجیں' خصوصیت ڈیزائن کر رہا ہوں۔ دو طریقوں کا موازنہ کریں: (A) HTTP درخواست کے دوران ہم وقت ساز ترسیل، (B) پیغام کی قطار میں رکھ کر پس منظر میں غیر مطابقت پذیر ترسیل۔ درج ذیل محوروں پر ایک میز بنائیں: صارف کے انتظار کا وقت، غلطی کی رواداری، پیچیدگی، بنیادی ڈھانچے میں مشکل، S. میں آخر میں کس کا انتخاب کروں گا اس معاملے میں میرے لئے فیصلہ نہ کریں۔"
محور
ہم وقت ساز ٹرانسمیشن
متضاد (قطار)
صارف کا انتظار کا وقت
طویل (شپمنٹ کا انتظار)
مختصر (فوری واپسی)
غلطی کی رواداری
کم (اگر بھیجیں پھٹ جائے تو درخواست پھٹ جاتی ہے)
اعلی (دوبارہ کوشش ممکن ہے)
پیچیدگی
کم
درمیانے درجے کا (قطار کا بنیادی ڈھانچہ)
انفراسٹرکچر کی لاگت
کم
اضافی اجزاء کی ضرورت ہے۔
جہاں یہ فٹ بیٹھتا ہے۔
کم حجم، سادہ درخواست
اعلی حجم، اہم ترسیل
ٹپ: AI کو بتانا کہ "میرے لیے فیصلہ نہ کریں، بس مجھے آپشنز اور شرائط دکھائیں" آپ کو سوچنے پر مجبور کرتا ہے اور کسی تجویز کو آنکھیں بند کرکے قبول کرنے کے خطرے کو کم کرتا ہے۔ بہترین ڈیزائن کا فیصلہ وہ شخص ہے جو آپ کے سیاق و سباق کو جانتا ہے (آپ)۔
کمزور پرامپٹ / مضبوط اشارہ
کمزور: "آرڈر سسٹم کے لیے ایک ڈیٹا بیس ڈیزائن کریں۔" (نتیجہ: کون سا پیمانہ، کون سے رشتے، کون سی رکاوٹیں واضح نہیں ہیں؛ ایک عام، غیر حقیقی اسکیم۔) مضبوط: "چھوٹے ای کامرس کے لیے ایک ڈرافٹ ڈیٹا ماڈل تجویز کریں۔ ہستی: کسٹمر، آرڈر، پروڈکٹ، آرڈر آئٹم۔ رکاوٹیں: ایک آرڈر میں بہت سے پروڈکٹس ہو سکتے ہیں؛ پروڈکٹ کی قیمت وقت کے ساتھ ساتھ تبدیل ہو سکتی ہے، لیکن موجودہ آرڈر کے مطابق موجودہ قیمت ~00 کے حساب سے موجودہ آرڈر کے مطابق ہونی چاہیے۔ متوقع تعلقات اور کیوں کہ "اس کی وضاحت کریں کہ آپ نے فیصلہ کیا ہے۔ وضاحت کریں کہ آپ نے قیمت کی تاریخ کا مسئلہ کیسے حل کیا۔ اسے اداروں اور فیلڈز کی فہرست کے طور پر دیں، کوڈ نہیں۔"
ایک طاقتور پرامپٹ کا فرق؛ پیمانہ (فی دن 500 آرڈرز)، کاروباری اصول (ماضی کی قیمت کو برقرار رکھنا ضروری ہے) اور مطلوبہ آؤٹ پٹ فارمیٹ۔ ایک جملہ جیسا کہ "ماضی کی قیمت برقرار رکھی جانی چاہیے" ڈیزائن کو مکمل طور پر بدل دیتا ہے۔ اگر آپ اس کی وضاحت نہیں کرتے ہیں تو، AI ایک غلط لیکن قابل فہم نظر آنے والا خاکہ تیار کرے گا۔
چھوٹے کیسز
کیس 1 - پوشیدہ مفروضہ۔ ایک ٹیم براہ راست "صارف پروفائل فوٹو اپ لوڈ کر سکتے ہیں" کی درخواست کو کوڈ کرتی ہے۔ ایک اور ٹیم نے AI سے غیر یقینی صورتحال کے بارے میں پوچھا: "زیادہ سے زیادہ سائز؟ اجازت شدہ فارمیٹس؟ نامناسب مواد کنٹرول؟ پرانی تصویر کو حذف کریں؟" یہ 8 سوالات پیدا کرتا ہے۔ پہلی ٹیم کو پیداوار میں مسئلہ کے بارے میں معلوم ہوتا ہے جب 20 MB فائلیں سرور کو بھرتی ہیں۔ دوسری ٹیم اسے ڈیزائن میں حل کرتی ہے۔
کیس 2 - پیمانے کا غلط اندازہ۔ AI رپورٹنگ کی خصوصیت کے لیے ایک پیچیدہ کیشنگ پرت تجویز کرتا ہے۔ جب انجینئر نشاندہی کرتا ہے کہ حقیقی ڈیٹا صرف 30 رپورٹس فی دن ہے، تو AI تجویز کو آسان بنا دیتا ہے۔ پیمانے کی وضاحت نہ کرنے سے غیر ضروری پیچیدگی کی لاگت آتی ہے۔ وضاحت کرنے سے 2 ہفتوں کے غیر ضروری کام کی بچت ہوتی ہے۔
کیس 3 - قبولیت کے معیار کا فرق۔ "اگر ادائیگی ناکام ہو جائے تو کیا ہوگا؟" چونکہ سوال کبھی نہیں پوچھا گیا تھا، اس لیے آرڈر سسٹم اب بھی ناکام ادائیگی کی صورت میں آرڈر کو "تصدیق شدہ" کے طور پر نشان زد کرے گا۔ AI کے ذریعہ تیار کردہ منفی منظرناموں کی فہرست اس فرق کو پورا کرتی ہے۔ 1 لائن قبولیت کا معیار حقیقی رقم کے نقصان کو روکتا ہے۔
عام غلطیاں
- درخواست کو براہ راست کوڈ پر منتقل کرنا۔ ابہام کے حل ہونے سے پہلے لکھا گیا کوڈ غلط مسئلہ کو جلد حل کرتا ہے۔
- AI کی عمومی "بہترین مشق" کو آنکھ بند کر کے لینا۔ اگر آپ اپنا سیاق و سباق (پیمانہ، بجٹ، ٹیم) نہیں بتاتے ہیں تو یہ تجویز آپ کے لیے کام نہیں کرے گی۔
- غیر فعال تقاضوں کو چھوڑنا۔ اگر رفتار، سیکورٹی اور پیمانے کی وضاحت نہیں کی گئی ہے تو، ڈیزائن نامکمل ہو جائے گا.
- صرف خوشگوار منظر نامے کے بارے میں سوچنا۔ منفی منظرنامے جیسے خالی ڈیٹا، غیر مجاز صارف، غلطی کی حیثیت کو ڈیزائن میں شامل کیا جانا چاہیے۔
- فیصلہ AI کو سونپنا۔ AI اختیارات پیدا کرتا ہے۔ آپ فیصلہ کرتے ہیں کہ کون سا تجارت آپ کے کاروبار کے لیے موزوں ہے۔
خلاصہ میں
تقاضوں کا تجزیہ اور ڈیزائن وہ مرحلہ ہے جہاں سب سے سستی غلطیاں پکڑی جاتی ہیں۔ یہاں، AI ایسے سوالات پیدا کرتا ہے جو غیر یقینی صورتحال کو ظاہر کرتے ہیں، صارف کی کہانیوں اور قبولیت کے معیارات کا مسودہ تیار کرتے ہیں، اور چارٹ ڈیزائن ٹریڈ آف۔ لیکن سیاق و سباق کو صرف آپ ہی جانتے ہیں۔ یہ آپ کا کام ہے کہ آپ اپنے پیمانے، بجٹ، ٹیم اور قانونی رکاوٹوں کی بنیاد پر AI کی سفارشات کو فلٹر کریں اور حتمی فیصلہ کریں۔ "میرے لیے فیصلہ نہ کریں، مجھے آپشنز دکھائیں" کا نظم و ضبط بہتر ڈیزائن اور گہری سیکھنے دونوں کی طرف لے جاتا ہے۔
درخواست کا کام
اپنے سیاق و سباق سے ایک جملے کی نوکری کی درخواست کا انتخاب کریں۔ سب سے پہلے، AI پر ابہام کا اشارہ لاگو کریں اور اپنی حقیقی رکاوٹوں کے ساتھ سوالات کے جوابات دیں۔ پھر واضح ضرورت کو کم از کم 2 صارف کی کہانیوں اور ہر ایک کے لیے 3 قبولیت کے معیار میں ترجمہ کریں۔ کم از کم 1 منفی منظر نامہ شامل کریں۔ آخر میں، ڈیزائن کے فیصلے کے لیے ایک موازنہ ٹیبل بنائیں (مطابقت پذیر/متضاد، ٹیبل کی ساخت، وغیرہ) اور 2 جملوں میں اپنا فیصلہ لکھیں۔
چیک لسٹ
- درخواست کو کوڈ میں منتقل کرنے سے پہلے میں نے سوالات کے طور پر ابہام کو دور کر دیا۔
- میں نے سیاق و سباق (پیمانہ، اختیار، کارکردگی، قانونی رکاوٹ) AI کو دیا۔
- میں نے صارف کی کہانیوں کو قابل قبول قبولیت کے معیار میں توڑ دیا۔
- [ ] میں نے کم از کم ایک نیچے کی طرف / کنارے کا منظر نامہ شامل کیا۔
- میں نے ٹریڈ آف ٹیبل کے ساتھ ڈیزائن کے فیصلے کا جائزہ لیا۔
- میں نے اپنے سیاق و سباق کی بنیاد پر حتمی فیصلہ کیا، میں نے اسے AI پر نہیں چھوڑا۔