ہر ماہ دس تاریخ کے آس پاس، اکاؤنٹنگ ٹیم ایک ہی طرح کی درخواست بھیجتی ہے۔ انہیں ہر کلائنٹ سے پانچ فائلیں درکار ہوتی ہیں: بینک اسٹیٹمنٹ، رسیدوں کا آرکائیو، پے رول رپورٹ، سیلز کا خلاصہ، اور انوینٹری کی دستاویز۔ ٹیمپلیٹ دوستانہ، درست اور آزمودہ ہے۔ یہ کلائنٹ کو نام سے مخاطب کرتا ہے، فائلوں کی فہرست دیتا ہے، اور ایک واضح ڈیڈ لائن فراہم کرتا ہے۔ پہلی بار بھیجنے پر، یہ کام کرتا ہے۔ کلائنٹ ایک منظم فہرست دیکھتا ہے اور جواب دیتا ہے۔
مسئلہ دوسری ای میل سے شروع ہوتا ہے۔
تصور کریں کہ ایک کلائنٹ چار فائلیں بھیجتا ہے۔ پانچویں بینک اسٹیٹمنٹ کبھی نہیں آتی۔ رسیدوں کا آرکائیو تو مل جاتا ہے، لیکن وہ غلط مہینے کا ہوتا ہے، اس لیے ٹیم اسے مسترد کر دیتی ہے۔ پے رول رپورٹ درحقیقت تین دن پہلے Slack پر آ چکی ہوتی ہے اور کسی نے اسے پہلے ہی فائل کر دیا ہوتا ہے۔ انوینٹری کی دستاویز اس کلائنٹ کے لیے بالکل بھی ضروری نہیں ہے، یہ ایک ایسی تفصیل ہے جس کا آپ کو پہلے پیغام بھیجنے کے بعد پتہ چلتا ہے۔ اگر آپ اصل ٹیمپلیٹ دوبارہ بھیجتے ہیں، تو آپ دوبارہ پانچ فائلوں کا مطالبہ کرتے ہیں۔ ان میں سے چار درخواستیں اب بے معنی ہیں۔ ایک درخواست تو جان بوجھ کر گمراہ کن ہے۔ الفاظ ٹھیک ہیں، لیکن ای میل میں یادداشت کا فقدان ہے۔
ایک ای میل ٹیمپلیٹ ناموں، تاریخوں اور ہدایات کو اچھی طرح سنبھال لیتا ہے۔ کسی چھوٹی، ایک بار کی درخواست کے لیے، یہ عام طور پر کافی ہوتا ہے۔ ایک شخص میل بھیجتا ہے، کلائنٹ جواب دیتا ہے، اور وہی شخص کام مکمل کر دیتا ہے۔ اس کا تمام ریکارڈ ایک ہی ذہن اور ایک ہی ان باکس میں ہوتا ہے۔
مسائل تب شروع ہوتے ہیں جب اگلا پیغام ان واقعات پر منحصر ہو جو پہلی ای میل کے بعد پیش آئے ہوں۔ ٹیمپلیٹ اب بھی اصل فہرست دکھاتا ہے۔ اسے معلوم نہیں ہوتا کہ کل بینک اسٹیٹمنٹ موصول ہو گئی ہے۔ اسے معلوم نہیں ہوتا کہ پے رول رپورٹ مسترد کر دی گئی ہے۔ وہ ڈیٹا ایک ان باکس میں، یا شاید کئی ان باکسز میں ہوتا ہے، اور یاد دہانی (reminder) بھیجنے والی ایپلی کیشن کے پاس اسے پڑھنے کا کوئی طریقہ نہیں ہوتا۔
جب صرف "اوپن" (Open) ہونا کافی نہ ہو
اگر آپ پوری درخواست کو صرف ایک اسٹیٹس جیسے کہ "اوپن" کے طور پر ٹریک کرتے ہیں، تو آپ اہم تفصیلات کھو دیتے ہیں۔ اشیاء آزادانہ طور پر حرکت کرتی ہیں۔ ہر ایک کو اپنی الگ حالت (state) کی ضرورت ہوتی ہے تاکہ اگلی بات چیت درست ہو سکے:
- Bank statement: نامکمل۔ کلائنٹ نے اسے نہیں بھیجا۔
- Receipt archive: اپ لوڈ ہو گیا ہے لیکن ابھی تک جائزہ نہیں لیا گیا۔ یہ ایک فولڈر میں اندرونی چیک کا انتظار کر رہا ہے۔
- Payroll report: مسترد شدہ۔ کلائنٹ نے کچھ بھیجا تو تھا، لیکن وہ غلط فارمیٹ یا غلط تنخواہ کے دورانیے کا تھا۔
- Sales report: کسی دوسرے ذریعے سے موصول ہوئی۔ یہ Slack، فون کال، یا ڈاک کے ذریعے آیا، اور آپ کی ٹیم اسے پہلے ہی درج کر چکی ہے۔
- Inventory document: لاگو نہیں ہوتا۔ اس کلائنٹ کو اسے فراہم کرنے کی ضرورت نہیں ہے، اور سسٹم کو اب اس کا مطالبہ بند کر دینا چاہیے۔
اس تفصیل کے بغیر، آپ کی یاد دہانی اندھی ہے۔ یہ ایک گم شدہ فائل اور ایک مسترد شدہ فائل کے ساتھ ایک جیسا سلوک کرتی ہے۔ یہ اس فائل کے ساتھ ایسا سلوک کرتی ہے جو پہلے ہی موصول ہو چکی ہے، جیسے کہ وہ کبھی آئی ہی نہ ہو۔ اس سے کلائنٹ کا وقت ضائع ہوتا ہے اور اعتماد کم ہوتا ہے۔ دو یا تین غیر متعلقہ یاد دہانیوں کے بعد، کلائنٹ اسے سرسری طور پر دیکھتے ہیں۔ وہ سمجھ لیتے ہیں کہ آپ کا سسٹم خراب ہے۔
صرف وہی بنائیں جس کی ضرورت ہے
سب سے پہلے ایک بہت بڑا رولز انجن (rules engine) نہ بنائیں۔ آپ کو پہلے دن ہی بیس مختلف شرائط والے ورک فلو آٹومیشن کی ضرورت نہیں ہے۔ صرف اتنا ڈیٹا ٹریک کرنے سے شروع کریں جو ایک سوال کا جواب دے سکے: کلائنٹ کی طرف سے اب کس چیز پر کارروائی کی ضرورت ہے؟
ہر مطلوبہ چیز کے لیے ایک پائیدار نتیجہ درکار ہوتا ہے۔ اس کا مطلب ہے ایک ایسا ریکارڈ جو ای میل تھریڈ سے باہر ہو، ایسی جگہ جہاں ایپلی کیشن اگلا پیغام تیار کرتے وقت اسے پڑھ سکے۔ ریکارڈ کا پیچیدہ ہونا ضروری نہیں ہے۔ یہ ایک سادہ سا منظم ٹیبل بھی ہو سکتا ہے جس میں آئٹم کا نام، اس کی موجودہ حالت، ٹائم اسٹیمپ، اور ایک مختصر نوٹ ہو۔ اہم بات یہ ہے کہ ڈیٹا ان باکس سے باہر محفوظ رہے۔
یہ ای میل کے کردار کو بدل دیتا ہے۔ ٹیمپلیٹ اب بھی لہجے اور ساخت کو کنٹرول کرتا ہے۔ خوش آمدید کہنے کا انداز گرمجوشی والا اور ہدایات واضح رہتی ہیں۔ لیکن دستاویزات کی فہرست 'ریکویسٹ ڈیٹا' سے ہونی چاہیے۔ یاد دہانی اب ایک کوئری (query) بن جاتی ہے۔ آپ فہرست کو فلٹر کرتے ہیں تاکہ صرف وہی چیزیں دکھائیں جن پر کلائنٹ کی طرف سے کارروائی کی ضرورت ہو۔ آپ ان چیزوں کو نکال دیتے ہیں جو اندرونی جائزے کا انتظار کر رہی ہیں، اور ان چیزوں کو بھی نکال دیتے ہیں جو پہلے ہی قبول ہو چکی ہیں۔
اگر کوئی اپ لوڈ مسترد کر دیا گیا ہو، تو یاد دہانی میں اس کا ذکر ہونا چاہیے اور وجہ بھی بتانی چاہیے۔ اسے خاموشی سے دستاویز کو عام فہرست میں دوبارہ شامل نہیں کرنا چاہیے جیسے کہ کلائنٹ اسے بھیجنا بھول گیا ہو۔ کلائنٹ جانتا ہے کہ اس نے کچھ اپ لوڈ کیا ہے؛ اس کے برعکس ظاہر کرنا آپ کو غیر منظم دکھاتا ہے۔
ہینڈ آف ٹیسٹ (The Handoff Test)
یہ جاننے کا ایک سادہ طریقہ ہے کہ آیا آپ کو اس اضافی ڈیٹا ماڈل کی ضرورت ہے یا نہیں۔ خود سے پوچھیں:
کیا ٹیم کا کوئی دوسرا رکن پوری ای میل تھریڈ پڑھے بغیر اس درخواست کو سنبھال سکتا ہے؟
For a single file, the answer does not matter. For recurring monthly requests with many moving parts, it matters a lot. If the primary contact is on vacation, can a colleague see in seconds what is missing? Can a manager tell whether a client is caught up without opening ten emails and three shared folders? If the only place a rejection is recorded is the fourth message in a thread, buried under signatures and forwards, then your system is forcing humans to do work a database should do.
Templates improve the message. A tracked request preserves the history. One handles how you speak. The other handles what you know.
Queries, Not Scripts
Once you have item-level states, generating the email shifts from scripting to querying. Before, you wrote a paragraph and hoped it was still accurate. Now you ask your data: which of these items still need client action? You compose the reminder around that filtered list. If nothing needs action, you do not send a reminder at all. If two items need action and one was rejected for a specific reason, the email builds itself around those facts.
This
